]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/ChangeLog
cp-tree.h (identifier_p): New.
[thirdparty/gcc.git] / gcc / ChangeLog
CommitLineData
6f37411d
MG
12013-03-21 Marc Glisse <marc.glisse@inria.fr>
2
3 * tree-pass.h (PROP_gimple_lvec): New.
4 * passes.c (dump_properties): Handle PROP_gimple_lvec.
5 (init_optimization_passes): Move pass_lower_vector.
6 * tree-vect-generic.c (gate_expand_vector_operations_ssa): Test
7 PROP_gimple_lvec.
8 (pass_lower_vector): Provide PROP_gimple_lvec.
9 (pass_lower_vector_ssa): Likewise.
10 * cfgexpand.c (pass_expand): Require PROP_gimple_lvec.
11
511ef689
MW
122013-03-21 Mark Wielaard <mjw@redhat.com>
13
14 * dwarf2out.c (size_of_aranges): Skip DECL_IGNORED_P functions.
15
cc1df30b
UB
162013-03-21 Uros Bizjak <ubizjak@gmail.com>
17
18 * config/i386/i386.md (*movdi_internal): Disparage slightly
19 all MMX moves to/from memory. Use Yi instead of x for SSE-MMX
20 conversion alternatives.
21
c845cfe1
JJ
222013-03-21 Jakub Jelinek <jakub@redhat.com>
23
37e99116
JJ
24 PR middle-end/48087
25 * diagnostic.def (DK_WERROR): New kind.
26 * diagnostic.h (werrorcount): Define.
27 * diagnostic.c (diagnostic_report_diagnostic): For DK_WARNING
28 promoted to DK_ERROR, increment DK_WERROR counter instead of
29 DK_ERROR counter.
30 * toplev.c (toplev_main): Call print_ignored_options even if
31 just werrorcount is non-zero. Exit with FATAL_EXIT_CODE
32 even if just werrorcount is non-zero.
33
c845cfe1
JJ
34 PR debug/55608
35 * dwarf2out.c (tree_add_const_value_attribute): Call ggc_free (array)
36 on failure.
37 (resolve_one_addr): Fail if referenced STRING_CST hasn't been written.
38 (string_cst_pool_decl): New function.
39 (optimize_one_addr_into_implicit_ptr): New function.
40 (resolve_addr_in_expr): Optimize DWARF location expression
41 DW_OP_addr DW_OP_stack_value where DW_OP_addr refers to some variable
42 which doesn't live in memory, but has DW_AT_location or
43 DW_AT_const_value, or refers to a string literal, into
44 DW_OP_GNU_implicit_pointer.
45 (optimize_location_into_implicit_ptr): New function.
46 (resolve_addr): If removing DW_AT_location of a variable because
47 it was DW_OP_addr of address of the variable, but the variable doesn't
48 live in memory, try to emit const value attribute for the initializer.
49
08e0cda6
MG
502013-03-21 Marc Glisse <marc.glisse@inria.fr>
51
52 * tree.h (VECTOR_TYPE_P): New macro.
53 (VECTOR_INTEGER_TYPE_P, VECTOR_FLOAT_TYPE_P, FLOAT_TYPE_P,
54 TYPE_MODE): Use it.
55 * fold-const.c (fold_cond_expr_with_comparison): Use build_zero_cst.
56 VEC_COND_EXPR cannot be lvalues.
57 (fold_ternary_loc) <VEC_COND_EXPR>: Merge with the COND_EXPR case.
58
d08633b4
MG
592013-03-21 Marc Glisse <marc.glisse@inria.fr>
60
61 * simplify-rtx.c (simplify_binary_operation_1) <VEC_CONCAT>:
62 Restrict the transformation to equal modes.
63
e6647190
RB
642013-03-21 Richard Biener <rguenther@suse.de>
65
66 PR tree-optimization/39326
67 * tree-ssa-loop-im.c (UNANALYZABLE_MEM_ID): New define.
68 (MEM_ANALYZABLE): Adjust.
69 (record_mem_ref_loc): Move bitmap ops ...
70 (gather_mem_refs_stmt): ... here. Use the shared mem-ref for
71 unanalyzable refs, do not record locations for it.
72 (analyze_memory_references): Allocate ref zero as shared
73 unanalyzable ref.
74 (refs_independent_p): Do not test for unanalyzed mems here.
75 (ref_indep_loop_p_1): Special-case disambiguation against
76 the unanalyzed ref.
cc1df30b 77 (ref_indep_loop_p): Assert we are not queried for the unanalyzed mem.
e6647190 78
65074f54
CL
792013-03-21 Christophe Lyon <christophe.lyon@linaro.org>
80
81 * config/arm/arm-protos.h (tune_params): Add
82 prefer_neon_for_64bits field.
83 * config/arm/arm.c (prefer_neon_for_64bits): New variable.
84 (arm_slowmul_tune): Default prefer_neon_for_64bits to false.
85 (arm_fastmul_tune, arm_strongarm_tune, arm_xscale_tune): Ditto.
86 (arm_9e_tune, arm_v6t2_tune, arm_cortex_tune): Ditto.
87 (arm_cortex_a15_tune, arm_cortex_a5_tune): Ditto.
88 (arm_cortex_a9_tune, arm_v6m_tune, arm_fa726te_tune): Ditto.
89 (arm_option_override): Handle -mneon-for-64bits new option.
90 * config/arm/arm.h (TARGET_PREFER_NEON_64BITS): New macro.
91 (prefer_neon_for_64bits): Declare new variable.
92 * config/arm/arm.md (arch): Rename neon_onlya8 and neon_nota8 to
cc1df30b 93 avoid_neon_for_64bits and neon_for_64bits. Remove onlya8 and nota8.
65074f54
CL
94 (arch_enabled): Handle new arch types. Remove support for onlya8
95 and nota8.
96 (one_cmpldi2): Use new arch names.
bc5faa5b 97 (zero_extend<mode>di2, extend<mode>di2): Ditto.
65074f54
CL
98 * config/arm/arm.opt (mneon-for-64bits): Add option.
99 * config/arm/neon.md (adddi3_neon, subdi3_neon, iordi3_neon)
100 (anddi3_neon, xordi3_neon, ashldi3_neon, <shift>di3_neon): Use
101 neon_for_64bits instead of nota8 and avoid_neon_for_64bits instead
102 of onlya8.
103 * doc/invoke.texi (-mneon-for-64bits): Document.
104
5a2d2a79
RB
1052013-03-21 Richard Biener <rguenther@suse.de>
106
107 PR tree-optimization/39326
108 * tree-ssa-loop-im.c (bb_loop_postorder): New global static.
109 (sort_bbs_in_loop_postorder_cmp): New function.
cc1df30b 110 (gather_mem_refs_in_loops): Assign mem-ref IDs in loop postorder.
5a2d2a79 111
5abe1e05
RB
1122013-03-21 Richard Biener <rguenther@suse.de>
113
114 * tree-vect-data-refs.c (vect_update_interleaving_chain): Remove.
115 (vect_insert_into_interleaving_chain): Likewise.
116 (vect_drs_dependent_in_basic_block): Inline ...
117 (vect_slp_analyze_data_ref_dependence): ... here. New function,
118 split out from ...
119 (vect_analyze_data_ref_dependence): ... here. Simplify.
120 (vect_check_interleaving): Simplify.
121 (vect_analyze_data_ref_dependences): Likewise. Split out ...
122 (vect_slp_analyze_data_ref_dependences): ... this new function.
123 (dr_group_sort_cmp): New function.
124 (vect_analyze_data_ref_accesses): Compute data-reference groups
125 here instead of in vect_analyze_data_ref_dependence. Use
126 a more efficient algorithm.
127 * tree-vect-slp.c (vect_slp_analyze_bb_1): Use
128 vect_slp_analyze_data_ref_dependences. Call
129 vect_analyze_data_ref_accesses earlier.
130 * tree-vect-loop.c (vect_analyze_loop_2): Likewise.
131 * tree-vectorizer.h (vect_analyze_data_ref_dependences): Adjust.
132 (vect_slp_analyze_data_ref_dependences): New prototype.
133
cad1735b
RB
1342013-03-21 Richard Biener <rguenther@suse.de>
135
136 * tree-ssa-loop-im.c (can_sm_ref_p): Do not test whether
137 ref is stored in the loop.
138 (find_refs_for_sm): Walk only over all stores.
139 (store_motion_loop): Allocate from lim_bitmap_obstack.
140 (store_motion): Likewise.
141
141310ef
RB
1422013-03-21 Richard Biener <rguenther@suse.de>
143
144 * tree-vect-loop-manip.c (slpeel_tree_peel_loop_to_edge):
145 Update virtual SSA form.
146
5022315a
RO
1472013-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
148
149 * configure.ac (gcc_cv_ld_eh_frame_ciev3): New test.
150 * configure: Regenerate.
151 * config.in: Regenerate.
152 * config/sol2.c (solaris_override_options): Only enforce DWARF 2
153 if !HAVE_LD_EH_FRAME_CIEV3.
154
50d4421c
RB
1552013-03-21 Richard Biener <rguenther@suse.de>
156
157 * tree-cfg.c (verify_expr_no_block): New function.
158 (verify_expr_location_1): Verify that neither DECL_DEBUG_EXPR
159 nor DECL_VALUE_EXPR have locations with associated blocks.
160 * tree-ssa-live.c (clear_unused_block_pointer_1): Remove.
161 (clear_unused_block_pointer): Remove code dealing with
162 blocks in DECL_DEBUG_EXPR locations.
163
839b422f
RB
1642013-03-21 Richard Biener <rguenther@suse.de>
165
166 * tree.h (DECL_DEBUG_EXPR_IS_FROM): Rename to ...
167 (DECL_HAS_DEBUG_EXPR_P): ... this. Guard properly.
168 * tree.c (copy_node_stat): Do not copy DECL_HAS_DEBUG_EXPR_P.
169 * dwarf2out.c (add_var_loc_to_decl): Use DECL_HAS_DEBUG_EXPR_P
170 instead of DECL_DEBUG_EXPR_IS_FROM.
171 * gimplify.c (gimplify_modify_expr): Likewise.
172 * tree-cfg.c (verify_expr_location_1): Likewise.
173 * tree-complex.c (create_one_component_var): Likewise.
174 * tree-sra.c (create_access_replacement): Likewise.
175 * tree-ssa-live.c (clear_unused_block_pointer_1): Likewise.
176 (clear_unused_block_pointer): Likewise.
177 * tree-streamer-in.c (unpack_ts_decl_common_value_fields): Likewise.
178 * tree-streamer-out.c (pack_ts_decl_common_value_fields): Likewise.
179 * var-tracking.c (var_debug_decl): Likewise.
180 (track_expr_p): Likewise.
181 * tree-inline.c (add_local_variables): Likewise. Set
182 DECL_HAS_DEBUG_EXPR_P after copying it.
183 * tree-diagnostic.c (default_tree_printer): Use DECL_HAS_DEBUG_EXPR_P
184 instead of DECL_DEBUG_EXPR_IS_FROM. Guard properly.
185
fe04878d
UB
1862013-03-21 Uros Bizjak <ubizjak@gmail.com>
187
188 PR bootstrap/56656
189 * configure.ac (HAVE_AS_IX86_INTERUNIT_MOVQ): New test.
190 * configure: Regenerate.
191 * config.in: Regenerate.
192 * config/i386/i386.md (*movdf_internal): Use
193 HAVE_AS_IX86_INTERUNIT_MOVQ to handle broken assemblers that require
194 movd instead of movq mnemonic for interunit moves.
195 (*movdi_internal): Ditto.
196
bd059b26 1972013-03-21 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
fa2e9a58
N
198
199 * config/aarch64/aarch64-simd.md (simd_fabd): New Attribute.
200 (abd<mode>_3): New pattern.
201 (aba<mode>_3): New pattern.
202 (fabd<mode>_3): New pattern.
203
bd059b26 2042013-03-21 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
50ce6f88
N
205
206 * config/aarch64/aarch64-elf.h (REGISTER_PREFIX): Remove.
207 * config/aarch64/aarch64.c (aarch64_print_operand): Remove all
208 occurrence of REGISTER_PREFIX as its empty string.
209
4f1f78b9
JL
2102013-03-20 Jeff Law <law@redhat.com>
211
212 * tree-ssa-dom.c (record_equivalences_from_incoming_edge): Record
213 addititional equivalences for equality comparisons between an SSA_NAME
214 and a constant where the SSA_NAME was set from a widening conversion.
215
327a1118
WL
2162013-03-20 Walter Lee <walt@tilera.com>
217
218 * config/tilegx/sync.md (atomic_test_and_set): New pattern.
219
813e0036
UB
2202013-03-20 Uros Bizjak <ubizjak@gmail.com>
221
222 * config/i386/i386.md (*movoi_internal_avx): Emit insn template
223 depending on type attribute.
224 (*movti_internal): Ditto.
225 (*movtf_internal): Ditto.
226 (*movxf_internal): Ditto.
227 (*movdf_internal): Ditto.
228 (*movsf_internal): Ditto.
229
7cf34aae
UB
2302013-03-20 Uros Bizjak <ubizjak@gmail.com>
231
232 * config/i386/i386.md (*movti_internal): Set prefix attribute to
233 maybe_vex for sselog1 and ssemov types.
234 (*movdi_internal): Reorder operand constraints.
235 (*movsi_internal): Ditto. Set prefix attribute to
236 maybe_vex for sselog1 and ssemov types.
237 (*movtf_internal): Set prefix attribute to maybe_vex
238 for sselog1 and ssemov types.
239 (*movdf_internal): Ditto. Set prefix_data16 attribute for
240 DImode ssemov types. Reorder operand constraints.
241 (*movsf_internal): Set type of alternatives 3,4 to imov. Set prefix
242 attribute to maybe_vex for sselog1 and ssemov types. Set prefix_data16
243 attribute for SImode ssemov types. Reorder operand constraints.
244
19321415
MJ
2452013-03-20 Martin Jambor <mjambor@suse.cz>
246
247 * params.def (PARAM_IPA_CP_ARRAY_INDEX_HINT_BONUS): New parameter.
248 * ipa-cp.c (hint_time_bonus): Add abonus for known array indices.
249
c6d5ff83
MM
2502013-03-20 Pat Haugen <pthaugen@us.ibm.com>
251
252 * config/rs6000/predicates.md (indexed_address, update_address_mem
253 update_indexed_address_mem): New predicates.
254 * config/rs6000/vsx.md (vsx_extract_<mode>_zero): Set correct "type"
255 attribute for load/store instructions.
256 * config/rs6000/dfp.md (movsd_store): Likewise.
257 (movsd_load): Likewise.
258 * config/rs6000/rs6000.md (zero_extend<mode>di2_internal1): Likewise.
259 (unnamed HI->DI extend define_insn): Likewise.
260 (unnamed SI->DI extend define_insn): Likewise.
261 (unnamed QI->SI extend define_insn): Likewise.
262 (unnamed QI->HI extend define_insn): Likewise.
263 (unnamed HI->SI extend define_insn): Likewise.
264 (unnamed HI->SI extend define_insn): Likewise.
265 (extendsfdf2_fpr): Likewise.
266 (movsi_internal1): Likewise.
267 (movsi_internal1_single): Likewise.
268 (movhi_internal): Likewise.
269 (movqi_internal): Likewise.
270 (movcc_internal1): Correct mnemonic for stw insn. Set correct "type"
271 attribute for load/store instructions.
272 (mov<mode>_hardfloat): Set correct "type" attribute for load/store
273 instructions.
274 (mov<mode>_softfloat): Likewise.
275 (mov<mode>_hardfloat32): Likewise.
276 (mov<mode>_hardfloat64): Likewise.
277 (mov<mode>_softfloat64): Likewise.
278 (movdi_internal32): Likewise.
279 (movdi_internal64): Likewise.
280 (probe_stack_<mode>): Likewise.
281
2822013-03-20 Michael Meissner <meissner@linux.vnet.ibm.com>
283
284 * config/rs6000/vector.md (VEC_R): Add 32-bit integer, binary
285 floating point, and decimal floating point to reload iterator.
286
287 * config/rs6000/constraints.md (wl constraint): New constraints to
288 return FLOAT_REGS if certain options are used to reduce the number
289 of separate patterns that exist in the file.
290 (wx constraint): Likewise.
291 (wz constraint): Likewise.
292
293 * config/rs6000/rs6000.c (rs6000_debug_reg_global): If
294 -mdebug=reg, print wg, wl, wx, and wz constraints.
295 (rs6000_init_hard_regno_mode_ok): Initialize new constraints.
296 Initialize the reload functions for 64-bit binary/decimal floating
297 point types.
298 (reg_offset_addressing_ok_p): If we are on a power7 or later, use
299 LFIWZX and STFIWX to load/store 32-bit decimal types, and don't
300 create the buffer on the stack to overcome not having a 32-bit
301 load and store.
302 (rs6000_emit_move): Likewise.
303 (rs6000_secondary_memory_needed_rtx): Likewise.
304 (rs6000_alloc_sdmode_stack_slot): Likewise.
305 (rs6000_preferred_reload_class): On VSX, we can create SFmode 0.0f
306 via xxlxor, just like DFmode 0.0.
307
308 * config/rs6000/rs6000.h (TARGET_NO_SDMODE_STACK): New macro,
309 define as 1 if we are running on a power7 or newer.
310 (enum r6000_reg_class_enum): Add new constraints.
311
312 * config/rs6000/dfp.md (movsd): Delete, combine with binary
313 floating point moves in rs6000.md. Combine power6x (mfpgpr) moves
314 with other moves by using conditional constraits (wg). Use LFIWZX
bd059b26 315 and STFIWX for loading SDmode on power7. Use xxlxor to create 0.0f.
c6d5ff83
MM
316 (movsd splitter): Likewise.
317 (movsd_hardfloat): Likewise.
318 (movsd_softfloat): Likewise.
319
320 * config/rs6000/rs6000.md (FMOVE32): New iterators to combine
321 binary and decimal floating point moves.
322 (fmove_ok): New attributes to combine binary and decimal floating
323 point moves, and to combine power6x (mfpgpr) moves along normal
324 floating moves.
325 (real_value_to_target): Likewise.
326 (f32_lr): Likewise.
327 (f32_lm): Likewise.
328 (f32_li): Likewise.
329 (f32_sr): Likewise.
330 (f32_sm): Likewise.
331 (f32_si): Likewise.
332 (movsf): Combine binary and decimal floating point moves. Combine
333 power6x (mfpgpr) moves with other moves by using conditional
bd059b26 334 constraits (wg). Use LFIWZX and STFIWX for loading SDmode on power7.
c6d5ff83
MM
335 (mov<mode> for SFmode/SDmode); Likewise.
336 (SFmode/SDmode splitters): Likewise.
337 (movsf_hardfloat): Likewise.
338 (mov<mode>_hardfloat for SFmode/SDmode): Likewise.
339 (movsf_softfloat): Likewise.
340 (mov<mode>_softfloat for SFmode/SDmode): Likewise.
341
342 * doc/md.texi (PowerPC and IBM RS6000 constraints): Document wl,
343 wx and wz constraints.
344
345 * config/rs6000/constraints.md (wg constraint): New constraint to
346 return FLOAT_REGS if -mmfpgpr (power6x) was used.
347
348 * config/rs6000/rs6000.h (enum r6000_reg_class_enum): Add wg
349 constraint.
350
351 * config/rs6000/rs6000.c (rs6000_debug_reg_global): If
352 -mdebug=reg, print wg, wl, wx, and wz constraints.
353 (rs6000_init_hard_regno_mode_ok): Initialize new constraints.
354 Initialize the reload functions for 64-bit binary/decimal floating
355 point types.
356 (reg_offset_addressing_ok_p): If we are on a power7 or later, use
357 LFIWZX and STFIWX to load/store 32-bit decimal types, and don't
358 create the buffer on the stack to overcome not having a 32-bit
359 load and store.
360 (rs6000_emit_move): Likewise.
361 (rs6000_secondary_memory_needed_rtx): Likewise.
362 (rs6000_alloc_sdmode_stack_slot): Likewise.
363 (rs6000_preferred_reload_class): On VSX, we can create SFmode 0.0f
364 via xxlxor, just like DFmode 0.0.
365
c6d5ff83
MM
366 * config/rs6000/dfp.md (movdd): Delete, combine with binary
367 floating point moves in rs6000.md. Combine power6x (mfpgpr) moves
368 with other moves by using conditional constraits (wg). Use LFIWZX
369 and STFIWX for loading SDmode on power7.
370 (movdd splitters): Likewise.
371 (movdd_hardfloat32): Likewise.
372 (movdd_softfloat32): Likewise.
373 (movdd_hardfloat64_mfpgpr): Likewise.
374 (movdd_hardfloat64): Likewise.
375 (movdd_softfloat64): Likewise.
376
377 * config/rs6000/rs6000.md (FMOVE64): New iterators to combine
378 64-bit binary and decimal floating point moves.
379 (FMOVE64X): Likewise.
380 (movdf): Combine 64-bit binary and decimal floating point moves.
381 Combine power6x (mfpgpr) moves with other moves by using
382 conditional constraits (wg).
383 (mov<mode> for DFmode/DDmode): Likewise.
384 (DFmode/DDmode splitters): Likewise.
385 (movdf_hardfloat32): Likewise.
386 (mov<mode>_hardfloat32 for DFmode/DDmode): Likewise.
387 (movdf_softfloat32): Likewise.
388 (movdf_hardfloat64_mfpgpr): Likewise.
389 (movdf_hardfloat64): Likewise.
390 (mov<mode>_hardfloat64 for DFmode/DDmode): Likewise.
391 (movdf_softfloat64): Likewise.
392 (mov<mode>_softfloat64 for DFmode/DDmode): Likewise.
393 (reload_<mode>_load): Move to later in the file so they aren't in
394 the middle of the floating point move insns.
395 (reload_<mode>_store): Likewise.
396
397 * doc/md.texi (PowerPC and IBM RS6000 constraints): Document wg
398 constraint.
399
400 * config/rs6000/rs6000.c (rs6000_debug_reg_global): Print out wg
401 constraint if -mdebug=reg.
bd059b26
UB
402 (rs6000_initi_hard_regno_mode_ok): Enable wg constraint if -mfpgpr.
403 Enable using dd reload support if needed.
c6d5ff83
MM
404
405 * config/rs6000/dfp.md (movtd): Delete, combine with 128-bit
406 binary and decimal floating point moves in rs6000.md.
407 (movtd_internal): Likewise.
408
409 * config/rs6000/rs6000.md (FMOVE128): Combine 128-bit binary and
410 decimal floating point moves.
411 (movtf): Likewise.
412 (movtf_internal): Likewise.
413 (mov<mode>_internal, TDmode/TFmode): Likewise.
414 (movtf_softfloat): Likewise.
415 (mov<mode>_softfloat, TDmode/TFmode): Likewise.
416
417 * config/rs6000/rs6000.md (movdi_mfpgpr): Delete, combine with
418 movdi_internal64, using wg constraint for move direct operations.
419 (movdi_internal64): Likewise.
420
421 * config/rs6000/rs6000.c (rs6000_debug_reg_global): Print
422 MODES_TIEABLE_P for selected modes. Print the numerical value of
423 the various virtual registers. Use GPR/FPR first/last values,
424 instead of hard coding the register numbers. Print which modes
425 have reload functions registered.
bd059b26
UB
426 (rs6000_option_override_internal): If -mdebug=reg, trace the options
427 settings before/after setting cpu, target and subtarget settings.
428 (rs6000_secondary_reload_trace): Improve the RTL dump for -mdebug=addr
429 and for secondary reload failures in rs6000_secondary_reload_inner.
c6d5ff83
MM
430 (rs6000_secondary_reload_fail): Likewise.
431 (rs6000_secondary_reload_inner): Likewise.
432
433 * config/rs6000/rs6000.md (FIRST_GPR_REGNO): Add convenience
434 macros for first/last GPR and FPR registers.
435 (LAST_GPR_REGNO): Likewise.
436 (FIRST_FPR_REGNO): Likewise.
437 (LAST_FPR_REGNO): Likewise.
438
439 * config/rs6000/vector.md (mul<mode>3): Use the combined macro
440 VECTOR_UNIT_ALTIVEC_OR_VSX_P instead of separate calls to
441 VECTOR_UNIT_ALTIVEC_P and VECTOR_UNIT_VSX_P.
442 (vcond<mode><mode>): Likewise.
443 (vcondu<mode><mode>): Likewise.
444 (vector_gtu<mode>): Likewise.
445 (vector_gte<mode>): Likewise.
446 (xor<mode>3): Don't allow logical operations on TImode in 32-bit
bd059b26 447 to prevent the compiler from converting DImode operations to TImode.
c6d5ff83
MM
448 (ior<mode>3): Likewise.
449 (and<mode>3): Likewise.
450 (one_cmpl<mode>2): Likewise.
451 (nor<mode>3): Likewise.
452 (andc<mode>3): Likewise.
453
454 * config/rs6000/constraints.md (wt constraint): New constraint
455 that returns VSX_REGS if TImode is allowed in VSX registers.
456
457 * config/rs6000/predicates.md (easy_fp_constant): 0.0f is an easy
458 constant under VSX.
459
460 * config/rs6000/rs6000-modes.def (PTImode): Define, PTImode is
461 similar to TImode, but it is restricted to being in the GPRs.
462
463 * config/rs6000/rs6000.opt (-mvsx-timode): New switch to allow
464 TImode to occupy a single VSX register.
465
466 * config/rs6000/rs6000-cpus.def (ISA_2_6_MASKS_SERVER): Default to
467 -mvsx-timode for power7/power8.
468 (power7 cpu): Likewise.
469 (power8 cpu): Likewise.
470
471 * config/rs6000/rs6000.c (rs6000_hard_regno_nregs_internal): Make
472 sure that TFmode/TDmode take up two registers if they are ever
473 allowed in the upper VSX registers.
474 (rs6000_hard_regno_mode_ok): If -mvsx-timode, allow TImode in VSX
475 registers.
476 (rs6000_init_hard_regno_mode_ok): Likewise.
477 (rs6000_debug_reg_global): Add debugging for PTImode and wt
478 constraint. Print if LRA is turned on.
479 (rs6000_option_override_internal): Give an error if -mvsx-timode
480 and VSX is not enabled.
481 (invalid_e500_subreg): Handle PTImode, restricting it to GPRs. If
482 -mvsx-timode, restrict TImode to reg+reg addressing, and PTImode
483 to reg+offset addressing. Use PTImode when checking offset
484 addresses for validity.
485 (reg_offset_addressing_ok_p): Likewise.
486 (rs6000_legitimate_offset_address_p): Likewise.
487 (rs6000_legitimize_address): Likewise.
488 (rs6000_legitimize_reload_address): Likewise.
489 (rs6000_legitimate_address_p): Likewise.
490 (rs6000_eliminate_indexed_memrefs): Likewise.
491 (rs6000_emit_move): Likewise.
492 (rs6000_secondary_reload): Likewise.
493 (rs6000_secondary_reload_inner): Handle PTImode. Allow 64-bit
494 reloads to fpr registers to continue to use reg+offset addressing,
495 but 64-bit reloads to altivec registers need reg+reg addressing.
496 Drop test for PRE_MODIFY, since VSX loads/stores no longer support
497 it. Treat LO_SUM like a PLUS operation.
498 (rs6000_secondary_reload_class): If type is 64-bit, prefer to use
bd059b26 499 FLOAT_REGS instead of VSX_RGS to allow use of reg+offset addressing.
c6d5ff83
MM
500 (rs6000_cannot_change_mode_class): Do not allow TImode in VSX
501 registers to share a register with a smaller sized type, since VSX
502 puts scalars in the upper 64-bits.
503 (print_operand): Add support for PTImode.
504 (rs6000_register_move_cost): Use VECTOR_MEM_VSX_P instead of
505 VECTOR_UNIT_VSX_P to catch types that can be loaded in VSX
506 registers, but don't have arithmetic support.
507 (rs6000_memory_move_cost): Add test for VSX.
508 (rs6000_opt_masks): Add -mvsx-timode.
509
510 * config/rs6000/vsx.md (VSm): Change to use 64-bit aligned moves
511 for TImode.
512 (VSs): Likewise.
513 (VSr): Use wt constraint for TImode.
514 (VSv): Drop TImode support.
515 (vsx_movti): Delete, replace with versions for 32-bit and 64-bit.
516 (vsx_movti_64bit): Likewise.
517 (vsx_movti_32bit): Likewise.
518 (vec_store_<mode>): Use VSX iterator instead of vector iterator.
519 (vsx_and<mode>3): Delete use of '?' constraint on inputs, just put
520 one '?' on the appropriate output constraint. Do not allow TImode
521 logical operations on 32-bit systems.
522 (vsx_ior<mode>3): Likewise.
523 (vsx_xor<mode>3): Likewise.
524 (vsx_one_cmpl<mode>2): Likewise.
525 (vsx_nor<mode>3): Likewise.
526 (vsx_andc<mode>3): Likewise.
527 (vsx_concat_<mode>): Likewise.
528 (vsx_xxpermdi_<mode>): Fix thinko for non V2DF/V2DI modes.
529
530 * config/rs6000/rs6000.h (MASK_VSX_TIMODE): Map from
531 OPTION_MASK_VSX_TIMODE.
532 (enum rs6000_reg_class_enum): Add RS6000_CONSTRAINT_wt.
533 (STACK_SAVEAREA_MODE): Use PTImode instead of TImode.
534
535 * config/rs6000/rs6000.md (INT mode attribute): Add PTImode.
536 (TI2 iterator): New iterator for TImode, PTImode.
537 (wd mode attribute): Add values for vector types.
bd059b26
UB
538 (movti_string): Replace TI move operations with operations for TImode
539 and PTImode. Add support for TImode being allowed in VSX registers.
c6d5ff83
MM
540 (mov<mode>_string, TImode/PTImode): Likewise.
541 (movti_ppc64): Likewise.
542 (mov<mode>_ppc64, TImode/PTImode): Likewise.
543 (TI mode splitters): Likewise.
544
545 * doc/md.texi (PowerPC and IBM RS6000 constraints): Document wt
546 constraint.
547
1fc5eced
MG
5482013-03-20 Marc Glisse <marc.glisse@inria.fr>
549
550 PR tree-optimization/56355
551 * fold-const.c (tree_binary_nonnegative_warnv_p) <MULT_EXPR>:
552 Also handle integers with undefined overflow.
553
22c4c869
CM
5542013-03-20 Catherine Moore <clm@codesourcery.com>
555 Maciej W. Rozycki <macro@codesourcery.com>
556 Tom de Vries <tom@codesourcery.com>
557 Nathan Sidwell <nathan@codesourcery.com>
558 Iain Sandoe <iain@codesourcery.com>
559 Nathan Froyd <froydnj@codesourcery.com>
560 Chao-ying Fu <fu@mips.com>
561
562 * doc/extend.texi: (micromips, nomicromips, nocompression):
7cf34aae 563 Document new function attributes.
22c4c869
CM
564 * doc/invoke.texi (minterlink-compressed, mmicromips,
565 m14k, m14ke, m14kec): Document new options.
566 (minterlink-mips16): Update documentation.
567 * doc/md.texi (ZC, ZD): Document new constraints.
568 * configure.ac (gcc_cv_as_micromips): Check if linker
569 supports the .set micromips directive.
570 * configure: Regenerate.
571 * config.in: Regenerate.
572 * config/mips/mips-tables.opt: Regenerate.
573 * config/mips/micromips.md: New file.
574 * constraints.md (ZC, ZD): New constraints.
575 * config/mips/predicates.md (movep_src_register): New predicate.
576 (movep_src_operand): New predicate.
577 (non_volatile_mem_operand): New predicate.
578 * config/mips/mips.md (multimem): New type.
579 (length): Differentiate between 17-bit and 18-bit branch offsets.
580 (MOVEP1, MOVEP2): New mode iterator.
581 (mov_<load>l): Use ZC constraint.
582 (mov_<load>r): Likewise.
583 (mov_<store>l): Likewise.
584 (mov_<store>r): Likewise.
585 (*branch_equality<mode>_inverted): Add microMIPS support.
586 (*branch_equality<mode>): Likewise.
587 (*jump_absolute): Likewise.
588 (indirect_jump_<mode>): Likewise.
589 (tablejump_<mode>): Likewise.
590 (<optab>_internal): Likewise.
591 (sibcall_internal): Likewise.
592 (sibcall_value_internal): Likewise.
593 (prefetch): Use constraint ZD.
594 * config/mips/mips.opt (minterlink-compressed): New option.
595 (minterlink-mips16): Now an alias for minterlink-compressed.
596 (mmicromips): New option.
597 * config/mips/sync.md (sync_compare_and_swap<mode>): Use ZR constraint.
598 (compare_and_swap_12): Likewise.
599 (sync_add<mode>): Likewise.
600 (sync_<optab>_12): Likewise.
601 (sync_old_<optab>_12): Likewise.
602 (sync_new_<optab>_12): Likewise.
603 (sync_nand_12): Likewise.
604 (sync_old_nand_12): Likewise.
605 (sync_new_nand_12): Likewise.
606 (sync_sub<mode>): Likewise.
607 (sync_old_add<mode>): Likewise.
608 (sync_old_sub<mode>): Likewise.
609 (sync_new_add<mode>): Likewise.
610 (sync_new_sub<mode>): Likewise.
611 (sync_<optab><mode>): Likewise.
612 (sync_old_<optab><mode>): Likewise.
613 (sync_new_<optab><mode>): Likewise.
614 (sync_nand<mode>): Likewise.
615 (sync_old_nand<mode>): Likewise.
616 (sync_new_nand<mode>): Likewise.
617 (sync_lock_test_and_set<mode>): Likewise.
618 (test_and_set_12): Likewise.
619 (atomic_compare_and_swap<mode>): Likewise.
620 (atomic_exchange<mode>_llsc): Likewise.
621 (atomic_fetch_add<mode>_llsc): Likewise.
622 * config/mips/mips-cpus.def (m14kc, m14k): New processors.
623 * config/mips/mips-protos.h (umips_output_save_restore): New prototype.
624 (umips_save_restore_pattern_p): Likewise.
625 (umips_load_store_pair_p): Likewise.
626 (umips_output_load_store_pair): Likewise.
627 (umips_movep_target_p): Likewise.
628 (umips_12bit_offset_address_p): Likewise.
629 * config/mips/mips.c (MIPS_MAX_FIRST_STEP): Update for microMIPS.
630 (mips_base_mips16): Rename this...
631 (mips_base_compression_flags): ...to this. Update all uses.
632 (mips_attribute_table): Add micromips, nomicromips and nocompression.
633 (mips_mips16_decl_p): Delete.
634 (mips_nomips16_decl_p): Delete.
635 (mips_get_compress_on_flags): New function.
636 (mips_get_compress_off_flags): New function.
637 (mips_get_compress_mode): New function.
638 (mips_get_compress_on_name): New function.
639 (mips_get_compress_off_name): New function.
640 (mips_insert_attributes): Support multiple compression types.
641 (mips_merge_decl_attributes): Likewise.
642 (umips_12bit_offset_address_p): New function.
643 (mips_start_function_definition): Emit .set micromips directive.
644 (mips_call_may_need_jalx_p): New function.
645 (mips_function_ok_for_sibcall): Add microMIPS support.
646 (mips_print_operand_punctuation): Support short delay slots and
647 compact jumps.
648 (umips_swm_mask, umips_swm_encoding): New.
649 (umips_build_save_restore): New function.
650 (mips_for_each_saved_gpr_and_fpr): Add microMIPS support.
651 (was_mips16_p): Remove.
652 (old_compression_mode): New.
653 (mips_set_compression_mode): New function.
654 (mips_set_current_function): Add microMIPS support.
655 (mips_option_override): Likewise.
656 (umips_save_restore_pattern_p): New function.
657 (umips_output_save_restore): New function.
658 (umips_load_store_pair_p_1): New function.
659 (umips_load_store_pair_p): New function.
660 (umips_output_load_store_pair_1): New function.
661 (umips_output_load_store_pair): New function.
662 (umips_movep_target_p) New function.
663 (mips_prepare_pch_save): Add microMIPS support.
664 * config/mips/mips.h (TARGET_COMPRESSION): New.
665 (TARGET_CPU_CPP_BUILTINS): Update macro
666 to use new compression flags and to support microMIPS.
667 (MIPS_ISA_LEVEL_SPEC): Add m14k processors.
668 (MIPS_ARCH_FLOAT_SPEC): Likewise.
669 (ISA_HAS_LWXS): Include TARGET_MICROMIPS.
670 (ISA_HAS_LOAD_DELAY): Exclude TARGET_MICROMIPS.
671 (ASM_SPEC): Support mmicromips and mno-micromips.
672 (M16STORE_REG_P): New macro.
673 (MIPS_CALL): Support TARGET_MICROMIPS.
674 (MICROMIPS_J): New macro.
675 (mips_base_mips16): Rename this...
676 (mips_base_compression_flags): ...to this.
677 (UMIPS_12BIT_OFFSET_P): New macro.
678 * config/mips/t-sde: (MULTILIB_OPTIONS): Add microMIPS.
679 (MULTILIB_DIRNAMES): Likewise.
92a8d7a7
RB
6802013-03-20 Richard Biener <rguenther@suse.de>
681
682 PR tree-optimization/56661
683 * tree-ssa-sccvn.c (visit_use): Only value-number calls if
684 the result does not have to be distinct.
685
54714c68
RB
6862013-03-20 Richard Biener <rguenther@suse.de>
687
688 * tree-inline.c (copy_tree_body_r): Sync MEM_REF code with
689 remap_gimple_op_r.
690
cca1130d
BS
6912013-03-20 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
692 Steven Bosscher <steven@gcc.gnu.org>
693
694 PR rtl-optimization/56605
695 * loop-iv.c (implies_p): Handle equal RTXs and subregs.
696
2a930377
UB
6972013-03-20 Uros Bizjak <ubizjak@gmail.com>
698
699 PR bootstrap/56656
700 * config/i386/i386.md (*movdi_internal): Handle broken assemblers
701 that require movd instead of movq.
702
d6d305fe
RB
7032013-03-20 Richard Biener <rguenther@suse.de>
704
705 * tree-ssa-structalias.c (struct variable_info): Add pointer
706 to the first field of an aggregate with sub-vars. Make
707 this and the pointer to the next subfield its ID.
708 (vi_next): New function.
709 (nothing_id, anything_id, readonly_id, escaped_id, nonlocal_id,
710 storedanything_id, integer_id): Increment by one.
711 (new_var_info, get_call_vi, lookup_call_clobber_vi,
712 get_call_clobber_vi): Adjust.
713 (solution_set_expand): Simplify and speedup.
714 (solution_set_add): Inline into ...
715 (set_union_with_increment): ... this. Adjust accordingly.
716 (do_sd_constraint): Likewise.
717 (do_ds_constraint): Likewise.
718 (do_complex_constraint): Simplify.
719 (build_pred_graph): Adjust.
720 (solve_graph): Likewise. Simplify and speedup.
721 (get_constraint_for_ssa_var, get_constraint_for_ptr_offset,
722 get_constraint_for_component_ref, get_constraint_for_1,
723 first_vi_for_offset, first_or_preceding_vi_for_offset,
724 create_function_info_for, create_variable_info_for_1,
725 create_variable_info_for, intra_create_variable_infos): Adjust.
726 (init_base_vars): Push NULL for ID zero.
727 (compute_points_to_sets): Adjust.
728
a271b42d
RB
7292013-03-20 Richard Biener <rguenther@suse.de>
730
731 * cfgloop.c (verify_loop_structure): Streamline and avoid
732 ICEing on corrupt loop tree.
733 * graph.c (draw_cfg_nodes_for_loop): Avoid ICEing on corrupt
734 loop tree.
735
ebd65954
RB
7362013-03-20 Richard Biener <rguenther@suse.de>
737
738 * tree-vect-loop-manip.c (slpeel_can_duplicate_loop_p): Do not
739 check whether an SSA update is needed.
740
4547b7ee
RS
7412013-03-20 Richard Sandiford <rdsandiford@googlemail.com>
742
743 * config/mips/constraints.md (T): Rename to...
744 (Yf): ...this.
745 (U): Rename to...
746 (Yd): ...this.
747 * config/mips/mips.md (*movdi_64bit, *movdi_64bit_mips16)
748 (*mov<mode>_internal, *mov<mode>_mips16): Update accordingly.
749
0b8cdc58
IB
7502013-03-19 Ian Bolton <ian.bolton@arm.com>
751
752 * config/aarch64/aarch64.md (*sub<mode>3_carryin): New pattern.
753 (*subsi3_carryin_uxtw): Likewise.
754
5977a10d
IB
7552013-03-19 Ian Bolton <ian.bolton@arm.com>
756
757 * config/aarch64/aarch64.md (*ror<mode>3_insn): New pattern.
758 (*rorsi3_insn_uxtw): Likewise.
759
bd83ff2c
IB
7602013-03-19 Ian Bolton <ian.bolton@arm.com>
761
762 * config/aarch64/aarch64.md (*extr<mode>5_insn): New pattern.
763 (*extrsi5_insn_uxtw): Likewise.
764
ba65123c
RB
7652013-03-19 Richard Biener <rguenther@suse.de>
766
767 PR tree-optimization/56273
768 * passes.c (init_optimization_passes): Move second VRP after DOM.
769
2eac0476
UB
7702013-03-19 Uros Bizjak <ubizjak@gmail.com>
771
772 * config/i386/i386.md (*movti_internal): Merge from
773 *movti_internal_rex64 and *movti_internal_sse. Use x64 isa attribute.
774 (*movdi_internal): Merge with *movdi_internal_rex64. Use x64 and
775 nox64 isa attributes.
776
6e55eda7
RB
7772013-03-18 Richard Biener <rguenther@suse.de>
778
779 * tree-ssa-structalias.c (find): Use gcc_checking_assert.
780 (unite): Likewise.
781 (merge_node_constraints): Likewise.
782 (build_succ_graph): Likewise.
783 (valid_graph_edge): Inline into single caller.
784 (unify_nodes): Likewise. Use bitmap_set_bit return value
785 and cache varinfo.
786 (scc_visit): Fix formatting and variable use.
787 (do_sd_constraint): Use gcc_checking_assert.
788 (do_ds_constraint): Likewise.
789 (do_complex_constraint): Likewise.
790 (condense_visit): Likewise. Cleanup.
791 (dump_pred_graph): New function.
792 (perform_var_substitution): Dump the pred-graph before
793 variable substitution.
794 (find_equivalent_node): Use gcc_checking_assert.
795 (rewrite_constraints): Guard checking loop with ENABLE_CHECKING.
796
4bdd44c4
RB
7972013-03-18 Richard Biener <rguenther@suse.de>
798
799 * tree-vect-loop-manip.c (vect_create_cond_for_alias_checks):
800 Remove cond_expr_stmt_list argument and do not gimplify the
801 built expression.
802 (vect_loop_versioning): Adjust.
803 * tree-vect-data-refs.c (vect_create_addr_base_for_vector_ref):
804 Cleanup to use less temporaries.
805 (vect_create_data_ref_ptr): Cleanup.
806
38c56a5b
JJ
8072013-03-18 Jakub Jelinek <jakub@redhat.com>
808
809 PR tree-optimization/56635
810 * fold-const.c (operand_equal_p): For MEM_REF and TARGET_MEM_REF,
811 require types_compatible_p types.
812
20b2e6a0
NC
8132013-03-18 Nick Clifton <nickc@redhat.com>
814
a6178a25
NC
815 * config/stormy16/stormy16.c (xstormy16_expand_prologue): Remove
816 spurious backslash.
817
20b2e6a0
NC
818 * config/mn10300/mn10300.c (mn10300_get_live_callee_saved_regs):
819 Add missing line to comment describing function.
820
92608d0e
RB
8212013-03-18 Richard Biener <rguenther@suse.de>
822
823 PR tree-optimization/56210
824 * tree-ssa-structalias.c (find_func_aliases_for_builtin_call):
825 Handle string / character search functions.
826 * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Likewise.
827
31348d52
RB
8282013-03-18 Richard Biener <rguenther@suse.de>
829
830 PR middle-end/56483
831 * cfgexpand.c (expand_gimple_cond): Inline gimple_cond_single_var_p
832 and implement properly.
833 * gimple.h (gimple_cond_single_var_p): Remove.
834
fcac74a1
RB
8352013-03-18 Richard Biener <rguenther@suse.de>
836
837 * tree-data-ref.h (find_data_references_in_loop): Declare.
838 * tree-data-ref.c (get_references_in_stmt): Use a stack
839 vector pre-allocated in the callers.
840 (find_data_references_in_stmt): Adjust.
841 (graphite_find_data_references_in_stmt): Likewise.
842 (create_rdg_vertices): Likewise.
843 (find_data_references_in_loop): Export.
844 * tree-vect-data-refs.c (vect_analyze_data_ref_dependences):
845 Compute dependences here...
846 (vect_analyze_data_refs): ...not here. When we encounter
847 a non-vectorizable data reference in basic-block vectorization
848 truncate the data reference vector. Do not bother to
849 fixup data-dependence information for gather loads.
850 * tree-vect-slp.c (vect_slp_analyze_bb_1): Check the number
851 of data references, as reported.
852
0d5a1b56
RB
8532013-03-18 Richard Biener <rguenther@suse.de>
854
855 PR tree-optimization/3713
856 * tree-ssa-sccvn.c (visit_copy): Simplify. Always propagate
857 has_constants and expr.
858 (stmt_has_constants): Properly valueize SSA names when deciding
859 whether the stmt has constants.
860
789c34e3
RB
8612013-03-18 Richard Biener <rguenther@suse.de>
862
863 * tree-ssa-loop-manip.c (find_uses_to_rename): Do not scan the
864 whole function when there is nothing to do.
865 * tree-ssa-loop.c (pass_vectorize): Remove TODO_update_ssa.
866 * tree-vectorizer.c (vectorize_loops): Update virtual and
867 loop-closed SSA once.
868 * tree-vect-loop.c (vect_transform_loop): Do not update SSA here.
869
076b4605
RB
8702013-03-18 Richard Biener <rguenther@suse.de>
871
872 PR middle-end/56113
873 * domwalk.c (bb_postorder): New global static.
874 (cmp_bb_postorder): New function.
875 (walk_dominator_tree): Replace scheme imposing an order for
876 visiting dominator sons by one sorting them at the time they
877 are pushed on the stack.
878
bdb01696
RB
8792013-03-18 Richard Biener <rguenther@suse.de>
880
881 PR tree-optimization/39326
882 * tree-ssa-loop-im.c (refs_independent_p): Exploit symmetry.
883 (struct mem_ref): Replace mem member with ao_ref typed member.
884 (MEM_ANALYZABLE): Adjust.
885 (memref_eq): Likewise.
886 (mem_ref_alloc): Likewise.
887 (gather_mem_refs_stmt): Likewise.
888 (mem_refs_may_alias_p): Use the ao_ref to query the alias oracle.
889 (execute_sm_if_changed_flag_set): Adjust.
890 (execute_sm): Likewise.
891 (ref_always_accessed_p): Likewise.
892 (refs_independent_p): Likewise.
893 (can_sm_ref_p): Likewise.
894
12d2dc5e
JJ
8952013-03-18 Jakub Jelinek <jakub@redhat.com>
896
897 PR c/56566
898 * tree.c (tree_int_cst_min_precision): For integer_zerop (value)
899 return 1 even for !unsignedp.
900
286fb677
UB
9012013-03-17 Uros Bizjak <ubizjak@gmail.com>
902
903 * config/i386/i386.md (isa): Add x64 and nox64.
904 (enabled): Define x64 for TARGET_64BIT and nox64 for !TARGET_64BIT.
905 (*pushtf): Enable *roF alternative for x64 isa only.
906 (*pushxf): Merge with *pushxf_nointeger. Use Yx*r constraint. Set
907 mode attribute of integer alternatives to DImode for TARGET_64BIT.
908 (*pushdf): Merge with *pushdf_rex64. Use x64 and nox64 isa attributes.
909 (*movtf_internal): Merge from *movtf_internal_rex64 and
910 *movtf_internal_sse. Use x64 and nox64 isa attributes.
911 (*movxf_internal): Merge with *movxf_internal_rex64. Use x64 and
912 nox64 isa attributes.
913 (*movdf_internal): Merge with *movdf_internal_rex64. Use x64 and
914 nox64 isa attributes.
915 * config/i386/constraints.md (Yd): Do not set for TARGET_64BIT.
916
88b97037
UB
9172013-03-17 Uros Bizjak <ubizjak@gmail.com>
918
919 * config/alpha/alpha.c (TARGET_LRA_P): New define.
920
9f4f1735
JJ
9212013-03-17 Jakub Jelinek <jakub@redhat.com>
922
923 PR target/56640
924 * config/arm/arm.h (REG_CLASS_NAMES): Add "SFP_REG" and "AFP_REG"
925 class names. Remove trailing comma after "ALL_REGS".
926
48f4a6fa
JH
9272013-03-16 Jan Hubicka <jh@suse.cz>
928
929 * cgraph.h (cgraph_get_create_real_symbol_node): Declare.
930 * cgraph.c (cgraph_get_create_real_symbol_node): New function.
931 * cgrpahbuild.c: Use cgraph_get_create_real_symbol_node instead
932 of cgraph_get_create_node.
933 * ipa-prop.c (ipa_make_edge_direct_to_target): Likewise.
934
98e81123
JM
9352013-03-16 Jason Merrill <jason@redhat.com>
936
937 PR debug/49090
938 * dwarf2out.c (gen_generic_params_dies): Indicate default arguments
939 with DW_AT_default_value.
940
8a298c04
JJ
9412013-03-16 Jakub Jelinek <jakub@redhat.com>
942
943 * BASE-VER: Set to 4.9.0.
944
4323afa0
AK
9452013-03-14 Andi Kleen <ak@linux.intel.com>
946
947 PR target/56619
948 * doc/extend.texi: Document __ATOMIC_HLE_ACQUIRE,
949 __ATOMIC_HLE_RELEASE. Document __builtin_ia32 TSX intrincs.
950 Document _x* TSX intrinsics.
951
b3c0d469
JJ
9522013-03-14 Edgar E. Iglesias <edgar.iglesias@xilinx.com>
953 David Holsgrove <david.holsgrove@xilinx.com>
8cc9a5a5
EI
954
955 * configure.ac: Add MicroBlaze TLS support detection.
956 * configure: Regenerate.
88b97037
UB
957 * config/microblaze/microblaze-protos.h
958 (microblaze_cannot_force_const_mem, microblaze_tls_referenced_p,
959 symbol_mentioned_p, label_mentioned_p): Add prototypes.
960 * config/microblaze/microblaze.c (microblaze_address_type): Add
961 ADDRESS_TLS and tls_reloc address types.
8cc9a5a5
EI
962 (microblaze_address_info): Add tls_reloc.
963 (TARGET_HAVE_TLS): Define.
964 (get_tls_get_addr, microblaze_tls_symbol_p, microblaze_tls_operand_p_1,
965 microblaze_tls_referenced_p, microblaze_cannot_force_const_mem,
88b97037
UB
966 symbol_mentioned_p, label_mentioned_p, tls_mentioned_p,
967 load_tls_operand, microblaze_call_tls_get_addr,
968 microblaze_legitimize_tls_address): New functions.
8cc9a5a5
EI
969 (microblaze_classify_unspec): Handle UNSPEC_TLS.
970 (get_base_reg): Use microblaze_tls_symbol_p.
971 (microblaze_classify_address): Handle TLS.
88b97037
UB
972 (microblaze_legitimate_pic_operand): Use symbol_mentioned_p,
973 label_mentioned_p and microblaze_tls_referenced_p.
8cc9a5a5
EI
974 (microblaze_legitimize_address): Handle TLS.
975 (microblaze_address_insns): Handle ADDRESS_TLS.
976 (pic_address_needs_scratch): Handle TLS.
977 (print_operand_address): Handle TLS.
978 (microblaze_expand_prologue): Check TLS_NEEDS_GOT.
979 (microblaze_expand_move): Handle TLS.
88b97037
UB
980 (microblaze_legitimate_constant_p): Check
981 microblaze_cannot_force_const_mem and microblaze_tls_symbol_p.
8cc9a5a5
EI
982 (TARGET_CANNOT_FORCE_CONST_MEM): Define.
983 * config/microblaze/microblaze.h (TLS_NEEDS_GOT): Define
984 (PIC_OFFSET_TABLE_REGNUM): Set.
985 * config/microblaze/linux.h (TLS_NEEDS_GOT): Define.
986 * config/microblaze/microblaze.md (UNSPEC_TLS): Define.
987 (addsi3, movsi_internal2, movdf_internal): Update constraints
988 * config/microblaze/predicates.md (arith_plus_operand): Define
88b97037
UB
989 (move_operand): Redefine as move_src_operand,
990 check microblaze_tls_referenced_p.
8cc9a5a5 991
d803a491
IB
9922013-03-14 Ian Bolton <ian.bolton@arm.com>
993
994 * config/aarch64/aarch64.md: (*and<mode>3nr_compare0): Use CC_NZ.
995 (*and_<SHIFT:optab><mode>3nr_compare0): Likewise.
996
a8504f22
IB
9972013-03-14 Ian Bolton <ian.bolton@arm.com>
998
999 * config/aarch64/aarch64.c (aarch64_select_cc_mode): Return correct
1000 CC mode for AND.
1001
df2dfaea
JJ
10022013-03-14 Jakub Jelinek <jakub@redhat.com>
1003
fbd28bc3
JJ
1004 PR tree-optimization/53265
1005 * common.opt (Waggressive-loop-optimizations): New option.
1006 * tree-ssa-loop-niter.c: Include tree-pass.h.
1007 (do_warn_aggressive_loop_optimizations): New function.
1008 (record_estimate): Call it. Don't add !is_exit bounds to loop->bounds
1009 if number_of_latch_executions returned constant.
1010 (estimate_numbers_of_iterations_loop): Call number_of_latch_executions
1011 early. If number_of_latch_executions returned constant, set
1012 nb_iterations_upper_bound back to it.
1013 * cfgloop.h (struct loop): Add warned_aggressive_loop_optimizations
1014 field.
1015 * Makefile.in (tree-ssa-loop-niter.o): Depend on $(TREE_PASS_H).
1016 * doc/invoke.texi (-Wno-aggressive-loop-optimizations): Document.
1017
df2dfaea
JJ
1018 * config/aarch64/t-aarch64-linux (MULTARCH_DIRNAME): Remove.
1019 (MULTILIB_OSDIRNAMES): Set.
1020 * genmultilib: If defaultosdirname doesn't start with :: , set
1021 defaultosdirname2 instead, clear it and emit two . multilib_raw
1022 entries instead of just one.
1023
ee0d2b68
KK
10242013-03-14 Kaz Kojima <kkojima@gcc.gnu.org>
1025
1026 * config/sh/linux.h (TARGET_DEFAULT): Remove MASK_USERMODE.
1027 (SUBTARGET_OVERRIDE_OPTIONS): Set TARGET_USERMODE as default.
1028 * config/sh/netbsd-elf.h (TARGET_DEFAULT): Remove MASK_USERMODE.
1029 (SUBTARGET_OVERRIDE_OPTIONS): New.
1030
decc676e
OE
10312013-03-13 Oleg Endo <olegendo@gcc.gnu.org>
1032
1033 PR target/49880
1034 * config/sh/sh.opt (FPU_SINGLE_ONLY): New mask.
1035 (musermode): Convert to Var(TARGET_USERMODE).
1036 * config/sh/sh.h (SELECT_SH2A_SINGLE_ONLY, SELECT_SH4_SINGLE_ONLY,
1037 MASK_ARCH): Add MASK_FPU_SINGLE_ONLY.
1038 * config/sh/sh.c (sh_option_override): Use
1039 TARGET_FPU_DOUBLE || TARGET_FPU_SINGLE_ONLY for call-fp case.
1040 * config/sh/sh.md (udivsi3_i1, divsi3_i1): Remove ! TARGET_SH4
1041 condition.
1042 (udivsi3_i4, divsi3_i4): Use TARGET_FPU_DOUBLE condition instead of
1043 TARGET_SH4.
1044 (udivsi3_i4_single, divsi3_i4_single): Use
1045 TARGET_FPU_SINGLE_ONLY || TARGET_FPU_DOUBLE instead of TARGET_HARD_SH4.
1046
f4b719c7
DK
10472013-03-13 Dave Korn <dave.korn.cygwin@....>
1048
1049 * config/i386/cygwin.h (SHARED_LIBGCC_SPEC): Make shared libgcc the
1050 default setting.
1051
c40eced0
RB
10522013-03-13 Richard Biener <rguenther@suse.de>
1053
1054 PR tree-optimization/56608
1055 * tree-vect-slp.c (vect_schedule_slp): Do not remove scalar
1056 calls when vectorizing basic-blocks.
1057
1bfa5973
JJ
10582013-03-13 Jakub Jelinek <jakub@redhat.com>
1059
1060 PR plugins/45078
1061 * config.gcc: On arm, mips, sh and sparc add vxworks-dummy.h to
1062 tm_file.
1063
6fcf5434
JJ
10642013-03-12 Jakub Jelinek <jakub@redhat.com>
1065
1066 * doc/invoke.texi (-Waddr-space-convert): Move into the table earlier.
1067
4f38fa8c
JH
10682013-03-11 Jan Hubicka <jh@suse.cz>
1069
1070 PR lto/56557
1071 * lto-streamer-out.c (output_symbol_p): Skip references from
1072 constructors of external variables.
1073
c5c5ba89
JH
10742013-03-11 Jan Hubicka <jh@suse.cz>
1075
1076 PR middle-end/56571
1077 * valtrack.c (cleanup_auto_inc_dec): Unshare clobbers originating
1078 from pseudos.
1079 * emit-rtl.c (verify_rtx_sharing): Likewise.
1080 (copy_insn_1): Likewise.
1081 * rtl.c (copy_rtx): Likewise.
1082
c2a939b1
GJL
10832013-03-11 Georg-Johann Lay <avr@gjlay.de>
1084
1085 PR target/56591
1086 * config/avr/avr.c (avr_print_operand): Add space after '%c' in
1087 output_operand_lossage message.
88b97037 1088
3c3279fb
RE
10892013-03-11 Richard Earnshaw <rearnsha@arm.com>
1090
1091 PR target/56470
1092 * arm.c (shift_op): Validate RTL pattern on the fly.
1093 (arm_print_operand, case 'S'): Don't use shift_operator to validate
1094 the RTL.
1095
aef5ef9d
JDA
10962013-03-10 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1097
1098 PR target/56347
1099 * config/pa/pa.md (call_value): Check for calls to powf and direct to
1100 new call patterns that clobber %fr12.
1101 (call_val_powf, call_val_powf_pic, call_val_powf_64bit): New insn,
1102 split and postreload patterns.
1103 * config/pa/pa.c (pa_conditional_register_usage): Revert marking
1104 registers %fr12 and %fr12R as call used.
1105
456610d3
SB
11062013-03-09 Steven Bosscher <steven@gcc.gnu.org>
1107
1108 * dse.c (delete_dead_store_insn): Respect TDF_DETAILS.
1109 (canon_address, record_store, replace_read, check_mem_read_rtx,
1110 scan_insn, dse_step1, dse_step2_init, dse_step2_spill,
1111 dse_step4, dse_step5_nospill, dse_step5_spill, dse_step6,
1112 rest_of_handle_dse): Likewise.
1113
4b1baac8
RS
11142013-03-09 Richard Sandiford <rdsandiford@googlemail.com>
1115
1116 PR middle-end/56524
1117 * tree.h (tree_optimization_option): Rename target_optabs to optabs.
1118 Add base_optabs.
1119 (TREE_OPTIMIZATION_OPTABS): Update after previous field change.
1120 (TREE_OPTIMIZATION_BASE_OPTABS): New macro.
1121 (save_optabs_if_changed): Replace with...
1122 (init_tree_optimization_optabs): ...this.
1123 * optabs.c (save_optabs_if_changed): Rename to...
1124 (init_tree_optimization_optabs): ...this. Take the optimization node
1125 as argument. Do nothing if the base optabs are already correct.
1126 Reuse the existing TREE_OPTIMIZATION_OPTABS memory if we need
1127 to recompute optabs.
1128 * function.h (function): Remove optabs field.
1129 * function.c (invoke_set_current_function_hook): Call
1130 init_tree_optimization_optabs. Use the result to initialize
1131 this_fn_optabs.
1132
b7a78683
AH
11332013-02-27 Aldy Hernandez <aldyh@redhat.com>
1134
1135 * trans-mem.c (expand_transaction): Do not set PR_INSTRUMENTEDCODE
1136 if GTMA_HAS_NO_INSTRUMENTATION.
1137 (generate_tm_state): Keep GTMA_HAS_NO_INSTRUMENTATION bit.
1138 (ipa_tm_transform_transaction): Set GTMA_HAS_NO_INSTRUMENTATION.
1139 * gimple.h (GTMA_HAS_NO_INSTRUMENTATION): Define.
1140 * gimple-pretty-print.c (dump_gimple_transaction): Handle
1141 GTMA_HAS_NO_INSTRUMENTATION.
1142
6384c29b
JJ
11432013-03-08 Jakub Jelinek <jakub@redhat.com>
1144
1145 * config/gnu-user.h (LIBTSAN_EARLY_SPEC): Don't link against
1146 libasan_preinit.o.
1147
ecd4f20a
MP
11482013-03-08 Marek Polacek <polacek@redhat.com>
1149 Jakub Jelinek <jakub@redhat.com>
1150
1151 PR tree-optimization/56478
1152 * predict.c (is_comparison_with_loop_invariant_p): Change the
1153 type of loop_step to tree.
1154 (predict_loops): Adjust.
1155 (predict_iv_comparison): Perform the computations on double_ints.
1156
64366d35
RB
11572013-03-08 Richard Biener <rguenther@suse.de>
1158
1159 PR tree-optimization/56570
1160 * tree-cfg.c (verify_expr_location_1): Verify locations for
1161 DECL_DEBUG_EXPR.
1162 * tree-sra.c (create_access_replacement): Strip locations
1163 from DECL_DEBUG_EXPRs.
1164
a9d5a059
RB
11652013-03-08 Richard Biener <rguenther@suse.de>
1166
1167 * tree-inline.c (expand_call_inline): Do not associate
1168 a BLOCK with the location in BLOCK_SOURCE_LOCATION.
1169 * tree-cfg.c (verify_location): Verify BLOCK_SOURCE_LOCATION.
1170
b7aa4e9a
RB
11712013-03-08 Richard Biener <rguenther@suse.de>
1172
1173 * tree-ssa-ter.c (is_replaceable_p): Do not TER across location
1174 or block changes with -Og. Fix for location / block encoding
1175 changes and PHI arguments with locations.
1176
c4c2f9fa
SB
11772013-03-07 Steven Bosscher <steven@gcc.gnu.org>
1178
1179 * bitmap.c (struct bitmap_descriptor_d): Use unsigned HOST_WIDEST_INT
1180 for all counters.
1181 (struct output_info): Likewise.
1182 (register_overhead): Remove bad gcc_assert.
1183 (bitmap_find_bit): If there is only a single bitmap element, do not
1184 count a miss as a search.
1185 (print_statistics): Update for counter type changes.
1186 (dump_bitmap_statistics): Likewise. Print headers such that they
1187 are properly lined up with the printed counters.
1188
5bf6606a
JJ
11892013-03-07 Jakub Jelinek <jakub@redhat.com>
1190
1191 PR tree-optimization/56559
1192 * tree-ssa-reassoc.c (zero_one_operation): When looking at rhs2,
1193 check that it has only a single use.
1194
2c653d46
RB
11952013-03-07 Richard Biener <rguenther@suse.de>
1196
1197 * doc/invoke.texi (fwhole-program): Discourage use in combination
1198 with -flto.
1199
a72d8780
JJ
12002013-03-06 Jakub Jelinek <jakub@redhat.com>
1201
01a454df
JJ
1202 * config/arm/t-arm (TM_H, OPTIONS_H_EXTRA): Add arm-cores.def.
1203
c1781047
JJ
1204 PR tree-optimization/56539
1205 * tree-tailcall.c (adjust_return_value_with_ops): Use GSI_SAME_STMT
1206 instead of GSI_CONTINUE_LINKING as last argument to
1207 force_gimple_operand_gsi. Adjust function comment.
1208
9772c47a
JJ
1209 * config/aarch64/t-aarch64 (TM_H, OPTIONS_H_EXTRA): Add
1210 aarch64-cores.def.
1211
a72d8780
JJ
1212 PR middle-end/56548
1213 * expr.c (expand_cond_expr_using_cmove): When expanding cmove in
1214 promoted mode, convert the result back to the original mode.
1215
fa5556de
RB
12162013-03-06 Richard Biener <rguenther@suse.de>
1217
1218 PR middle-end/56294
1219 * tree-into-ssa.c (insert_phi_nodes_for): Add dumping.
1220 (insert_updated_phi_nodes_compare_uids): New function.
1221 (update_ssa): Sort symbols_to_rename after UID before
1222 traversing it to insert PHI nodes.
1223
010403d1
RB
12242013-03-06 Richard Biener <rguenther@suse.de>
1225
1226 PR middle-end/50494
1227 * tree-vect-data-refs.c (vect_can_force_dr_alignment_p):
1228 Do not adjust alignment of DECL_IN_CONSTANT_POOL decls.
1229
1230 Revert
1231 2013-02-13 Richard Biener <rguenther@suse.de>
1232
1233 PR lto/50494
1234 * varasm.c (output_constant_def_1): Get the decl representing
1235 the constant as argument.
1236 (output_constant_def): Wrap output_constant_def_1.
1237 (make_decl_rtl): Use output_constant_def_1 with the decl
1238 representing the constant.
1239 (build_constant_desc): Optionally re-use a decl already
1240 representing the constant.
1241 (tree_output_constant_def): Adjust.
1242
3c27ce4c
JY
12432013-03-06 Joey Ye <joey.ye@arm.com>
1244
1245 PR lto/50293
1246 * gcc.c (convert_white_space): New function.
1247 (main): Handles white space in function name.
1248
8f6d1c86
OE
12492013-03-06 Oleg Endo <olegendo@gcc.gnu.org>
1250
1251 PR target/56529
1252 * config/sh/sh.c (sh_option_override): Check for TARGET_DYNSHIFT
1253 instead of TARGET_SH2 for call-table case. Do not set sh_div_strategy
1254 to SH_DIV_CALL_TABLE for TARGET_SH2.
1255 * config.gcc (sh_multilibs): Add m2 and m2a to sh*-*-linux* multilib
1256 list.
1257 * doc/invoke.texi (SH options): Document mdiv= call-div1, call-fp,
1258 call-table options.
1259
798a209f
SA
12602013-03-05 Sterling Augustine <saugustine@google.com>
1261 Cary Coutant <ccoutant@google.com>
1262
1263 PR debug/55364
1264 * dwarf2out.c (resolve_addr): Don't call
1265 remove_loc_list_addr_table_entries a second time for the same
1266 expression.
1267
6cfa417f 12682013-03-05 Jakub Jelinek <jakub@redhat.com>
ee61ea38 1269
6cfa417f
JJ
1270 PR debug/56510
1271 * cfgexpand.c (expand_debug_parm_decl): Call copy_rtx on incoming.
1272 (avoid_complex_debug_insns): New function.
1273 (expand_debug_locations): Call it.
1274
1275 PR rtl-optimization/56484
1276 * ifcvt.c (noce_process_if_block): If else_bb is NULL, avoid extending
1277 lifetimes of hard registers on small register class machines.
1278
12792013-03-05 David Holsgrove <david.holsgrove@xilinx.com>
1280
1281 * config/microblaze/microblaze-protos.h: Rename
ee61ea38 1282 microblaze_is_interrupt_handler to microblaze_is_interrupt_variant.
6cfa417f 1283 * config/microblaze/microblaze.c (microblaze_attribute_table): Add
ee61ea38
DH
1284 fast_interrupt.
1285 (microblaze_fast_interrupt_function_p): New function.
1286 (microblaze_is_interrupt_handler): Rename to
1287 microblaze_is_interrupt_variant and add fast_interrupt check.
1288 (microblaze_must_save_register): Use microblaze_is_interrupt_variant.
1289 (save_restore_insns): Likewise.
1290 (compute_frame_size): Likewise.
1291 (microblaze_function_prologue): Add FAST_INTERRUPT_NAME.
1292 (microblaze_globalize_label): Likewise.
6cfa417f
JJ
1293 * config/microblaze/microblaze.h: Define FAST_INTERRUPT_NAME.
1294 * config/microblaze/microblaze.md: Use wrapper
ee61ea38
DH
1295 microblaze_is_interrupt_variant.
1296
731aefac
KT
12972013-03-05 Kai Tietz <ktietz@redhat.com>
1298
1299 * sdbout.c (sdbout_one_type): Switch to current function's section
1300 supporting cold/hot.
1301
a72d8780 13022013-03-05 David Holsgrove <david.holsgrove@xilinx.com>
e34fd5a7
DH
1303
1304 * doc/invoke.texi (MicroBlaze): Add -mbig-endian, -mlittle-endian,
1305 -mxl-reorder.
1306
334e71e8
JJ
13072013-03-05 Jakub Jelinek <jakub@redhat.com>
1308
0b50e654
JJ
1309 PR middle-end/56461
1310 * ggc-common.c (gt_pch_save): For ENABLE_VALGRIND_CHECKING,
1311 if VALGRIND_GET_VBITS is defined, temporarily make object
1312 memory all defined, and restore previous valgrind addressability
1313 and definability afterwards. Free this_object at the end.
1314
4ccf8f43
JJ
1315 PR middle-end/56461
1316 * lra.c (lra): Call lra_clear_live_ranges if live_p,
1317 right before calling lra_create_live_ranges, also call it
1318 when clearing live_p. Only call lra_clear_live_ranges
1319 at the end if live_p.
1320
334e71e8
JJ
1321 PR middle-end/56461
1322 * sched-deps.c (delete_dep_node): Free DEP_REPLACE.
1323
9ca966ca
RB
13242013-03-05 Richard Biener <rguenther@suse.de>
1325
1326 PR tree-optimization/56521
1327 * tree-ssa-sccvn.c (set_value_id_for_result): Always initialize
1328 value-id.
1329
d273b176
SB
13302013-03-05 Steven Bosscher <steven@gcc.gnu.org>
1331
1332 PR c++/55135
1333 * except.h (remove_unreachable_eh_regions): New prototype.
1334 * except.c (remove_eh_handler_splicer): New function, split out
1335 of remove_eh_handler.
1336 (remove_eh_handler): Use remove_eh_handler_splicer. Add comment
1337 warning about running it on many EH regions one at a time.
1338 (remove_unreachable_eh_regions_worker): New function, walk the
1339 EH tree in depth-first order and remove non-marked regions.
1340 (remove_unreachable_eh_regions): New function.
1341 * tree-eh.c (mark_reachable_handlers): New function, split out
1342 from remove_unreachable_handlers.
1343 (remove_unreachable_handlers): Use mark_reachable_handlers and
1344 remove_unreachable_eh_regions.
1345 (remove_unreachable_handlers_no_lp): Use mark_reachable_handlers
1346 and remove_unreachable_eh_regions.
1347
5e7f1aef
RB
13482013-03-05 Richard Biener <rguenther@suse.de>
1349
1350 PR middle-end/56525
1351 * loop-init.c (fix_loop_structure): Remove loops in two stages,
1352 not freeing them until the end.
1353
f276b762
AK
13542013-03-05 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
1355
1356 * config/s390/s390.h: Define DWARF2_ASM_LINE_DEBUG_INFO.
1357
12a43ab8
RB
13582013-03-05 Richard Biener <rguenther@suse.de>
1359
1360 PR tree-optimization/56270
1361 * tree-vect-slp.c (vect_schedule_slp): Clear vectorized stmts
1362 of loads after scheduling an SLP instance.
1363
93675444
JJ
13642013-03-05 Jakub Jelinek <jakub@redhat.com>
1365
db4138e3
JJ
1366 * Makefile.in (dg_target_exps): Add aarch64.exp, epiphany.exp and
1367 tic6x.exp.
1368 (check_gcc_parallelize): Run guality.exp as a separate job from
1369 vect.exp with unsorted.exp and $(dg_target_exps) separately from
1370 struct-layout-1.exp with stackalign.exp.
1371
dd3d1ec0
JJ
1372 * alias.c (init_alias_analysis): Clear reg_known_equiv_p bitmap.
1373
b8d381a3
JJ
1374 PR middle-end/56461
1375 * tree-vect-slp.c (vect_supported_load_permutation_p): Free
1376 load_index sbitmap even if some bit in it isn't set.
1377
b4f9786b
JJ
1378 PR middle-end/56461
1379 * tree-ssa-loop-niter.c (bb_queue): Remove typedef.
1380 (discover_iteration_bound_by_body_walk): Change queues to
1381 vec<vec<basic_block> > and queue to vec<basic_block>. Fix up
1382 spelling in comment. Call safe_push on queues[bound_index] directly.
1383 Release queues[queue_index] in every iteration unconditionally.
1384 Release bounds vector.
1385
93675444
JJ
1386 PR middle-end/56461
1387 * tree-vect-stmts.c (free_stmt_vec_info_vec): Call
1388 free_stmt_vec_info on any left-over stmt_vec_info in the vector.
1389 * tree-vect-loop.c (vect_create_epilog_for_reduction): Release
1390 inner_phis vector.
1391
3e492e9c
RB
13922013-03-05 Richard Biener <rguenther@suse.de>
1393
1394 PR lto/56515
1395 * tree-inline.c (remap_blocks_to_null): New function.
1396 (expand_call_inline): When expanding a call stmt without
1397 an associated block inline remap all callee blocks to NULL.
1398
a5d1569a
JJ
13992013-03-05 Jakub Jelinek <jakub@redhat.com>
1400
86efb5cd
JJ
1401 PR rtl-optimization/56494
1402 * simplify-rtx.c (simplify_truncation): If C is narrower than A,
1403 optimize (truncate:A (subreg:B (truncate:C X) 0)) into
1404 (subreg:A (truncate:C X) 0) instead of (truncate:A X).
1405
85f5dbea
JJ
1406 PR middle-end/56461
1407 * sel-sched-ir.c (free_sched_pools): Release
1408 succs_info_pool.stack[succs_info_pool.max_top] vectors too
1409 if succs_info_pool.max_top isn't -1.
1410
a5d1569a
JJ
1411 PR bootstrap/56509
1412 * opts.c (opts_obstack, opts_concat): Moved to...
1413 * opts-common.c (opts_obstack, opts_concat): ... here.
1414
4432aa6c
JJ
14152013-03-04 Jakub Jelinek <jakub@redhat.com>
1416
1417 PR middle-end/56461
1418 * diagnostic.c (diagnostic_append_note): Save and restore old prefix.
1419
f3a1fb91
MJ
14202013-03-04 Martin Jambor <mjambor@suse.cz>
1421
1422 * tree-dfa.c (get_or_create_ssa_default_def): Use parameter fn in
1423 all appropriate places.
1424
22110e6c
EB
14252013-01-04 Eric Botcazou <ebotcazou@adacore.com>
1426
1427 PR tree-optimization/56424
1428 * ipa-split.c (split_function): Do not set the RSO flag if result is
1429 not by reference and its type is a register type.
1430
a72d8780 14312013-03-04 David Holsgrove <david.holsgrove@xilinx.com>
91c4e421 1432
88b97037 1433 * config/microblaze/microblaze.c (microblaze_valid_pic_const): New
91c4e421 1434 (microblaze_legitimate_pic_operand): Likewise
88b97037 1435 * config/microblaze/microblaze.h (LEGITIMATE_PIC_OPERAND_P): calls
91c4e421
DH
1436 new function microblaze_legitimate_pic_operand
1437 * config/microblaze/microblaze-protos.h
1438 (microblaze_legitimate_pic_operand): Declare.
1439
a72d8780 14402013-03-04 Edgar E. Iglesias <edgar.iglesias@gmail.com>
82f8f53a 1441
a72d8780 1442 * config/microblaze/predicates.md (call_insn_simple_operand):
82f8f53a 1443 New predicate for supported rtx code types.
a72d8780 1444 * config/microblaze/microblaze.md (call_internal1): Use
82f8f53a
EI
1445 call_insn_simple_operand predicate.
1446
541d9ac8
JJ
14472013-03-04 Jakub Jelinek <jakub@redhat.com>
1448
5eb010bc
JJ
1449 PR middle-end/56461
1450 * tree-loop-distribution.c (ldist_gen): Call partition_free after each
1451 partitions.ordered_remove.
1452
30862efc
JJ
1453 PR middle-end/56461
1454 * tree-vect-stmts.c (vectorizable_conversion): Don't call
1455 vec_oprnds0.create (1) for modifier == NONE.
1456
8930f723
JJ
1457 PR middle-end/56461
1458 * tree-vect-stmts.c (vectorizable_shift): Don't call create methods
1459 on vec_oprnds0 or vec_oprnds1 before loop, only call it on
1460 vec_oprnds1 right before pushing anything to it for
1461 scalar_shift_arg.
1462
541d9ac8
JJ
1463 PR middle-end/56461
1464 * tree-vect-loop.c (destroy_loop_vec_info): For !clean_stmts, just
1465 set nbbs to 0 instead of having separate code path.
1466 (vect_analyze_loop_form): Call destroy_loop_vec_info with true
1467 instead of false as last argument if returning NULL.
1468
7aa7f2e3
SL
14692013-03-03 Sandra Loosemore <sandra@codesourcery.com>
1470
1471 * target.def (TARGET_OPTION_VALID_ATTRIBUTE_P): Update comments;
1472 the attribute is now called "target" instead of "option".
1473 (TARGET_OPTION_PRAGMA_PARSE): Likewise, for the pragma.
1474 * doc/tm.texi.in (Target Attributes): Likewise document the correct
1475 attribute/pragma name for TARGET_OPTION_VALID_P and
1476 TARGET_OPTION_PRAGMA_PARSE. Also copy-edit and correct markup.
1477 * doc/tm.texi: Regenerated.
1478
8930f723 14792013-03-02 David Holsgrove <david.holsgrove@xilinx.com>
cb8a1637 1480
8930f723 1481 * config/microblaze/microblaze.c:
cb8a1637 1482 Check mcpu, pcmp requirement and set TARGET_REORDER to 0 if not met.
8930f723
JJ
1483 * config/microblaze/microblaze.h: Add -mxl-reorder to
1484 DRIVER_SELF_SPECS.
1485 * config/microblaze/microblaze.md: New bswapsi2 and bswaphi2.
1486 instructions emitted if TARGET_REORDER.
88b97037
UB
1487 * config/microblaze/microblaze.opt: New option -mxl-reorder set to 1
1488 or 0 for -m/-mno case, but initialises as 2 to detect default use case
8930f723 1489 separately.
cb8a1637 1490
4dc1d68c
XDL
14912013-03-01 Xinliang David Li <davidxl@google.com>
1492
1493 * tree-ssa-uninit.c (compute_control_dep_chain): Limit post-dom
1494 walk length.
1495
689eaba3
JJ
14962013-03-01 Jakub Jelinek <jakub@redhat.com>
1497
9d676bf6
JJ
1498 PR middle-end/56461
1499 * tree-ssa-loop-ivcanon.c (tree_estimate_loop_size): Release path
1500 vector even when returning true. Fix up function comment formatting.
1501
caff7edf
JJ
1502 PR middle-end/56461
1503 * ira-build.c (ira_loop_nodes_count): New variable.
1504 (create_loop_tree_nodes): Initialize it.
1505 (finish_loop_tree_nodes): Use it instead of looking at current_loops.
1506
b6b9227d
JJ
1507 PR middle-end/56461
1508 * tree-vect-data-refs.c (vect_permute_store_chain): Avoid using copy
1509 method on dr_chain and result_chain.
1510 * tree-vect-stmts.c (vectorizable_store): Only call
1511 result_chain.create if j == 0.
1512
689eaba3
JJ
1513 PR middle-end/56461
1514 * tree-vect-stmts.c (vect_create_vectorized_promotion_stmts): Call
1515 vec_oprnds0->release (); rather than vec_oprnds0->truncate (0)
1516 before overwriting it.
1517
40bf31ed
TB
15182013-03-01 Tobias Burnus <burnus@net-b.de>
1519
1520 * doc/extended.texi (C Extensions): Change order in @menu
1521 to match @node.
1522 (Other MIPS Built-in Functions): Move last MIPS entry before
1523 "picoChip Built-in Functions".
1524 (SH Built-in Functions): Move after RX Built-in Functions.
1525 * doc/gcc.texi (Introduction): Change order in @menu
1526 to match @node.
1527 * doc/md.texi (Constraints): Ditto.
1528 * gty.texi (Type Information): Ditto.
1529 (User-provided marking routines for template types): Make
1530 subsection.
1531 * doc/invoke.texi (AArch64 Options): Move before
1532 "Adapteva Epiphany Options".
1533
e664c61c
KS
15342013-02-28 Konstantin Serebryany <konstantin.s.serebryany@gmail.com>
1535 Jakub Jelinek <jakub@redhat.com>
1536
1537 PR sanitizer/56454
1538 * asan.c (gate_asan): Lookup no_sanitize_address instead of
1539 no_address_safety_analysis attribute.
1540 * doc/extend.texi (no_address_safety_attribute): Rename to
1541 no_sanitize_address attribute, mention no_address_safety_analysis
1542 attribute as deprecated alias.
1543
37b5ec8f
JJ
15442013-02-28 Jakub Jelinek <jakub@redhat.com>
1545
1546 PR middle-end/56461
1547 * tree-vectorizer.h (vect_get_slp_defs): Change 3rd argument
1548 type to vec<vec<tree> > *.
1549 * tree-vect-slp.c (vect_get_slp_defs): Likewise. Change vec_defs
1550 to be vec<tree> instead of vec<tree> *, set vec_defs
1551 to vNULL and call vec_defs.create (number_of_vects), adjust other
1552 uses of vec_defs.
1553 * tree-vect-stmts.c (vect_get_vec_defs, vectorizable_call,
1554 vectorizable_condition): Adjust vect_get_slp_defs callers.
1555
ba96cdfb
JG
15562013-02-28 James Greenhalgh <james.greenhalgh@arm.com>
1557
1558 * config/aarch64/aarch64.c
1559 (aarch64_float_const_representable): Remove unused variable.
1560
6f549691
JG
15612013-02-28 James Greenhalgh <james.greenhalgh@arm.com>
1562
1563 * config/aarch64/aarch64.c (aarch64_mangle_type): Make static.
1564
af55e82d
JG
15652013-02-28 James Greenhalgh <james.greenhalgh@arm.com>
1566
1567 * config/aarch64/aarch64-builtins.c
1568 (aarch64_init_simd_builtins): Make static.
1569
1df3f464
JG
15702013-02-28 James Greenhalgh <james.greenhalgh@arm.com>
1571
1572 * config/aarch64/aarch64.c
1573 (aarch64_simd_make_constant): Make static.
1574
f8f42513
MJ
15752013-02-28 Martin Jambor <mjambor@suse.cz>
1576
1577 * tree-sra.c (load_assign_lhs_subreplacements): Do not put replacements
1578 with no initialization to the RHS of debug statements.
1579
b48b3fc4
MJ
15802013-02-28 Martin Jambor <mjambor@suse.cz>
1581
1582 PR tree-optimization/56294
1583 * tree-sra.c (analyze_access_subtree): Create replacement declarations.
1584 Adjust dumping.
1585 (get_access_replacement): Do not call create_access_replacement.
1586 Assert a replacement exists.
1587 (get_repl_default_def_ssa_name): Create the replacement declaration
1588 itself.
1589
c3ae224c
RR
15902013-02-28 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
1591
1592 * config/arm/arm.c (arm_output_mi_thunk): Call final_start_function and
1593 final_end_function.
1594
45fa0eef
MP
15952013-02-28 Marek Polacek <polacek@redhat.com>
1596
1597 PR rtl-optimization/56466
1598 * loop-unroll.c (unroll_and_peel_loops): Call fix_loop_structure
1599 if we're changing a loop.
1600 (peel_loops_completely): Likewise.
1601
502c067d
PC
16022013-02-28 Paolo Carlini <paolo.carlini@oracle.com>
1603
1604 PR c++/55813
1605 * doc/invoke.texi ([-Wctor-dtor-privacy]): Complete.
1606
ff24afc8
GJL
16072013-02-28 Georg-Johann Lay <avr@gjlay.de>
1608
1609 PR target/56445
1610 * config/avr/avr.c (avr_init_builtins): Use 'n' instead of empty
1611 macro parameters with: FX_FTYPE_FX, FX_FTYPE_FX_INT, INT_FTYPE_FX,
1612 INTX_FTYPE_FX, FX_FTYPE_INTX.
1613 * config/avr/builtins.def: Adjust respective DEF_BUILTIN.
1614
c7b1fc1b
GJL
16152013-02-28 Georg-Johann Lay <avr@gjlay.de>
1616
1617 * avr/avr-mcus.def (ata5272, ata5505, attiny1634, ata6285)
1618 (ata6286, atmega8a, atmega48pa, ata5790, ata5790n, ata5795)
1619 (atmega164pa, atmega165pa, atmega168pa, atmega16hva, atmega16hvb)
1620 (atmega16hvbrevb, atmega16m1, atmega16u4, atmega26hvg, atmega32a)
1621 (atmega32a, atmega3250pa, atmega3290pa, atmega32c1, atmega32m1)
1622 (atmega32u4, atmega32u6, atmega64a, atmega6490a, atmega6490p)
1623 (atmega64c1, atmega64m1, atmega64rfa2, atmega64rfr2, atmega32hvb)
1624 (atmega32hvbrevb, atmega16hva2, atmega48hvf, at90pwm161)
1625 (atmega128a, atmega1284, atmxt112sl, atmxt224, atmxt224e)
1626 (atmxt336s, atxmega16a4u, atxmega16c4, atxmega32a4u, atxmega32c4)
1627 (atxmega32e5, atxmega64a3u, atxmega64a4u, atxmega64b1, atxmega64b3)
1628 (atxmega64c3, atxmega64d4, atxmega128a3u, atxmega128b1)
1629 (atxmega128b3, atxmega128c3, atxmega128d4, atmxt540s, atmxt540sreva)
1630 (atxmega192a3u, atxmega192c3, atxmega256a3u, atxmega256c3)
1631 (atxmega384c3, atxmega384d3, atxmega128a4u): New AVR_MCU.
1632 (avrxmega6): Increase max flash segments from 5 to 6.
1633 * config/avr/t-multilib: Regenerate.
1634 * config/avr/avr-tables.opt: Regenerate.
1635 * doc/avr-mmcu.texi: Regenerate.
1636
4a0e3cfe
GJL
16372013-02-28 Georg-Johann Lay <avr@gjlay.de>
1638
1639 * config/avr/avr.h (device_to_arch): Rename to device_to_ld.
1640 (avr_device_to_arch): Rename to avr_device_to_ld.
1641 (avr_device_to_as): New prototype.
1642 (EXTRA_SPEC_FUNCTIONS): Add device_to_as.
1643 (ASM_SPEC): Use device_to_as to get -mmcu= and -mno-skip-bug=.
1644 * config/avr/driver-avr.c (avr_device_to_as): New.
1645 (avr_device_to_arch): Rename to avr_device_to_ld.
1646
97785e52
JJ
16472013-02-27 Jakub Jelinek <jakub@redhat.com>
1648
3f292312
JJ
1649 PR middle-end/56461
1650 * tree-vect-data-refs.c (vect_permute_load_chain): Avoid using copy
1651 method on dr_chain and result_chain.
1652
a344216b
JJ
1653 PR middle-end/56461
1654 * tree-ssa-loop-niter.c (maybe_lower_iteration_bound): Call
1655 pointer_set_destroy on not_executed_last_iteration.
1656
f121ad02 1657 PR middle-end/56461
88b97037 1658 * tree-vect-loop.c (vectorizable_reduction): Release vect_defs vector.
f121ad02 1659
307f83a3
JJ
1660 PR middle-end/56461
1661 * ipa-pure-const.c (propagate): Use FOR_EACH_FUNCTION instead of
1662 FOR_EACH_DEFINED_FUNCTION when freeing state.
1663
e19624ee
JJ
1664 PR middle-end/56461
1665 * df-scan.c (df_insn_delete): Use df_scan_free_mws_vec before
1666 pool_free.
1667 (df_insn_rescan_debug_internal): Use df_scan_free_mws_vec before
1668 overwriting it.
1669
90e709fd
JJ
1670 PR middle-end/56461
1671 * ipa-cp.c (decide_whether_version_node): Call vec_free on
1672 known_aggs[i].items and release known_aggs vector.
1673
97785e52
JJ
1674 PR middle-end/56461
1675 * ipa-reference.c (propagate): Free node_info even for alias nodes.
1676
16772013-02-27 Edgar E. Iglesias <edgar.iglesias@gmail.com>
bbb3a9e2 1678
97785e52
JJ
1679 * config/microblaze/microblaze.c (microblaze_emit_compare):
1680 Use xor for EQ/NE comparisions.
1681 * config/microblaze/microblaze.md (cstoresf4): Add constraints
1682 (cbranchsf4): Adjust operator to comparison_operator.
bbb3a9e2 1683
6fa5e0ed
JJ
16842013-02-27 Jakub Jelinek <jakub@redhat.com>
1685
1686 PR middle-end/56461
1687 * tree-flow.h (edge_var_map_vector): Change into va_heap, vl_embed
1688 vector.
1689 * tree-ssa.c (redirect_edge_var_map_add): Use vec_safe_reserve and
1690 vec_safe_push, always update *slot.
1691 (redirect_edge_var_map_clear): Use vec_free.
1692 (redirect_edge_var_map_dup): Use vec_safe_copy and vec_safe_reserve.
1693 (free_var_map_entry): Use vec_free.
1694 * tree-cfgcleanup.c (remove_forwarder_block_with_phi): Use
1695 FOR_EACH_VEC_SAFE_ELT instead of FOR_EACH_VEC_ELT.
1696
436a956a
AB
16972013-02-27 Andrey Belevantsev <abel@ispras.ru>
1698
1699 PR middle-end/45472
436a956a
AB
1700 * sel-sched-ir.c (merge_expr): Also change vinsn of merged expr
1701 when the may_trap_p bit of the exprs being merged differs.
436a956a
AB
1702 Reorder tests for speculativeness in the logical and operator.
1703
f5c2caca
JJ
17042013-02-27 Jakub Jelinek <jakub@redhat.com>
1705
0fcb564b
JJ
1706 * incpath.c (add_standard_paths): Use reconcat instead of concat
1707 where appropriate and avoid leaking memory.
1708
dc357798
JJ
1709 * opts.h: Include obstack.h.
1710 (opts_concat): New prototype.
1711 (opts_obstack): New declaration.
1712 * opts.c (opts_concat): New function.
1713 (opts_obstack): New variable.
1714 (init_options_struct): Call gcc_init_obstack on opts_obstack.
1715 (finish_options): Use opts_concat instead of concat
1716 and XOBNEWVEC instead of XNEWVEC.
1717 * opts-common.c (generate_canonical_option, decode_cmdline_option,
1718 generate_option): Likewise.
1719 * Makefile.in (OPTS_H): Depend on $(OBSTACK_H).
1720 * lto-wrapper.c (main): Call gcc_init_obstack on opts_obstack.
1721
f5c2caca
JJ
1722 PR target/56455
1723 * stmt.c (expand_switch_as_decision_tree_p): If flag_pic
1724 and ASM_OUTPUT_ADDR_DIFF_ELT isn't defined, return true.
1725
d0163673
JJ
17262013-02-26 Jakub Jelinek <jakub@redhat.com>
1727
1728 PR middle-end/56461
1729 * lra-spills.c (lra_spill): Free spill_hard_reg at the end.
1730
b5ad2b8e
JR
17312013-02-26 Joern Rennecke <joern.rennecke@embecosm.com>
1732
1733 * config/arm/arm.c (const_ok_for_dimode_op): Back out last change.
1734 (arm_block_move_unaligned_straight): Likewise.
1735 (arm_adjust_block_mem): Likewise.
1736
9b639e2c
JR
17372013-02-26 Joern Rennecke <joern.rennecke@embecosm.com>
1738
1739 PR target/48901
1740 * config/lm32/lm32.c (gen_int_relational): Remove unused variables
1741 temp, cond and label.
1742 * config/lm32/lm32.md (ashlsi3): Remove unused variable one.
1743
e13a0ccb
JR
1744 PR target/52500
1745 * config/c6x/c6x.c (dbx_register_map): Change to unsigned.
1746 * config/c6x/c6x.h (dbx_register_map): Update declaration.
1747
fbe4f171
JR
1748 PR target/52501
1749 * config/cr16/cr16-protos.h: Move end of RTX_CODE guard below end
1750 of prologue/epilogue functions.
1751
ae006543
JR
1752 PR target/52550
1753 * config/tilegx/tilegx.c (tilegx_expand_prologue):
1754 Remove unused variable cfa_offset.
1755 * config/tilepro/tilepro.c (tilepro_expand_prologue): Likewise.
1756
c81369fa
JR
1757 PR target/54639
1758 * config/mn10300/mn10300.c (mn10300_expand_epilogue): Avoid offset
1759 type promotion to unsigned.
1760
f8a8fea7
JR
1761 PR target/54640
1762 * config/arm/arm.c (const_ok_for_dimode_op): Make code consistent
1763 for HOST_WIDE_INT of 32 bit / same size as int.
1764 (arm_block_move_unaligned_straight): Likewise.
1765 (arm_adjust_block_mem): Likewise.
1766
f8be5169
JR
1767 PR target/54662
1768 * config/mep/t-mep (mep-pragma.o): Use ALL_COMPILERFLAGS instead of
1769 ALL_CFLAGS.
1770
f1ad3354
MP
17712013-02-26 Marek Polacek <polacek@redhat.com>
1772
1773 PR tree-optimization/56426
88b97037 1774 * tree-ssa-loop.c (tree_ssa_loop_init): Always call scev_initialize.
f1ad3354 1775
a6af0f42
RB
17762013-02-26 Richard Biener <rguenther@suse.de>
1777
1778 PR target/56444
1779 * config/mn10300/mn10300.c (mn10300_scan_for_setlb_lcc): Remove
1780 unused variable loops.
1781
aca43c6c
JJ
17822013-02-26 Jakub Jelinek <jakub@redhat.com>
1783
cecbe5d9
JJ
1784 PR tree-optimization/56448
1785 * fold-const.c (operand_equal_p) <case tcc_reference>: Don't look at
1786 TREE_SIDE_EFFECTS if flags contain OEP_CONSTANT_ADDRESS_OF.
1787 Clear OEP_CONSTANT_ADDRESS_OF from flags before recursing on second or
1788 later operands of the references, or even first operand for
1789 INDIRECT_REF, TARGET_MEM_REF or MEM_REF.
1790
aca43c6c
JJ
1791 PR tree-optimization/56443
1792 * tree-vect-stmts.c (get_vectype_for_scalar_type_and_size): For
1793 overaligned types, pass TYPE_UNSIGNED (scalar_type) as second argument
1794 to type_for_mode langhook.
1795
53e2e141
MT
17962013-02-25 Matt Turner <mattst88@gmail.com>
1797
1798 * doc/invoke.texi: Document r4700.
1799
259ee451
RB
18002013-02-25 Richard Biener <rguenther@suse.de>
1801
1802 PR tree-optimization/56175
1803 * tree-ssa-forwprop.c (hoist_conversion_for_bitop_p): New predicate,
1804 split out from ...
1805 (simplify_bitwise_binary): ... here. Also guard the conversion
1806 of (type) X op CST to (type) (X op ((type-x) CST)) with it.
1807
6d65e8f1
CM
18082013-02-25 Catherine Moore <clm@codesourcery.com>
1809
1810 Revert:
1811 2013-02-24 Catherine Moore <clm@codesourcery.com>
1812 Maciej W. Rozycki <macro@codesourcery.com>
1813 Tom de Vries <tom@codesourcery.com>
a72d8780 1814 Nathan Sidwell <nathan@codesourcery.com>
6d65e8f1
CM
1815 Iain Sandoe <iain@codesourcery.com>
1816 Nathan Froyd <froydnj@codesourcery.com>
a72d8780 1817 Chao-ying Fu <fu@mips.com>
88b97037 1818
6d65e8f1 1819 * doc/extend.texi: (micromips, nomicromips, nocompression):
88b97037 1820 Document new function attributes.
6d65e8f1
CM
1821 * doc/invoke.texi (minterlink-compressed, mmicromips,
1822 m14k, m14ke, m14kec): Document new options.
1823 (minterlink-mips16): Update documentation.
1824 * doc/md.texi (ZC, ZD): Document new constraints.
1825 * configure.ac (gcc_cv_as_micromips): Check if linker
1826 supports the .set micromips directive.
1827 * configure: Regenerate.
1828 * config.in: Regenerate.
1829 * config/mips/mips-tables.opt: Regenerate.
1830 * config/mips/micromips.md: New file.
1831 * constraints.md (ZC, AD): New constraints.
1832 * config/mips/predicates.md (movep_src_register): New predicate.
1833 (movep_src_operand): New predicate.
1834 (non_volatile_mem_operand): New predicate.
1835 * config/mips/mips.md (multimem): New type.
1836 (length): Differentiate between 17-bit and 18-bit branch offsets.
1837 (MOVEP1, MOVEP2): New mode iterator.
1838 (mov_<load>l): Use ZC constraint.
1839 (mov_<load>r): Likewise.
1840 (mov_<store>l): Likewise.
1841 (mov_<store>r): Likewise.
1842 (*branch_equality<mode>_inverted): Add microMIPS support.
1843 (*branch_equality<mode>): Likewise.
1844 (*jump_absolute): Likewise.
1845 (indirect_jump_<mode>): Likewise.
1846 (tablejump_<mode>): Likewise.
1847 (<optab>_internal): Likewise.
1848 (sibcall_internal): Likewise.
1849 (sibcall_value_internal): Likewise.
1850 (prefetch): Use constraint ZD.
1851 * config/mips/mips.opt (minterlink-compressed): New option.
1852 (minterlink-mips16): Now an alias for minterlink-compressed.
1853 (mmicromips): New option.
1854 * config/mips/sync.md (sync_compare_and_swap<mode>): Use ZR constraint.
1855 (compare_and_swap_12): Likewise.
1856 (sync_add<mode>): Likewise.
1857 (sync_<optab>_12): Likewise.
1858 (sync_old_<optab>_12): Likewise.
1859 (sync_new_<optab>_12): Likewise.
1860 (sync_nand_12): Likewise.
1861 (sync_old_nand_12): Likewise.
1862 (sync_new_nand_12): Likewise.
1863 (sync_sub<mode>): Likewise.
1864 (sync_old_add<mode>): Likewise.
1865 (sync_old_sub<mode>): Likewise.
1866 (sync_new_add<mode>): Likewise.
1867 (sync_new_sub<mode>): Likewise.
1868 (sync_<optab><mode>): Likewise.
1869 (sync_old_<optab><mode>): Likewise.
1870 (sync_new_<optab><mode>): Likewise.
1871 (sync_nand<mode>): Likewise.
1872 (sync_old_nand<mode>): Likewise.
1873 (sync_new_nand<mode>): Likewise.
1874 (sync_lock_test_and_set<mode>): Likewise.
1875 (test_and_set_12): Likewise.
1876 (atomic_compare_and_swap<mode>): Likewise.
1877 (atomic_exchange<mode>_llsc): Likewise.
1878 (atomic_fetch_add<mode>_llsc): Likewise.
1879 * config/mips/mips-cpus.def (m14kc, m14k): New processors.
1880 * config/mips/mips-protos.h (umips_output_save_restore): New prototype.
1881 (umips_save_restore_pattern_p): Likewise.
1882 (umips_load_store_pair_p): Likewise.
1883 (umips_output_load_store_pair): Likewise.
1884 (umips_movep_target_p): Likewise.
1885 (umips_12bit_offset_address_p): Likewise.
1886 * config/mips/mips.c (MIPS_MAX_FIRST_STEP): Update for microMIPS.
1887 (mips_base_mips16): Rename this...
1888 (mips_base_compression_flags): ...to this. Update all uses.
1889 (mips_attribute_table): Add micromips, nomicromips and nocompression.
1890 (mips_mips16_decl_p): Delete.
1891 (mips_nomips16_decl_p): Delete.
1892 (mips_get_compress_on_flags): New function.
1893 (mips_get_compress_off_flags): New function.
1894 (mips_get_compress_mode): New function.
1895 (mips_get_compress_on_name): New function.
1896 (mips_get_compress_off_name): New function.
1897 (mips_insert_attributes): Support multiple compression types.
1898 (mips_merge_decl_attributes): Likewise.
1899 (umips_12bit_offset_address_p): New function.
1900 (mips_start_function_definition): Emit .set micromips directive.
1901 (mips_call_may_need_jalx_p): New function.
1902 (mips_function_ok_for_sibcall): Add microMIPS support.
1903 (mips_print_operand_punctuation): Support short delay slots and
1904 compact jumps.
1905 (umips_swm_mask, umips_swm_encoding): New.
1906 (umips_build_save_restore): New function.
1907 (mips_for_each_saved_gpr_and_fpr): Add microMIPS support.
1908 (was_mips16_p): Remove.
1909 (old_compression_mode): New.
1910 (mips_set_compression_mode): New function.
1911 (mips_set_current_function): Add microMIPS support.
1912 (mips_option_override): Likewise.
1913 (umips_save_restore_pattern_p): New function.
1914 (umips_output_save_restore): New function.
1915 (umips_load_store_pair_p_1): New function.
1916 (umips_load_store_pair_p): New function.
1917 (umips_output_load_store_pair_1): New function.
1918 (umips_output_load_store_pair): New function.
1919 (umips_movep_target_p) New function.
1920 (mips_prepare_pch_save): Add microMIPS support.
1921 * config/mips/mips.h (TARGET_COMPRESSION): New.
1922 (TARGET_CPU_CPP_BUILTINS): Update macro
1923 to use new compression flags and to support microMIPS.
1924 (MIPS_ISA_LEVEL_SPEC): Add m14k processors.
1925 (MIPS_ARCH_FLOAT_SPEC): Likewise.
1926 (ISA_HAS_LWXS): Include TARGET_MICROMIPS.
1927 (ISA_HAS_LOAD_DELAY): Exclude TARGET_MICROMIPS.
1928 (ASM_SPEC): Support mmicromips and mno-micromips.
1929 (M16STORE_REG_P): New macro.
1930 (MIPS_CALL): Support TARGET_MICROMIPS.
1931 (MICROMIPS_J): New macro.
1932 (mips_base_mips16): Rename this...
1933 (mips_base_compression_flags): ...to this.
1934 (UMIPS_12BIT_OFFSET_P): New macro.
1935 * config/mips/t-sde: (MULTILIB_OPTIONS): Add microMIPS.
1936 (MULTILIB_DIRNAMES): Likewise.
1937
5e5df392
TV
19382013-02-25 Tom de Vries <tom@codesourcery.com>
1939
1940 PR rtl-optimization/56131
1941 * insn-notes.def (INSN_NOTE_BASIC_BLOCK): Update comment.
1942 * cfgrtl.c (delete_insn): Don't reorder NOTE_INSN_DELETED_LABEL and
1943 NOTE_INSN_BASIC_BLOCK if BLOCK_FOR_INSN == NULL.
1944
3fdb53c1
TB
19452013-02-25 Tobias Burnus <burnus@net-b.de>
1946
1947 * doc/invoke.texi (-fsanitize=): Move from optimization
1948 to debugging options.
1949
ed358aea
AB
19502013-02-25 Andrey Belevantsev <abel@ispras.ru>
1951
1952 * sched-deps.c (sched_analyze_insn): Fix typo in comment.
1953
f45e9053
AB
19542013-02-25 Andrey Belevantsev <abel@ispras.ru>
1955 Alexander Monakov <amonakov@ispras.ru>
1956
1957 PR middle-end/56077
1958 * sched-deps.c (sched_analyze_insn): When reg_pending_barrier,
1959 flush pending lists also on non-jumps. Adjust comment.
1960
6941b508
CM
19612013-02-24 Catherine Moore <clm@codesourcery.com>
1962 Maciej W. Rozycki <macro@codesourcery.com>
1963 Tom de Vries <tom@codesourcery.com>
a72d8780 1964 Nathan Sidwell <nathan@codesourcery.com>
6941b508
CM
1965 Iain Sandoe <iain@codesourcery.com>
1966 Nathan Froyd <froydnj@codesourcery.com>
a72d8780 1967 Chao-ying Fu <fu@mips.com>
6941b508
CM
1968
1969 * doc/extend.texi: (micromips, nomicromips, nocompression):
88b97037 1970 Document new function attributes.
6941b508
CM
1971 * doc/invoke.texi (minterlink-compressed, mmicromips,
1972 m14k, m14ke, m14kec): Document new options.
1973 (minterlink-mips16): Update documentation.
1974 * doc/md.texi (ZC, ZD): Document new constraints.
1975 * configure.ac (gcc_cv_as_micromips): Check if linker
1976 supports the .set micromips directive.
1977 * configure: Regenerate.
1978 * config.in: Regenerate.
1979 * config/mips/mips-tables.opt: Regenerate.
1980 * config/mips/micromips.md: New file.
1981 * constraints.md (ZC, AD): New constraints.
1982 * config/mips/predicates.md (movep_src_register): New predicate.
1983 (movep_src_operand): New predicate.
1984 (non_volatile_mem_operand): New predicate.
1985 * config/mips/mips.md (multimem): New type.
1986 (length): Differentiate between 17-bit and 18-bit branch offsets.
1987 (MOVEP1, MOVEP2): New mode iterator.
3fdb53c1 1988 (mov_<load>l): Use ZC constraint.
6941b508
CM
1989 (mov_<load>r): Likewise.
1990 (mov_<store>l): Likewise.
1991 (mov_<store>r): Likewise.
1992 (*branch_equality<mode>_inverted): Add microMIPS support.
1993 (*branch_equality<mode>): Likewise.
1994 (*jump_absolute): Likewise.
1995 (indirect_jump_<mode>): Likewise.
1996 (tablejump_<mode>): Likewise.
1997 (<optab>_internal): Likewise.
1998 (sibcall_internal): Likewise.
1999 (sibcall_value_internal): Likewise.
2000 (prefetch): Use constraint ZD.
2001 * config/mips/mips.opt (minterlink-compressed): New option.
2002 (minterlink-mips16): Now an alias for minterlink-compressed.
2003 (mmicromips): New option.
2004 * config/mips/sync.md (sync_compare_and_swap<mode>): Use ZR constraint.
2005 (compare_and_swap_12): Likewise.
2006 (sync_add<mode>): Likewise.
2007 (sync_<optab>_12): Likewise.
2008 (sync_old_<optab>_12): Likewise.
2009 (sync_new_<optab>_12): Likewise.
2010 (sync_nand_12): Likewise.
2011 (sync_old_nand_12): Likewise.
2012 (sync_new_nand_12): Likewise.
2013 (sync_sub<mode>): Likewise.
2014 (sync_old_add<mode>): Likewise.
2015 (sync_old_sub<mode>): Likewise.
2016 (sync_new_add<mode>): Likewise.
2017 (sync_new_sub<mode>): Likewise.
2018 (sync_<optab><mode>): Likewise.
2019 (sync_old_<optab><mode>): Likewise.
2020 (sync_new_<optab><mode>): Likewise.
2021 (sync_nand<mode>): Likewise.
2022 (sync_old_nand<mode>): Likewise.
2023 (sync_new_nand<mode>): Likewise.
2024 (sync_lock_test_and_set<mode>): Likewise.
2025 (test_and_set_12): Likewise.
2026 (atomic_compare_and_swap<mode>): Likewise.
2027 (atomic_exchange<mode>_llsc): Likewise.
2028 (atomic_fetch_add<mode>_llsc): Likewise.
2029 * config/mips/mips-cpus.def (m14kc, m14k): New processors.
2030 * config/mips/mips-protos.h (umips_output_save_restore): New prototype.
2031 (umips_save_restore_pattern_p): Likewise.
2032 (umips_load_store_pair_p): Likewise.
2033 (umips_output_load_store_pair): Likewise.
2034 (umips_movep_target_p): Likewise.
2035 (umips_12bit_offset_address_p): Likewise.
2036 * config/mips/mips.c (MIPS_MAX_FIRST_STEP): Update for microMIPS.
2037 (mips_base_mips16): Rename this...
2038 (mips_base_compression_flags): ...to this. Update all uses.
2039 (mips_attribute_table): Add micromips, nomicromips and nocompression.
2040 (mips_mips16_decl_p): Delete.
2041 (mips_nomips16_decl_p): Delete.
3fdb53c1 2042 (mips_get_compress_on_flags): New function.
6941b508
CM
2043 (mips_get_compress_off_flags): New function.
2044 (mips_get_compress_mode): New function.
2045 (mips_get_compress_on_name): New function.
2046 (mips_get_compress_off_name): New function.
2047 (mips_insert_attributes): Support multiple compression types.
2048 (mips_merge_decl_attributes): Likewise.
2049 (umips_12bit_offset_address_p): New function.
2050 (mips_start_function_definition): Emit .set micromips directive.
2051 (mips_call_may_need_jalx_p): New function.
2052 (mips_function_ok_for_sibcall): Add microMIPS support.
2053 (mips_print_operand_punctuation): Support short delay slots and
2054 compact jumps.
2055 (umips_swm_mask, umips_swm_encoding): New.
2056 (umips_build_save_restore): New function.
2057 (mips_for_each_saved_gpr_and_fpr): Add microMIPS support.
2058 (was_mips16_p): Remove.
2059 (old_compression_mode): New.
2060 (mips_set_compression_mode): New function.
2061 (mips_set_current_function): Add microMIPS support.
2062 (mips_option_override): Likewise.
2063 (umips_save_restore_pattern_p): New function.
2064 (umips_output_save_restore): New function.
2065 (umips_load_store_pair_p_1): New function.
2066 (umips_load_store_pair_p): New function.
2067 (umips_output_load_store_pair_1): New function.
2068 (umips_output_load_store_pair): New function.
2069 (umips_movep_target_p) New function.
2070 (mips_prepare_pch_save): Add microMIPS support.
2071 * config/mips/mips.h (TARGET_COMPRESSION): New.
2072 (TARGET_CPU_CPP_BUILTINS): Update macro
2073 to use new compression flags and to support microMIPS.
2074 (MIPS_ISA_LEVEL_SPEC): Add m14k processors.
2075 (MIPS_ARCH_FLOAT_SPEC): Likewise.
2076 (ISA_HAS_LWXS): Include TARGET_MICROMIPS.
2077 (ISA_HAS_LOAD_DELAY): Exclude TARGET_MICROMIPS.
2078 (ASM_SPEC): Support mmicromips and mno-micromips.
2079 (M16STORE_REG_P): New macro.
2080 (MIPS_CALL): Support TARGET_MICROMIPS.
2081 (MICROMIPS_J): New macro.
2082 (mips_base_mips16): Rename this...
2083 (mips_base_compression_flags): ...to this.
2084 (UMIPS_12BIT_OFFSET_P): New macro.
2085 * config/mips/t-sde: (MULTILIB_OPTIONS): Add microMIPS.
2086 (MULTILIB_DIRNAMES): Likewise.
2087
cdebbc6d
JJ
20882013-02-24 Jakub Jelinek <jakub@redhat.com>
2089
2090 PR target/52555
2091 * target-globals.c (save_target_globals): For init_reg_sets and
2092 target_reinit remporarily set this_fn_optabs to this_target_optabs.
2093
18c63565
JG
20942013-02-22 James Grennahlgh <james.greenhalgh@arm.com>
2095
2096 * config/aarch64/aarch64-simd-builtins.def: Add copyright header.
2097 * config/aarch64/t-aarch64
2098 (aarch64-builtins.o): Depend on aarch64-simd-builtins.def.
2099
2194f7a2
VM
21002013-02-22 Vladimir Makarov <vmakarov@redhat.com>
2101
2102 PR inline-asm/56148
2103 * lra-constraints.c (process_alt_operands): Reload operand
2104 conflicting with earlier clobber only if no more other conflicting
2105 operands.
2106
7d613735
JJ
21072013-02-22 Jakub Jelinek <jakub@redhat.com>
2108
2109 PR sanitizer/56393
2110 * config/gnu-user.h (LIBASAN_EARLY_SPEC): Link in libasan_preinit.o
2111 if not linking a shared library.
2112
ac8d93a7
SL
21132013-02-22 Seth LaForge <sethml@google.com>
2114
2115 * config.gcc (arm*-*-eabi*): Treat arm*eb as big-endian.
2116
e0237780
GY
21172013-02-22 Greta Yorsh <Greta.Yorsh@arm.com>
2118
3fdb53c1
TB
2119 * config/arm/arm.md (split for extendsidi): Update condition.
2120 (zero_extend<mode>di2,extend<mode>di2): Add an alternative.
2121 * config/arm/iterators.md (qhs_extenddi_cstr): Likewise.
2122 (qhs_zextenddi_cstr): Likewise.
e0237780 2123
d7fde18c
JJ
21242013-02-21 Jakub Jelinek <jakub@redhat.com>
2125
be63b77d
JJ
2126 PR middle-end/56420
2127 * expmed.c (EXACT_POWER_OF_2_OR_ZERO_P): Do subtraction in uhwi, to
2128 avoid signed wrapping.
2129 (expand_mult): Handle properly multiplication by
2130 ((dword_type) -1) << (BITS_PER_WORD - 1). Improve multiplication by
2131 ((dword_type) 1) << (BITS_PER_WORD - 1). Avoid undefined behavior
2132 in the compiler if coeff is HOST_WIDE_INT_MIN.
2133 (expand_divmod): Don't make ext_op1 static, change it's type to
2134 uhwi. Avoid undefined behavior in -INTVAL (op1).
2135
d7fde18c
JJ
2136 PR rtl-optimization/50339
2137 * lower-subreg.h (struct lower_subreg_choices): Add splitting_ashiftrt
2138 field.
2139 * lower-subreg.c (compute_splitting_shift): Handle ASHIFTRT.
2140 (compute_costs): Call compute_splitting_shift also for ASHIFTRT
2141 into splitting_ashiftrt field.
2142 (find_decomposable_shift_zext, resolve_shift_zext): Handle also
2143 ASHIFTRT.
2144 (dump_choices): Fix up printing LSHIFTRT choices, print ASHIFTRT
2145 choices.
2146
6aad4455
AH
21472013-02-20 Aldy Hernandez <aldyh@redhat.com>
2148
2149 PR middle-end/56108
2150 * trans-mem.c (execute_tm_mark): Do not expand transactions that
2151 are sure to go irrevocable.
2152
38fe784d
HPN
21532013-02-21 Hans-Peter Nilsson <hp@axis.com>
2154
2155 * doc/rtl.texi (vec_concat, vec_duplicate): Mention that
2156 scalars are valid operands.
2157
0fd44da3
MJ
21582013-02-21 Martin Jambor <mjambor@suse.cz>
2159
2160 PR tree-optimization/56310
2161 * ipa-cp.c (agg_replacements_to_vector): New parameter index, copy
2162 only matching indices and non-negative final offsets.
2163 (intersect_aggregates_with_edge): Pass src_idx to
2164 agg_replacements_to_vector. Pass src_idx insstead of index to
2165 intersect_with_agg_replacements.
2166
7a92038b
MJ
21672013-02-21 Martin Jambor <mjambor@suse.cz>
2168
2169 * ipa-cp.c (good_cloning_opportunity_p): Dump the real threshold
2170 instead of hard-wired defaults.
2171
c0da9c37
MR
21722013-02-21 Maciej W. Rozycki <macro@codesourcery.com>
2173
2174 * doc/invoke.texi (MIPS Options): Update documentation of the
2175 floating-point multiply-accumulate instruction restrictions.
2176
d247ea0c 21772013-02-21 Kostya Serebryany <kcc@google.com>
7df59255
KS
2178
2179 * config/i386/i386.c (ix86_asan_shadow_offset): Use 0x7fff8000 as
2180 asan_shadow_offset on x86_64 linux.
2181
22deefcb
RB
21822013-02-21 Richard Biener <rguenther@suse.de>
2183
2184 PR tree-optimization/56415
2185 Revert
2186 2013-02-11 Richard Biener <rguenther@suse.de>
2187
2188 PR tree-optimization/56273
2189 * tree-vrp.c (simplify_cond_using_ranges): Disable for the
2190 first VRP run.
2191
7bcc6e75
JJ
21922013-02-21 Jakub Jelinek <jakub@redhat.com>
2193
a0ad148f
JJ
2194 PR bootstrap/56258
2195 * doc/invoke.texi (-fdump-rtl-pro_and_epilogue): Use @item
2196 instead of @itemx.
2197
7bcc6e75
JJ
2198 PR inline-asm/56405
2199 * expr.c (expand_expr_real_1) <case TARGET_MEM_REF, MEM_REF>: Don't
2200 use movmisalign or extract_bit_field for EXPAND_MEMORY modifier.
2201
a0a7b611
JH
22022013-02-20 Jan Hubicka <jh@suse.cz>
2203
2204 PR tree-optimization/56265
88b97037
UB
2205 * ipa-prop.c (ipa_make_edge_direct_to_target): Fixup callgraph
2206 when target is referenced for first time.
a0a7b611 2207
c0e50f72
RB
22082013-02-20 Richard Biener <rguenther@suse.de>
2209
2210 * tree-call-cdce.c (tree_call_cdce): Do not remove unused locals.
2211 * tree-ssa-forwprop.c (ssa_forward_propagate_and_combine): Likewise.
2212 * tree-ssa-dce.c (perform_tree_ssa_dce): Likewise.
2213 * tree-ssa-copyrename.c (copy_rename_partition_coalesce): Do
2214 not return anything.
2215 (rename_ssa_copies): Do not remove unused locals.
2216 * tree-ssa-ccp.c (do_ssa_ccp): Likewise.
88b97037 2217 * tree-ssanames.c (pass_release_ssa_names): Remove unused locals first.
c0e50f72
RB
2218 * passes.c (execute_function_todo): Do not schedule unused locals
2219 removal if cleanup_tree_cfg did something.
2220 * tree-ssa-live.c (remove_unused_locals): Dump statistics
2221 about the number of removed locals.
2222
a52ca739
RB
22232013-02-20 Richard Biener <rguenther@suse.de>
2224
2225 PR tree-optimization/56398
88b97037 2226 * tree-vect-loop-manip.c (adjust_debug_stmts): Skip SSA default defs.
a52ca739 2227
ec9c9d1b
MJ
22282013-02-20 Martin Jambor <mjambor@suse.cz>
2229
2230 PR tree-optimization/55334
2231 * ipa-cp.c (initialize_node_lattices): Disable IPA-CP through and to
2232 restricted pointers to arrays.
2233
e91c8ed6 22342013-02-20 Richard Biener <rguenther@suse.de>
88b97037 2235 Jakub Jelinek <jakub@redhat.com>
e91c8ed6
RB
2236
2237 PR tree-optimization/56396
2238 * tree-ssa-ccp.c (n_const_val): New static variable.
2239 (get_value): Return NULL for SSA names we don't have a lattice
2240 entry for.
2241 (ccp_initialize): Initialize n_const_val.
2242 * tree-ssa-copy.c (n_copy_of): New static variable.
2243 (init_copy_prop): Initialize n_copy_of.
2244 (get_value): Return NULL_TREE for SSA names we don't have a
2245 lattice entry for.
2246
3d916479
MJ
22472013-02-20 Martin Jambor <mjambor@suse.cz>
2248
2249 * ipa-cp.c (initialize_node_lattices): Fix dumping condition.
2250
71a86758
RB
22512013-02-20 Richard Biener <rguenther@suse.de>
2252
2253 * genpreds.c (write_lookup_constraint): Do not compare first
2254 letter of the constraint again.
2255
79836a12
RB
22562013-02-20 Richard Biener <rguenther@suse.de>
2257
2258 * tree-ssa-loop-ivopts.c (alloc_use_cost_map): Use bitmap_count_bits
2259 and ceil_log2.
2260 (get_use_iv_cost): Terminate hashtable walk when coming across
2261 an empty entry.
2262
bbe4fb2c
IZ
22632013-02-20 Igor Zamyatin <igor.zamyatin@intel.com>
2264
2265 * config/i386/i386.c (initial_ix86_tune_features): Turn on fp
2266 reassociation for avx2 targets.
2267
a72d8780 22682012-02-19 Edgar E. Iglesias <edgar.iglesias@gmail.com>
79836a12 2269
c77f83d5
EI
2270 * config/microblaze/microblaze.c: microblaze_has_clz = 0
2271 Add version check for v8.10.a to enable microblaze_has_clz
88b97037 2272 * config/microblaze/microblaze.h: Add TARGET_HAS_CLZ as combined
c77f83d5
EI
2273 version and TARGET_PATTERN_COMPARE check
2274 * config/microblaze/microblaze.md: New clzsi2 instruction
3fdb53c1 2275
a72d8780 22762012-02-19 Edgar E. Iglesias <edgar.iglesias@gmail.com>
959434e6 2277
a72d8780 2278 * config/microblaze/microblaze.md (call_value_intern): Check symbol is
959434e6
EI
2279 function before branching.
2280
242387fa
AB
22812012-02-19 Andrey Belevantsev <abel@ispras.ru>
2282
2283 * sel-sched-dump.c (dump_insn_rtx_flags): Explicitly set
2284 DUMP_INSN_RTX_UID.
2285 (dump_insn_rtx_1): Pass PATTERN (insn) to str_pattern_slim.
2286
b4979ab9
AB
22872012-02-19 Andrey Belevantsev <abel@ispras.ru>
2288
2289 PR middle-end/55889
b4979ab9
AB
2290 * sel-sched.c: Include ira.h.
2291 (implicit_clobber_conflict_p): New function.
2292 (moveup_expr): Use it.
88b97037 2293 * Makefile.in (sel-sched.o): Depend on ira.h.
b4979ab9 2294
24d63016
RB
22952013-02-19 Richard Biener <rguenther@suse.de>
2296
2297 PR tree-optimization/56384
2298 * tree-ssa-sccvn.h (struct vn_phi_s): Add type member.
2299 (vn_hash_type): Split out from ...
2300 (vn_hash_constant_with_type): ... here.
2301 * tree-ssa-sccvn.c (vn_phi_compute_hash): Use vn_hash_type.
2302 (vn_phi_eq): Compare types from vn_phi_s structure.
2303 (vn_phi_lookup): Populate vn_phi_s type.
2304 (vn_phi_insert): Likewise.
2305
a475fd3d
JJ
23062013-02-19 Jakub Jelinek <jakub@redhat.com>
2307
47cc28f5
JJ
2308 PR tree-optimization/56350
2309 * tree-vect-loop.c (vectorizable_reduction): If orig_stmt, return false
2310 if haven't found reduction or nested cycle operand, rather than
2311 asserting we must find it.
2312
a475fd3d
JJ
2313 PR tree-optimization/56381
2314 * tree-ssa-pre.c (create_expression_by_pieces): Fix up last argument
2315 to fold_build3.
2316
23172013-02-18 Aldy Hernandez <aldyh@redhat.com>
135204dd
AH
2318 Jakub Jelinek <jakub@redhat.com>
2319
2320 PR target/52555
2321 * genopinit.c (raw_optab_handler): Use this_fn_optabs.
2322 (swap_optab_enable): Same.
2323 (init_all_optabs): Use argument instead of global.
88b97037 2324 * tree.h (struct tree_optimization_option): New field target_optabs.
135204dd
AH
2325 * expr.h (init_all_optabs): Add argument to prototype.
2326 (TREE_OPTIMIZATION_OPTABS): New.
2327 (save_optabs_if_changed): Protoize.
2328 * optabs.h: Declare this_fn_optabs.
2329 * optabs.c (save_optabs_if_changed): New.
2330 Declare this_fn_optabs.
2331 (init_optabs): Add argument to init_all_optabs() call.
2332 * function.c (invoke_set_current_function_hook): Handle per
2333 function optabs.
2334 * function.h (struct function): New field optabs.
2335 * config/mips/mips.c (mips_set_mips16_mode): Handle when
2336 optimization_current_node has changed.
2337 * target-globals.h (save_target_globals_default_opts): Protoize.
2338 * target-globals.c (save_target_globals_default_opts): New.
2339
3f587ca3
JDA
23402013-02-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2341
2342 PR target/56347
2343 * config/pa/pa.c (pa_conditional_register_usage): On HP-UX, mark
2344 registers %fr12 and %fr12R as call used.
ceaca33e
JDA
2345
2346 PR target/56214
2347 * config/pa/predicates.md (base14_operand): Except for BLKmode, QImode
88b97037
UB
2348 and HImode, require all displacements to be an integer multiple of
2349 their mode size.
ceaca33e
JDA
2350 * config/pa/pa.c (pa_legitimate_address_p): For REG+BASE addresses,
2351 only allow QImode and HImode when reload is in progress and strict is
2352 true. Likewise for symbolic addresses. Use base14_operand to check
2353 displacements in REG+BASE addresses.
2354
fe0b4796
RB
23552013-02-18 Richard Biener <rguenther@suse.de>
2356
2357 PR tree-optimization/56366
2358 * tree-vect-loop.c (get_initial_def_for_induction): Properly
2359 handle sign-conversion of outer-loop initial induction value.
2360
6aaf596b
RB
23612013-02-18 Richard Biener <rguenther@suse.de>
2362
73db8ff1 2363 PR middle-end/56349
6aaf596b
RB
2364 * cfghooks.c (merge_blocks): If we merge a latch into another
2365 block adjust references to it.
2366 * cfgloop.c (flow_loops_find): Reset latch before recomputing it.
2367 (verify_loop_structure): Verify that a recorded latch is in fact
2368 a latch.
2369
5e97dfb6
RB
23702013-02-18 Richard Biener <rguenther@suse.de>
2371
2372 PR tree-optimization/56321
2373 * tree-ssa-reassoc.c (propagate_op_to_single_use): Properly
2374 order SSA name release and virtual operand unlinking.
2375
825527e8
EI
23762013-02-17 Edgar E. Iglesias <edgar.iglesias@gmail.com>
2377
2378 * config/microblaze/microblaze.md (save_stack_block): Define.
2379 (restore_stack_block): Likewise.
2380
debd11d9
EI
23812013-02-16 Edgar E. Iglesias <edgar.iglesias@gmail.com>
2382
2383 * config/microblaze/linux.h (TARGET_SUPPORTS_PIC): Define as 1.
2384 * config/microblaze/microblaze.h (TARGET_SUPPORTS_PIC): Define as 1.
2385 * config/microblaze/microblaze.c (microblaze_option_override):
2386 Bail out early for PIC modes when target does not support PIC.
2387
8ec77be0
EI
23882013-02-16 Edgar E. Iglesias <edgar.iglesias@gmail.com>
2389
88b97037 2390 * config/microblaze/microblaze.c (microblaze_asm_trampoline_template):
8ec77be0
EI
2391 Replace with a microblaze version.
2392 (microblaze_trampoline_init): Adapt for microblaze.
a752b80f 2393 * config/microblaze/microblaze.h (TRAMPOLINE_SIZE): Adapt for
8ec77be0
EI
2394 microblaze.
2395
b41288b3
JJ
23962013-02-16 Jakub Jelinek <jakub@redhat.com>
2397 Dodji Seketeli <dodji@redhat.com>
2398
2399 PR asan/56330
88b97037 2400 * asan.c (get_mem_refs_of_builtin_call): White space and style cleanup.
b41288b3
JJ
2401 (instrument_mem_region_access): Do not forget to always put
2402 instrumentation of the of 'base' and 'base + len' in a "if (len !=
2403 0) statement, even for cases where either 'base' or 'base + len'
2404 are not instrumented -- because they have been previously
2405 instrumented. Simplify the logic by putting all the statements
2406 instrument 'base + len' inside a sequence, and then insert that
2407 sequence right before the current insertion point. Then, to
2408 instrument 'base + len', just get an iterator on that statement.
2409 And do not forget to update the pointer to iterator the function
2410 received as argument.
2411
47918951
VM
24122013-02-15 Vladimir Makarov <vmakarov@redhat.com>
2413
2414 PR rtl-optimization/56348
2415 * lra-assigns.c (reload_pseudo_compare_func): Prefer bigger pseudos.
2416
3fb7c699
SB
24172013-02-15 Steven Bosscher <steven@gcc.gnu.org>
2418
2419 * graph.c (start_graph_dump): Print dumpfile base as digraph label.
2420 (clean_graph_dump_file): Pass base to start_graph_dump.
2421
576fe41a
RH
24222013-02-14 Richard Henderson <rth@redhat.com>
2423
2424 PR target/55941
2425 * lower-subreg.c (simple_move): Check dest mode instead of src mode.
2426
bb3accfa
SB
24272013-02-14 Steven Bosscher <steven@gcc.gnu.org>
2428
2429 * collect2-aix.h: Define F_LOADONLY.
2430
03143140
RB
24312013-02-14 Richard Biener <rguenther@suse.de>
2432
2433 PR lto/50494
2434 * varasm.c (output_constant_def_1): Get the decl representing
2435 the constant as argument.
2436 (output_constant_def): Wrap output_constant_def_1.
2437 (make_decl_rtl): Use output_constant_def_1 with the decl
2438 representing the constant.
2439 (build_constant_desc): Optionally re-use a decl already
2440 representing the constant.
2441 (tree_output_constant_def): Adjust.
2442
8fb06726
DS
24432013-02-14 Dodji Seketeli <dodji@redhat.com>
2444
2445 Fix an asan crash
2446 * asan.c (instrument_builtin_call): Really put the length of the
2447 second source argument into src1_len.
2448
c4bfe8bf
JJ
24492013-02-13 Jakub Jelinek <jakub@redhat.com>
2450
2451 * asan.c (create_cond_insert_point): Add create_then_fallthru_edge
2452 argument. If it is false, don't create edge from then_bb to
2453 fallthru_bb.
2454 (insert_if_then_before_iter): Pass true to it.
2455 (build_check_stmt): Pass false to it.
2456 (transform_statements): Flush hash table only on extended basic
2457 block boundaries, rather than at the beginning of every bb.
2458 Don't flush hash table on nonfreeing_call_p calls.
2459 * tree-flow.h (nonfreeing_call_p): New prototype.
2460 * tree-ssa-phiopt.c (nonfreeing_call_p): No longer static.
2461
7afe2801
DM
24622013-02-13 David S. Miller <davem@davemloft.net>
2463
2464 * expmed.c (expand_shift_1): Only strip scalar integer subregs.
2465
70cc3288
VM
24662013-02-13 Vladimir Makarov <vmakarov@redhat.com>
2467
2468 PR target/56184
2469 * ira.c (max_regno_before_ira): Move from ...
2470 (ira): ... here.
2471 (fix_reg_equiv_init): Use max_regno_before_ira instead of
2472 vec_safe_length.
2473
6422242b
JJ
24742013-02-13 Jakub Jelinek <jakub@redhat.com>
2475
2476 * config/i386/i386.c (ix86_asan_shadow_offset): Revert last change.
2477
976a81ee
RB
24782013-02-13 Richard Biener <rguenther@suse.de>
2479
2480 PR lto/56295
2481 * gimple-streamer-out.c (output_gimple_stmt): Undo wrapping
2482 globals in MEM_REFs.
2483
c1874a87
RB
24842013-02-13 Richard Biener <rguenther@suse.de>
2485
2486 * loop-init.c (loop_optimizer_init): Clear loop state when
2487 re-initializing preserved loops.
2488 * loop-unswitch.c (unswitch_single_loop): Return whether
2489 we unswitched the loop. Do not verify loop state here.
88b97037 2490 (unswitch_loops): When we unswitched a loop discover new loops.
c1874a87 2491
b4ab7d34
KS
24922013-02-13 Kostya Serebryany <kcc@google.com>
2493
88b97037
UB
2494 * config/i386/i386.c: Use 0x7fff8000 as asan_shadow_offset
2495 on x86_64 linux.
b4ab7d34
KS
2496 * sanitizer.def: Rename __asan_init to __asan_init_v1.
2497
bdcbe80c
DS
24982013-02-12 Dodji Seketeli <dodji@redhat.com>
2499
2500 Avoid instrumenting duplicated memory access in the same basic block
2501 * Makefile.in (asan.o): Add new dependency on hash-table.h
2502 * asan.c (struct asan_mem_ref, struct mem_ref_hasher): New types.
2503 (asan_mem_ref_init, asan_mem_ref_get_end, get_mem_ref_hash_table)
2504 (has_stmt_been_instrumented_p, empty_mem_ref_hash_table)
2505 (free_mem_ref_resources, has_mem_ref_been_instrumented)
2506 (has_stmt_been_instrumented_p, update_mem_ref_hash_table)
2507 (get_mem_ref_of_assignment): New functions.
2508 (get_mem_refs_of_builtin_call): Extract from
2509 instrument_builtin_call and tweak a little bit to make it fit with
2510 the new signature.
2511 (instrument_builtin_call): Use the new
2512 get_mem_refs_of_builtin_call. Use gimple_call_builtin_p instead
2513 of is_gimple_builtin_call.
2514 (instrument_derefs, instrument_mem_region_access): Insert the
2515 instrumented memory reference into the hash table.
2516 (maybe_instrument_assignment): Renamed instrument_assignment into
2517 this, and change it to advance the iterator when instrumentation
2518 actually happened and return true in that case. This makes it
2519 homogeneous with maybe_instrument_assignment, and thus give a
2520 chance to callers to be more 'regular'.
2521 (transform_statements): Clear the memory reference hash table
2522 whenever we enter a new BB, when we cross a function call, or when
2523 we are done transforming statements. Use
2524 maybe_instrument_assignment instead of instrumentation. No more
2525 need to special case maybe_instrument_assignment and advance the
2526 iterator after calling it; it's now handled just like
2527 maybe_instrument_call. Update comment.
2528
4861a1f7
RB
25292013-02-13 Richard Biener <rguenther@suse.de>
2530
2531 * config/mn10300/mn10300.c (mn10300_scan_for_setlb_lcc):
2532 Fix loop discovery code.
2533
1c86bd80
VM
25342013-02-12 Vladimir Makarov <vmakarov@redhat.com>
2535
2536 PR inline-asm/56148
2537 * lra-constraints.c (process_alt_operands): Match early clobber
70cc3288 2538 operand with itself. Check conflicts with earlyclobber only if
1c86bd80
VM
2539 the operand is not reloaded. Prefer to reload conflicting operand
2540 if earlyclobber and matching operands are the same.
2541
7cbda518
RB
25422013-02-12 Richard Biener <rguenther@suse.de>
2543
2544 PR lto/56297
2545 * lto-streamer-out.c (write_symbol): Do not output symbols
2546 for hard register variables.
2547
e68a4ef6
GJL
25482013-02-12 Georg-Johann Lay <avr@gjlay.de>
2549
2550 PR target/54222
2551 * config/avr/avr-dimode.md (umulsidi3, mulsidi3): New expanders.
2552 (umulsidi3_insn, mulsidi3_insn): New insns.
2553
a72d8780 25542013-02-12 Christophe Lyon <christophe.lyon@linaro.org>
2597da22
CL
2555
2556 * config/arm/arm-protos.h (struct cpu_vec_costs): New struct type.
2557 (struct tune_params): Add vec_costs field.
2558 * config/arm/arm.c (arm_builtin_vectorization_cost)
2559 (arm_add_stmt_cost): New functions.
2560 (TARGET_VECTORIZE_BUILTIN_VECTORIZATION_COST)
2561 (TARGET_VECTORIZE_ADD_STMT_COST): Define.
2562 (arm_default_vec_cost): New struct of type cpu_vec_costs.
2563 (arm_slowmul_tune, arm_fastmul_tune, arm_strongarm_tune)
2564 (arm_xscale_tune, arm_9e_tune, arm_v6t2_tune, arm_cortex_tune)
2565 (arm_cortex_a15_tune, arm_cortex_a5_tune, arm_cortex_a9_tune)
2566 (arm_v6m_tune, arm_fa726te_tune): Define new vec_costs field.
2567
43320568
RB
25682013-02-12 Richard Biener <rguenther@suse.de>
2569
2570 PR lto/56295
2571 * gimple-streamer-in.c (input_gimple_stmt): Strip MEM_REFs off
2572 decls again if possible.
2573
a011aa39
RB
25742013-02-12 Richard Biener <rguenther@suse.de>
2575
2576 PR middle-end/56288
2577 * tree-ssa.c (verify_ssa_name): Fix check, move
2578 SSA_NAME_IN_FREE_LIST check up.
2579
6da26889
JJ
25802013-02-12 Jakub Jelinek <jakub@redhat.com>
2581 Steven Bosscher <steven@gcc.gnu.org>
2582
2583 PR rtl-optimization/56151
2584 * optabs.c (add_equal_note): Don't return 0 if target is a MEM,
2585 equal to op0 or op1, and last_insn pattern is CODE operation
2586 with MEM dest and one of the operands matches that MEM.
2587
f80e0faf
ST
25882013-02-11 Sriraman Tallam <tmsriramgoogle.com>
2589
2590 * doc/extend.texi: Document Function Multiversioning and "default"
2591 parameter string to target attribute.
2592 * config/i386/i386.c (get_builtin_code_for_version): Return 0 if
2593 target attribute parameter is "default".
2594 (ix86_compare_version_priority): Remove checks for target attribute.
2595 (ix86_mangle_function_version_assembler_name): Change error to sorry.
2596 Remove check for target attribute equal to NULL. Add assert.
2597 (ix86_generate_version_dispatcher_body): Change error to sorry.
2598
6c59ffd1
IS
25992013-02-11 Iain Sandoe <iain@codesourcery.com>
2600 Jack Howarth <howarth@bromo.med.uc.edu>
2601 Patrick Marlier <patrick.marlier@gmail.com>
2602
2603 PR libitm/55693
2604 * config/darwin.h: Replace ENDFILE_SPEC with TM_DESTRUCTOR and
2605 define ENDFILE_SPEC as TM_DESTRUCTOR.
2606 * config/i386/darwin.h (ENDFILE_SPEC): Use TM_DESTRUCTOR.
2607
a72d8780 26082013-02-11 Alexander Potapenko <glider@google.com>
6a52ccb3
AP
2609 Jack Howarth <howarth@bromo.med.uc.edu>
2610 Jakub Jelinek <jakub@redhat.com>
2611
2612 PR sanitizer/55617
2613 * config/darwin.c (cdtor_record): Rename ctor_record.
2614 (sort_cdtor_records): Rename sort_ctor_records.
2615 (finalize_dtors): New routine to sort destructors by
2616 priority before use in assemble_integer.
2617 (machopic_asm_out_destructor): Use finalize_dtors if needed.
2618
b63fe007
UB
26192013-02-11 Uros Bizjak <ubizjak@gmail.com>
2620
2621 PR rtl-optimization/56275
2622 * simplify-rtx.c (avoid_constant_pool_reference): Check that
2623 offset is non-negative and less than cmode size before
2624 calling simplify_subreg.
2625
8e89b5b5
RB
26262013-02-11 Richard Biener <rguenther@suse.de>
2627
2628 PR tree-optimization/56264
2629 * cfgloop.h (fix_loop_structure): Adjust prototype.
2630 * loop-init.c (fix_loop_structure): Return the number of
2631 newly discovered loops.
2632 * tree-cfgcleanup.c (repair_loop_structures): When new loops
2633 are discovered, do a full loop-closed SSA rewrite.
2634
b4a4b56d
RB
26352013-02-11 Richard Biener <rguenther@suse.de>
2636
2637 PR tree-optimization/56273
2638 * tree-vrp.c (simplify_cond_using_ranges): Disable for the
2639 first VRP run.
2640 (check_array_ref): Fix missing newline in dumps.
2641 (search_for_addr_array): Likewise.
2642
0c885229
DE
26432013-02-09 David Edelsohn <dje.gcc@gmail.com>
2644
2645 * config/rs6000/aix61.h (OS_MISSING_ALTIVEC): Undefine.
2646
59ac9a55
JJ
26472013-02-09 Jakub Jelinek <jakub@redhat.com>
2648
2649 PR target/56256
2650 * config/rs6000/rs6000.h (ASSEMBLER_DIALECT): Define.
2651
25bb0bb5
VM
26522013-02-08 Vladimir Makarov <vmakarov@redhat.com>
2653
2654 PR rtl-optimization/56246
0c885229 2655 * lra-constraints.c (simplify_operand_subreg): Try to reuse
25bb0bb5
VM
2656 reload pseudo.
2657 * lra.c (lra): Clear lra_optional_reload_pseudos only when all
2658 constraints are satisfied.
2659
a698cc03
JL
26602013-02-08 Jeff Law <law@redhat.com>
2661
2662 PR debug/53948
2663 * emit-rtl.c (reg_is_parm_p): New function.
2664 * regs.h (reg_is_parm_p): New prototype.
2665 * ira-conflicts.c (ira_build_conflicts): Allow parameters in
2666 callee-clobbered registers.
2667
e1122ddd
MM
26682013-02-08 Michael Meissner <meissner@linux.vnet.ibm.com>
2669
2670 PR target/56043
2671 * config/rs6000/rs6000.c (rs6000_builtin_vectorized_libmass):
2672 If there is no implicit builtin declaration, just return NULL.
2673
19c5f6e6
UB
26742013-02-08 Uros Bizjak <ubizjak@gmail.com>
2675
2676 * config/i386/sse.md (FMAMODEM): New mode iterator.
2677 (fma<mode>4, fms<mode>4, fnma<mode>4, fnms<mode>4): Use FMAMODEM
2678 mode iterator. Do not use TARGET_SSE_MATH in insn constraint.
2679
2480f2ca 26802013-02-08 Uros Bizjak <ubizjak@gmail.com>
76ef61fb 2681
2480f2ca
UB
2682 * config/i386/gnu-user.h (TARGET_CAN_SPLIT_STACK): Define only
2683 when HAVE_GAS_CFI_PERSONALITY_DIRECTIVE is set.
2684 * config/i386/gnu-user64.h (TARGET_CAN_SPLIT_STACK): Ditto.
2685
26862013-02-08 Edgar E. Iglesias <edgar.iglesias@gmail.com>
2687
2688 * config.gcc (microblaze*-linux*): Add TARGET_BIG_ENDIAN_DEFAULT.
2689 (microblaze*-*-elf): Likewise.
2690 * config/microblaze/linux.h: Add -mbig-endian / -mlittle-endian to
2691 LINK_SPEC.
2692 * config/microblaze/microblaze-c.c: Add builtin defines for
2693 _LITTLE_ENDIAN and _BIG_ENDIAN.
2694 * config/microblaze/microblaze.h: Add TARGET_ENDIAN_DEFAULT and
2695 add to TARGET_DEFAULT flags.
76ef61fb 2696 Expand ASM_SPEC and LINK_SPEC.
2480f2ca
UB
2697 Update BYTES_BIG_ENDIAN and WORDS_BIG_ENDIAN.
2698 * config/microblaze/microblaze.md: Update extendsidi2 and
2699 movdi_internal instructions to use low-order / high-order reg
2700 print_operands.
2701 * config/microblaze/microblaze.opt: Add mbig-endian and mlittle-endian
2702 options and inversemask / mask of LITTLE_ENDIAN.
2703 * config/microblaze/t-microblaze: Expand multilib options to
2704 include mlittle-endian (le) and update exceptions patterns.
2705
600a5961
JJ
27062013-02-08 Jakub Jelinek <jakub@redhat.com>
2707
5df81313
JJ
2708 PR rtl-optimization/56195
2709 * lra-constraints.c (get_reload_reg): Don't reuse regs
2710 if they have smaller mode than requested, if they have
2711 wider mode than requested, try to return a SUBREG.
2712
600a5961
JJ
2713 PR tree-optimization/56250
2714 * fold-const.c (extract_muldiv_1) <case NEGATE_EXPR>: Don't optimize
2715 if type is unsigned and code isn't MULT_EXPR.
2716
ff544649
GJL
27172013-02-08 Georg-Johann Lay <avr@gjlay.de>
2718
2719 PR tree-optimization/56064
2720 * fixed-value.c (fixed_from_double_int): Sign/zero extend payload
2721 bits according to mode.
2722 * fixed-value.h (fixed_from_double_int)
2723 (const_fixed_from_double_int): Adjust comments.
2724
e45cde98
RB
27252013-02-08 Richard Biener <rguenther@suse.de>
2726
2727 PR lto/56231
2728 * lto-streamer.h (struct data_in): Remove current_file, current_line
2729 and current_col members.
2730 * lto-streamer-out.c (lto_output_location): Stream changed bits
2731 en-block for efficiency.
2732 * lto-streamer-in.c (clear_line_info): Remove.
2733 (lto_input_location): Cache current file, line and column
2734 globally via local statics. Read changed bits en-block.
2735 (input_function): Do not call clear_line_info.
2736 (lto_read_body): Likewise.
2737 (lto_input_toplevel_asms): Likewise.
2738
c1ca73d8
MM
27392013-02-08 Michael Matz <matz@suse.de>
2740
2741 PR tree-optimization/52448
2742 * tree-ssa-phiopt.c (struct name_to_bb): Add phase member.
2743 (nt_call_phase): New static.
2744 (add_or_mark_expr): Only mark accesses with newer phase than any
2745 call seen.
2746 (nonfreeing_call_p): New.
2747 (nt_init_block): Update nt_call_phase, mark blocks as visited.
2748 (nt_fini_block): Keep blocks marked as visited.
2749 (get_non_trapping): Initialize nt_call_phase, and reset aux pointer.
2750
57548aa2
RB
27512013-02-08 Richard Biener <rguenther@suse.de>
2752
2753 * ira.c (ira): Free broken dominator information.
2754
8e10366f
UB
27552013-02-08 Uros Bizjak <ubizjak@gmail.com>
2756
2757 * config/i386/i386.c (ix86_spill_class): Use INTEGER_CLASS_P macro.
2758
f64fb0fa
MP
27592013-02-08 Marek Polacek <polacek@redhat.com>
2760
8e10366f 2761 * cfgloop.c (verify_loop_structure): Add more checking of headers.
f64fb0fa 2762
0375167b
RB
27632013-02-08 Richard Biener <rguenther@suse.de>
2764
2765 PR middle-end/56181
2766 * cfgloop.h (flow_loops_find): Adjust.
2767 (bb_loop_header_p): Declare.
2768 * cfgloop.c (bb_loop_header_p): New function split out from ...
2769 (flow_loops_find): ... here. Adjust function signature,
2770 support incremental loop structure update.
2771 (verify_loop_structure): Cleanup. Verify a loop is a loop.
2772 * cfgloopmanip.c (fix_loop_structure): Move ...
2773 * loop-init.c (fix_loop_structure): ... here.
2774 (apply_loop_flags): Split out from ...
2775 (loop_optimizer_init): ... here.
2776 (fix_loop_structure): Use apply_loop_flags. Use flow_loops_find
2777 in incremental mode, only remove dead loops here.
2778
85d768f3
GJL
27792013-02-08 Georg-Johann Lay <avr@gjlay.de>
2780
2781 PR target/54222
2782 * config/avr/avr.md (unspec) <UNSPEC_ROUND>: Add.
2783 * config/avr/avr-fixed.md (ALL4QA, ALL124QA): New mode iterators.
2784 (round<mode>3, round<mode>3_const): New expanders for fixed-mode.
2785 (*round<mode>3.libgcc): New insns for fixed-modes.
2786 * config/avr/builtins.def (ABSxx): Use a non-NULL LIBNAME.
2787 (ROUNDxx, COUNTLSxx, BITSxx, xxBITS): New DEF_BUILTINs.
2788 (ROUNDFX, COUNTLSFX, ABSFX): New DEF_BUILTINs.
2789 * config/avr/stdfix.h (absFX, bitsFX, FXbits): Remove inline
2790 implementations. Define to __builtin_avr_absFX,
2791 __builtin_avr_bitsFX, __builtin_avr_FXbits, respectively.
2792 (roundFX, countlsFX): Define to __builtin_avr_roundFX,
2793 __builtin_avr_countlsFX, respectively.
2794 * config/avr/avr-c.c (target.h): Include it.
2795 (enum avr_builtin_id): New enum.
2796 (avr_resolve_overloaded_builtin): New static function.
2797 (avr_register_target_pragmas): Use it to set
2798 targetm.resolve_overloaded_builtin.
2799 * config/avr/avr.c (avr_init_builtins): Supply myriads of local
2800 tree nodes used by DEF_BUILTIN.
2801 (avr_expand_builtin) <AVR_BUILTIN_ROUNDxx>: Sanity-check them.
2802 (avr_fold_builtin) <AVR_BUILTIN_BITSxx>: Fold to VIEW_COVERT_EXPR.
2803 <AVR_BUILTIN_xxBITS>: Same.
2804
661bc682
RB
28052013-02-08 Richard Biener <rguenther@suse.de>
2806
2807 * cfgloop.c (verify_loop_structure): Properly handle
2808 a loop exiting to another loop header.
2809 * ira-int.h (ira_loops): Remove.
2810 * ira.c (ira_loops): Remove.
2811 (ira): Use loop_optimizer_init and loop_optimizer_finalize.
2812 (do_reload): Use loop_optimizer_finalize.
2813 * ira-build.c (create_loop_tree_nodes): Use get_loops and
2814 number_of_loops to access the loop tree.
2815 (more_one_region_p): Likewise.
2816 (finish_loop_tree_nodes): Likewise.
2817 (rebuild_regno_allocno_maps): Likewise.
2818 (mark_loops_for_removal): Likewise.
2819 (mark_all_loops_for_removal): Likewise.
2820 (remove_unnecessary_regions): Likewise.
2821 (ira_build): Likewise.
2822 * ira-emit.c (setup_entered_from_non_parent_p): Likewise.
2823
0d5049b2
RB
28242013-02-08 Richard Biener <rguenther@suse.de>
2825
2826 * Makefile.in (tree-tailcall.o): Add $(CFGLOOP_H) dependency.
2827 * ipa-pure-const.c (analyze_function): Avoid calling
2828 mark_irreducible_loops twice.
8e10366f 2829 * tree-tailcall.c (tree_optimize_tail_calls_1): Mark loops for fixup.
0d5049b2 2830
499f32e8
DM
28312013-02-07 David S. Miller <davem@davemloft.net>
2832
2833 * dwarf2out.c (based_loc_descr): Perform leaf register remapping
2834 on 'reg'.
2835 * var-tracking.c (vt_add_function_parameter): Test the presence of
2836 HAVE_window_save properly and do not remap argument registers when
2837 we have a leaf function.
2838
6edc3e32
UB
28392013-02-07 Uros Bizjak <ubizjak@gmail.com>
2840
2841 PR bootstrap/56227
2842 * ggc-page.c (ggc_print_statistics): Use HOST_LONG_LONG_FORMAT
2843 instead of "ll".
2844 * config/i386/i386.c (ix86_print_operand): Ditto.
2845
5306401f
VM
28462013-02-07 Vladimir Makarov <vmakarov@redhat.com>
2847
6edc3e32 2848 * lra-constraints.c (process_alt_operands): Fix recently added comment.
5306401f 2849
027ece11
VM
28502013-02-07 Vladimir Makarov <vmakarov@redhat.com>
2851
2852 PR rtl-optimization/56225
2853 * lra-constraints.c (process_alt_operands): Check that reload hard
2854 reg can hold value for strict_low_part.
2855
f980dfdb
JJ
28562013-02-07 Jakub Jelinek <jakub@redhat.com>
2857
2858 PR debug/56154
2859 * dwarf2out.c (dwarf2_debug_hooks): Set end_function hook to
2860 dwarf2out_end_function.
2861 (in_first_function_p, maybe_at_text_label_p,
2862 first_loclabel_num_not_at_text_label): New variables.
2863 (dwarf2out_var_location): In the first function find out
6edc3e32 2864 lowest loclabel_num N where .LVLN is known not to be equal to .Ltext0.
f980dfdb
JJ
2865 (find_empty_loc_ranges_at_text_label, dwarf2out_end_function): New
2866 functions.
2867
73dd3123
EB
28682013-02-07 Eric Botcazou <ebotcazou@adacore.com>
2869
2870 PR rtl-optimization/56178
2871 * cse.c (cse_insn): Do not create a REG_EQUAL note if the source is a
2872 SUBREG of a register. Tidy up related block of code.
2873 * fwprop.c (forward_propagate_and_simplify): Do not create a REG_EQUAL
2874 note if the source is a register or a SUBREG of a register.
2875
e3936f47
JJ
28762013-02-07 Jakub Jelinek <jakub@redhat.com>
2877
2878 PR target/56228
2879 * config/rs6000/rs6000.md (ptrm): New mode attr.
2880 (call_indirect_aix<ptrsize>, call_indirect_aix<ptrsize>_nor11,
2881 call_value_indirect_aix<pttrsize>,
2882 call_value_indirect_aix<pttrsize>_nor11): Use <ptrm> instead of
2883 m in constraints.
2884
d96d674b
MH
28852013-02-07 Michael Haubenwallner <michael.haubenwallner@salomon.at>
2886
2887 * collect2.c (main): Set aix64_flag for -G and -bsvr4 too, disable
2888 if -bnortl. Convert to strcmp and strncmp.
2889
921f2dee
AM
28902013-02-07 Alan Modra <amodra@gmail.com>
2891
2892 PR target/54009
2893 * config/rs6000/rs6000.c (mem_operand_gpr): Check that LO_SUM
2894 addresses won't wrap when offsetting.
2895 (rs6000_secondary_reload): Provide secondary reloads needed for
2896 wrapping LO_SUM addresses.
2897
d09c7dba
TS
28982013-02-06 Thomas Schwinge <thomas@codesourcery.com>
2899
2900 * config/gnu.h (GNU_USER_TARGET_OS_CPP_BUILTINS): Never define
2901 MACH, just __MACH__.
2902
a44bbd48
RB
29032013-02-06 Richard Biener <rguenther@suse.de>
2904
2905 * tracer.c (tracer): Mark loops with LOOPS_NEED_FIXUP
2906 instead of calling fix_loop_structure.
2907
6d840d99
JJ
29082013-02-06 Jakub Jelinek <jakub@redhat.com>
2909
2910 PR middle-end/56217
2911 * omp-low.c (use_pointer_for_field): Return false if
2912 lower_send_shared_vars doesn't generate any copy-out code.
2913
0f33baa9
TV
29142013-02-06 Tom de Vries <tom@codesourcery.com>
2915
2916 PR rtl-optimization/56131
2917 * cfgrtl.c (delete_insn): Use NOTE_BASIC_BLOCK instead of BLOCK_FOR_INSN
2918 to get the bb of a NOTE_INSN_BASIC_BLOCK. Handle the case that the bb
2919 of the label is NULL. Add comment.
2920
11f1e3ab
JJ
29212013-02-05 Jakub Jelinek <jakub@redhat.com>
2922
31502f9f
JJ
2923 * tree.h (struct tree_decl_with_vis): Remove thread_local field.
2924
a74db9bd
JJ
2925 PR sanitizer/55374
2926 * config/gnu-user.h (LIBTSAN_EARLY_SPEC): Define.
2927 (STATIC_LIBTSAN_LIBS): Likewise.
2928 * gcc.c (ADD_STATIC_LIBTSAN_LIBS, LIBTSAN_EARLY_SPEC): Define.
2929 (LIBTSAN_SPEC): Add ADD_STATIC_LIBTSAN_LIBS, if LIBTSAN_EARLY_SPEC
2930 is defined, don't add anything else beyond that.
2931 (SANITIZER_EARLY_SPEC, SANITIZER_SPEC): Define.
2932 (LINK_COMMAND_SPEC): Use them.
2933
11f1e3ab
JJ
2934 PR tree-optimization/56205
2935 * tree-stdarg.c (check_all_va_list_escapes): Return true if
2936 there are any PHI nodes that set non-va_list_escape_vars SSA_NAME
2937 and some va_list_escape_vars SSA_NAME appears in some PHI argument.
2938
14ac6aa2
RB
29392013-02-05 Richard Biener <rguenther@suse.de>
2940
2941 PR tree-optimization/53342
2942 PR tree-optimization/53185
2943 * tree-vectorizer.h (vect_check_strided_load): Remove.
2944 * tree-vect-data-refs.c (vect_enhance_data_refs_alignment): Do
2945 not disallow peeling for vectorized strided loads.
2946 (vect_check_strided_load): Make static and simplify.
2947 (vect_analyze_data_refs): Adjust.
2948 * tree-vect-stmts.c (vectorizable_load): Handle peeled loops
2949 correctly when vectorizing strided loads.
2950
6f22445a
RB
29512013-02-05 Richard Biener <rguenther@suse.de>
2952
2953 * doc/install.texi: Refer to ISL, not PPL.
2954
39f9719e
JH
29552013-02-05 Jan Hubicka <jh@suse.cz>
2956
ec4224ac
JH
2957 PR tree-optimization/55789
2958 * params.def (PARAM_EARLY_INLINER_MAX_ITERATIONS): Drop to 1.
2959
29602013-02-05 Jan Hubicka <jh@suse.cz>
2961
2962 PR tree-optimization/55789
39f9719e
JH
2963 * cgraphclones.c (cgraph_remove_node_and_inline_clones): Remove
2964 the dead call anyway.
2965
956d3b33
EB
29662013-02-05 Eric Botcazou <ebotcazou@adacore.com>
2967
2968 PR sanitizer/55374
2969 * config/gnu-user.h (LIBASAN_EARLY_SPEC): Add missing guard.
2970
29712013-02-04 Alexander Potapenko <glider@google.com>
2972 Jack Howarth <howarth@bromo.med.uc.edu>
ae526fe5
AP
2973 Jakub Jelinek <jakub@redhat.com>
2974
2975 PR sanitizer/55617
2976 * config/darwin.c (sort_ctor_records): Stabilized qsort
2977 on constructor priority by using original position.
2978 (finalize_ctors): New routine to sort constructors by
2979 priority before use in assemble_integer.
2980 (machopic_asm_out_constructor): Use finalize_ctors if needed.
2981
7ac3af38
JJ
29822013-02-04 Jakub Jelinek <jakub@redhat.com>
2983
2984 PR libstdc++/54314
2985 * config/i386/winnt.c (i386_pe_assemble_visibility): Don't warn
2986 about visibility on artificial decls.
2987 * config/sol2.c (solaris_assemble_visibility): Likewise.
2988
152689dc
KT
29892013-02-04 Kai Tietz <ktietz@redhat.com>
2990
2991 PR target/56186
2992 * config/i386/i386.c (function_value_ms_64): Add additional valtype
2993 argument and improve checking of return-argument types for 16-byte
2994 modes.
2995 (ix86_function_value_1): Add additional valtype argument on call
2996 of function_value_64.
2997 (return_in_memory_ms_64): Sync 16-byte sized mode handling with
2998 handling infunction_value_64 function.
2999
2b5987b5
MGD
30002013-02-04 Matthew Gretton-Dann <matthew.gretton-dann@linaro.org>
3001
7ac3af38 3002 * reload.c (subst_reloads): Fix DEBUG_RELOAD build issue.
2b5987b5 3003
14597080
RB
30042013-02-04 Richard Biener <rguenther@suse.de>
3005
3006 PR tree-optimization/56188
3007 * tree-ssa-structalias.c (label_visit): Consider case with
3008 initially non-empty points-to set.
3009 (perform_var_substitution): Dump node mapping and clean up.
3010
ed73881e
RG
30112013-02-04 Richard Guenther <rguenther@suse.de>
3012
3013 PR lto/56168
3014 * lto-symtab.c (lto_symtab_merge_decls_1): Make non-builtin
3015 node prevail as last resort.
3016 (lto_symtab_merge_decls): Remove guard on LTRANS here.
6edc3e32 3017 (lto_symtab_prevailing_decl): Builtins are their own prevailing decl.
ed73881e 3018
139a0707
RB
30192013-02-04 Richard Biener <rguenther@suse.de>
3020
3021 PR tree-optimization/56113
3022 * tree-ssa-structalias.c (equiv_class_lookup, equiv_class_add):
3023 Merge into ...
3024 (equiv_class_lookup_or_add): ... this.
3025 (label_visit): Adjust and fix error in previous patch.
3026 (perform_var_substitution): Adjust.
3027
50fe8924
OE
30282013-02-03 Oleg Endo <olegendo@gcc.gnu.org>
3029
3030 * config/sh/divtab.c: Fix formatting and comments throughout the file.
3031 * config/sh/sh4-300.md: Likewise.
3032 * config/sh/sh4a.md: Likewise.
3033 * config/sh/constraints.md: Likewise.
3034 * config/sh/sh.md: Likewise.
3035 * config/sh/netbsd-elf.h: Likewise.
3036 * config/sh/predicates.md: Likewise.
3037 * config/sh/sh-protos.h: Likewise.
3038 * config/sh/ushmedia.h: Likewise.
3039 * config/sh/linux.h: Likewise.
3040 * config/sh/sh.c: Likewise.
3041 * config/sh/superh.h: Likewise.
3042 * config/sh/elf.h: Likewise.
3043 * config/sh/sh4.md: Likewise.
3044 * config/sh/sh.h: Likewise.
3045
1a04ac2b
JDA
30462013-02-03 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
3047
3048 * config/pa/constraints.md: Adjust unused letters. Change "T"
3049 constraint to match_test floating_point_store_memory_operand().
3050 * config/pa/predicates.md (reg_plus_base_memory_operand): New.
3051 (base14_operand): New.
3052 (floating_point_store_memory_operand): New.
3053 (integer_store_memory_operand): Revise to use base14_operand and
3054 reg_plus_base_memory_operand.
3055 (move_dest_operand): Allow symbolic_memory_operands.
3056 (symbolic_memory_operand): Check for LO_SOM.
3057 (symbolic_operand): Change default case to break.
3058 * config/pa/pa.md: Remove unamed DFmode and SFmode patterns to force
3059 CONST_DOUBLE values to be reloaded by putting them into memory when
3060 the destination is a floating point register.
3061 (movdf): Remove code to handle CONST_DOUBLE.
3062 (movsf): Likewise.
3063 (reload_indf_r1): New.
3064 (reload_insf_r1): New.
3065 Consistently use "Q" and "T" constraints with integer and floating
3066 point move instructions, respectively.
3067 (movdi): Remove FAIL.
3068 Change predicate for source operand unamed DImode move from
3069 general_operand to move_src_operand.
3070 (umulsidi3): Change predicate for destination operand to
3071 register_operand.
3072 Likewise for similar unamed patterns.
3073 * config/pa/pa-protos.h (pa_legitimize_reload_address): Declare.
3074 * config/pa/pa.c (pa_symbolic_expression_p): Remove extra parenthesis.
3075 (hppa_legitimize_address): Simplify mask calculation.
3076 (pa_emit_move_sequence): Revised handling of secondary reloads from
3077 REG+D addresses for floating point loads and stores. Directly handle
3078 loading CONST0_RTX (mode) to a floating point register.
3079 (pa_secondary_reload): Handle reloading DF and SFmode constant values
3080 to floating point registers. Don't restrict secondary reloads to
3081 floating point registers to integer modes. Revise some comments and
3082 cleanup some code.
3083 (TARGET_LEGITIMATE_ADDRESS_P): Define.
3084 (pa_legitimate_address_p): New.
3085 (pa_legitimize_reload_address): New.
3086 * config/pa/pa.h (STRICT_REG_OK_FOR_INDEX_P): New.
3087 (STRICT_REG_OK_FOR_BASE_P): New.
3088 (GO_IF_LEGITIMATE_ADDRESS): Delete. Update some related comments.
3089 (LEGITIMIZE_RELOAD_ADDRESS): Revise to use pa_legitimize_reload_address.
3090
3bf65591
DE
30912013-02-03 David Edelsohn <dje.gcc@gmail.com>
3092 Andrew Dixie <andrewd@gentrack.com>
3093
3094 * collect2.c (GCC_CHECK_HDR): Do not scan objects with F_LOADONLY
3095 flag set.
3096
c0a8a3e6
RS
30972013-02-03 Richard Sandiford <rdsandiford@googlemail.com>
3098
3099 * expmed.c (extract_bit_field_1): Pass the full width of the
3100 structure to get_best_reg_extraction_insn.
3101
99113dff
DE
31022013-02-01 David Edelsohn <dje.gcc@gmail.com>
3103
3104 PR target/54601
3105 * configure.ac (use_cxa_atexit): Add AIX.
3106 * configure: Regenerate.
3107
3108 * config/rs6000/aix61.h (STARTFILE_SPEC): Add crtcxa.o.
3109
ddd84654
JJ
31102013-02-01 Jakub Jelinek <jakub@redhat.com>
3111
3112 PR debug/54793
3113 * final.c (need_profile_function): New variable.
3114 (final_start_function): Drop ATTRIBUTE_UNUSED from first argument.
3115 If first of NOTE_INSN_BASIC_BLOCK or NOTE_INSN_FUNCTION_BEG
3116 is only preceeded by NOTE_INSN_VAR_LOCATION or NOTE_INSN_DELETED
3117 notes, targetm.asm_out.function_prologue doesn't emit anything,
3118 HAVE_prologue and profiler should be emitted before prologue,
3119 set need_profile_function instead of emitting it.
3120 (final_scan_insn): If need_profile_function, emit
3121 profile_function on the first NOTE_INSN_BASIC_BLOCK or
3122 NOTE_INSN_FUNCTION_BEG note.
3123
31242013-02-01 Richard Henderson <rth@redhat.com>
749af8ee
RH
3125
3126 * config/rs6000/rs6000.md (smulditi3): New.
3127 (umulditi3): New.
3128
ff2a9d88
RH
3129 * config/alpha/alpha.md (umulditi3): New.
3130
14d52b90
DE
31312013-02-01 David Edelsohn <dje.gcc@gmail.com>
3132
3133 * config/rs6000/xcoff.h (ASM_OUTPUT_ALIGNED_COMMON): Use floor_log2.
3134 (ASM_OUTPUT_ALIGNED_LOCAL): New.
3135
8c7ca45c
RB
31362013-02-01 Richard Biener <rguenther@suse.de>
3137
3138 PR tree-optimization/56113
3139 * tree-ssa-structalias.c (label_visit): Reduce work for
3140 single-predecessor nodes.
3141
9f419393
EB
31422013-02-01 Eric Botcazou <ebotcazou@adacore.com>
3143
3144 * fold-const.c (make_range_step) <TRUTH_NOT_EXPR>: Bail out if the
3145 range isn't testing for zero.
3146
c5f4be84
SB
31472013-01-31 Steven Bosscher <steven@gcc.gnu.org>
3148
3149 PR middle-end/56113
3150 * fwprop.c (fwprop_init): Set up loops without CFG modifications.
3151
dbdbd982
NC
31522013-01-31 Hiroyuki Ono <hiroyuki.ono.jc@renesas.com>
3153 Nick Clifton <nickc@redhat.com>
3154
3155 * config/v850/constraints.md (Q): Define as a memory constraint.
3156 * config/v850/predicates.md (label_ref_operand): New predicate.
3157 (e3v5_shift_operand): New predicate.
3158 (ior_operator): New predicate.
3159 * config/v850/t-v850: Add e3v5 multilib.
3160 * config/v850/v850-protos.h (v850_adjust_insn_length): Prototype.
3161 (v850_gen_movdi): Prototype.
3162 * config/v850/v850.c: Add support for e3v5 architecture.
3163 Rename all uses of TARGET_V850E || TARGET_V850E2_ALL to
3164 TARGET_V850E_UP.
3165 (construct_save_jarl): Add e3v5 long JARL support.
3166 (v850_adjust_insn_length): New function. Adjust length of call
3167 insns when using e3v5 instructions.
3168 (v850_gen_movdi): New function: Generate instructions to move a
3169 DImode value.
3170 * config/v850/v850.h (TARGET_CPU_v850e3v5): Define.
3171 (CPP_SPEC): Define __v850e3v5__ as appropriate.
3172 (TARGET_USE_FPU): Enable for e3v5.
3173 (CONST_OK_FOR_W): New macro.
3174 (ADJUST_INSN_LENGTH): Define.
3175 * config/v850/v850.md (UNSPEC_LOOP): Define.
3176 (attr cpu): Add v850e3v5.
3177 Rename all uses of TARGET_V850E2 to TARGET_V850E2V3_UP.
3178 (movdi): New pattern.
3179 (movdi_internal): New pattern.
3180 (cbranchsf4): Conditionalize on TARGET_USE_FPU.
3181 (cbranchdf4): Conditionalize on TARGET_USE_FPU.
3182 (cstoresf4): Likewise.
3183 (cstoredf4): Likewise.
3184 (insv): New pattern.
3185 (rotlso3_a): New pattern.
3186 (rotlsi3_b): New pattern
3187 (rotlsi3_v850e3v5): New pattern.
3188 (doloop_begin): New pattern.
3189 (fix_loop_counter): New pattern.
3190 (doloop_end): New pattern.
3191 (branch_normal): Add e3v5 long branch support.
3192 (branch_invert): Likewise.
3193 (branch_z_normal): Likewise.
3194 (branch_z_invert): Likewise.
3195 (branch_nz_normal): Likewise.
3196 (branch_nz_invert): Likewise.
3197 (call_internal_short): Add e3v5 register-indirect JARL support.
3198 (call_internal_long): Likewise.
3199 (call_value_internal_short): Likewise.
3200 (call_value_internal_long): Likewise.
3201 * config/v850/v850.opt (mv850e3v5, mv850e2v4): New options.
3202 (mloop): New option.
3203 * config.gcc: Add support for configuring v840e3v5 target.
6edc3e32 3204 * doc/invoke.texi: Document new v850 specific command line options.
dbdbd982 3205
73861a41
PK
32062013-01-31 Paul Koning <ni1d@arrl.net>
3207
3208 PR debug/55059
3209 PR debug/54508
3210 * dwarf2out.c (prune_unused_types_mark): Mark all of parent's
3211 children if parent is a class.
3212 (prune_unused_types_prune): Don't add DW_AT_declaration.
3213
e44978dc
RB
32142013-01-31 Richard Biener <rguenther@suse.de>
3215
3216 PR tree-optimization/56157
3217 * tree-vect-slp.c (vect_get_slp_defs): More thoroughly try to
3218 match up operand with SLP child.
3219
90b10dec
JM
32202013-01-31 Jason Merrill <jason@redhat.com>
3221
04d2dadd 3222 PR debug/54410
90b10dec
JM
3223 * dwarf2out.c (gen_struct_or_union_type_die): Always schedule template
3224 parameters the first time.
3225 (gen_scheduled_generic_parms_dies): Check completeness here.
3226
6e616110
RB
32272013-01-31 Richard Biener <rguenther@suse.de>
3228
3229 PR middle-end/53073
3230 * common.opt (faggressive-loop-optimizations): New flag,
3231 enabled by default.
3232 * doc/invoke.texi (faggressive-loop-optimizations): Document.
3233 * tree-ssa-loop-niter.c (estimate_numbers_of_iterations_loop): Guard
3234 infer_loop_bounds_from_undefined by it.
3235
636f59cf
RB
32362013-01-31 Richard Biener <rguenther@suse.de>
3237
3238 PR tree-optimization/56150
3239 * tree-ssa-loop-manip.c (find_uses_to_rename_stmt): Do not
3240 visit virtual operands.
3241 (find_uses_to_rename_bb): Likewise.
3242
32432013-01-31 Richard Biener <rguenther@suse.de>
fcfa87ac
RB
3244
3245 PR tree-optimization/56150
3246 * tree-ssa-tail-merge.c (gimple_equal_p): Properly handle
3247 mixed store non-store stmts.
3248
32887460
JJ
32492013-01-30 Jakub Jelinek <jakub@redhat.com>
3250
e60e09a0
JJ
3251 PR sanitizer/55374
3252 * gcc.c (LIBASAN_SPEC): Define just to ADD_STATIC_LIBASAN_LIBS if
3253 LIBASAN_EARLY_SPEC is defined.
3254 (LIBASAN_EARLY_SPEC): Define to empty string if not already defined.
3255 (LINK_COMMAND_SPEC): Add LIBASAN_EARLY_SPEC for -fsanitize=address,
3256 before %o.
3257 * config/gnu-user.h (LIBASAN_EARLY_SPEC): Define.
3258
32887460
JJ
3259 PR c++/55742
3260 * config/i386/i386.c (ix86_valid_target_attribute_inner_p): Diagnose
3261 invalid args instead of ICEing on it.
3262 (ix86_valid_target_attribute_tree): Return error_mark_node if
3263 ix86_valid_target_attribute_inner_p failed.
3264 (ix86_valid_target_attribute_p): Return false only if
3265 ix86_valid_target_attribute_tree returned error_mark_node. Allow
3266 target("default") attribute.
3267 (sorted_attr_string): Change argument from const char * to tree,
3268 merge in all target attribute arguments rather than just one.
3269 Formatting fix. Use XNEWVEC instead of xmalloc and XDELETEVEC
3270 instead of free. Avoid using strcat.
3271 (ix86_mangle_function_version_assembler_name): Mangle
3272 target("default") as if no target attribute is present. Adjust
3273 sorted_attr_string caller. Avoid leaking memory. Use XNEWVEC
3274 instead of xmalloc and XDELETEVEC instead of free.
3275 (ix86_function_versions): Don't return true if one of the decls
3276 doesn't have target attribute. If they don't and one of the decls
3277 is DECL_FUNCTION_VERSIONED, report an error. Adjust
3278 sorted_attr_string caller. Use XDELETEVEC instead of free.
3279 (ix86_supports_function_versions): Remove.
3280 (make_name): Fix up formatting.
3281 (make_dispatcher_decl): Remove resolver_name and its initialization.
3282 Avoid leaking memory.
3283 (is_function_default_version): Return true if there is
3284 target("default") attribute rather than no target attribute at all.
3285 (make_resolver_func): Avoid leaking memory.
3286 (ix86_generate_version_dispatcher_body): Likewise.
3287 (TARGET_OPTION_SUPPORTS_FUNCTION_VERSIONS): Remove.
3288 * target.def (supports_function_versions): Remove.
3289 * doc/tm.texi.in (SUPPORTS_FUNCTION_VERSIONS): Remove.
3290 * doc/tm.texi: Regenerated.
3291
73cca0cc
VM
32922013-01-30 Vladimir Makarov <vmakarov@redhat.com>
3293
3294 PR rtl-optimization/56144
3295 * lra-constraints.c (get_reload_reg): Don't reuse reload pseudo
3296 for values with side effects.
3297
11452e7b
RB
32982013-01-30 Richard Biener <rguenther@suse.de>
3299
3300 * sparseset.h (sparseset_bit_p): Use gcc_checking_assert.
3301 (sparseset_pop): Likewise.
3302 * cfganal.c (compute_idf): Likewise. Increase work-stack size
3303 to be able to use quick_push in the worker loop.
3304
01cb1ef5
MP
33052013-01-30 Marek Polacek <polacek@redhat.com>
3306
3307 * cfgcleanup.c (cleanup_cfg): Don't mark affected BBs.
3308
e892936e
RB
33092013-01-30 Richard Biener <rguenther@suse.de>
3310
3311 PR lto/56147
6edc3e32 3312 * lto-symtab.c (lto_symtab_merge_decls_1): Guard DECL_BUILT_IN check.
e892936e 3313
cc06c01d
GJL
33142013-01-30 Georg-Johann Lay <avr@gjlay.de>
3315
3316 PR tree-optimization/56064
3317 * fixed-value.c (fixed_from_double_int): New function.
3318 * fixed-value.h (fixed_from_double_int): New prototype.
3319 (const_fixed_from_double_int): New static inline function.
3320 * fold-const.c (native_interpret_fixed): New static function.
3321 (native_interpret_expr) <FIXED_POINT_TYPE>: Use it.
3322 (can_native_interpret_type_p) <FIXED_POINT_TYPE>: Return true.
3323 (native_encode_fixed): New static function.
3324 (native_encode_expr) <FIXED_CST>: Use it.
3325 (native_interpret_int): Move double_int worker code to...
3326 * double-int.c (double_int::from_buffer): ...this new static method.
3327 * double-int.h (double_int::from_buffer): Prototype it.
3328
d394a308
RB
33292013-01-30 Richard Biener <rguenther@suse.de>
3330
3331 * tree-ssa-structalias.c (final_solutions, final_solutions_obstack):
3332 New pointer-map and obstack.
3333 (init_alias_vars): Allocate pointer-map and obstack.
3334 (delete_points_to_sets): Free them.
3335 (find_what_var_points_to): Cache result.
3336 (find_what_p_points_to): Adjust for changed interface of
3337 find_what_var_points_to.
3338 (compute_points_to_sets): Likewise.
3339 (ipa_pta_execute): Likewise.
3340
20804d96
RO
33412013-01-30 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3342
3343 * configure.ac (HAVE_AS_SPARC_NOBITS): New test.
3344 * configure: Regenerate.
3345 * config.in: Regenerate.
3346 * config/sparc/sparc.c (sparc_solaris_elf_asm_named_section): Emit
3347 #nobits/#progbits if supported.
3348
a7ad88a2
OE
33492013-01-29 Oleg Endo <olegendo@gcc.gnu.org>
3350
3351 PR target/56121
3352 * config/sh/sh.md (bclr_m2a, bset_m2a, bst_m2a, bld_m2a, bldsign_m2a,
3353 bld_reg, *bld_regqi, band_m2a, bandreg_m2a, bor_m2a, borreg_m2a,
3354 bxor_m2a, bxorreg_m2a): Add satisfies_constraint_K03 condition.
3355
7af79f92
GY
33562013-01-29 Greta Yorsh <Greta.Yorsh@arm.com>
3357
91bfca59
OE
3358 * config/arm/cortex-a7.md (cortex_a7_neon, cortex_a7_all): Remove.
3359 (cortex_a7_idiv): Use cortex_a7_both instead of cortex_a7_all.
7af79f92 3360
753bcf7b
GY
33612013-01-29 Greta Yorsh <Greta.Yorsh@arm.com>
3362
91bfca59
OE
3363 * config/arm/arm.c (cortexa7_younger): Return true for TYPE_CALL.
3364 * config/arm/cortex-a7.md (cortex_a7_call): Update required units.
753bcf7b 3365
8cbc2ea8
GY
33662013-01-29 Greta Yorsh <Greta.Yorsh@arm.com>
3367
91bfca59
OE
3368 * config/arm/arm-protos.h (arm_mac_accumulator_is_result): New
3369 declaration.
3370 * config/arm/arm.c (arm_mac_accumulator_is_result): New function.
3371 * config/arm/cortex-a7.md: New bypasses using
3372 arm_mac_accumulator_is_result.
8cbc2ea8 3373
697a3325
GY
33742013-01-29 Greta Yorsh <Greta.Yorsh@arm.com>
3375
91bfca59 3376 * config/arm/cortex-a7.md (cortex_a7_neon_mul): New reservation.
697a3325 3377 (cortex_a7_neon_mla): Likewise.
91bfca59
OE
3378 (cortex_a7_fpfmad): New reservation.
3379 (cortex_a7_fpmacs): Use ffmas and update required units.
3380 (cortex_a7_fpmuld): Update required units and latency.
3381 (cortex_a7_fpmacd): Likewise.
3382 (cortex_a7_fdivs, cortex_a7_fdivd): Likewise.
3383 (cortex_a7_neon). Likewise.
3384 (bypass) Update participating units.
697a3325 3385
29637783
GY
33862013-01-29 Greta Yorsh <Greta.Yorsh@arm.com>
3387
91bfca59
OE
3388 * config/arm/arm.md (type): Add ffmas and ffmad to "type" attribute.
3389 * config/arm/vfp.md (fma,fmsub,fnmsub,fnmadd): Change type
3390 from fmac to ffma.
3391 * config/arm/vfp11.md (vfp_farith): Use ffmas.
3392 (vfp_fmul): Use ffmad.
3393 * config/arm/cortex-r4f.md (cortex_r4_fmacs): Use ffmas.
3394 (cortex_r4_fmacd): Use ffmad.
3395 * config/arm/cortex-m4-fpu.md (cortex_m4_fmacs): Use ffmas.
3396 * config/arm/cortex-a9.md (cortex_a9_fmacs): Use ffmas.
3397 (cortex_a9_fmacd): Use ffmad.
3398 * config/arm/cortex-a8-neon.md (cortex_a8_vfp_macs): Use ffmas.
3399 (cortex_a8_vfp_macd): Use ffmad.
3400 * config/arm/cortex-a5.md (cortex_a5_fpmacs): Use ffmas.
3401 (cortex_a5_fpmacd): Use ffmad.
3402 * config/arm/cortex-a15-neon.md (cortex_a15_vfp_macs) Use ffmas.
3403 (cortex_a15_vfp_macd): Use ffmad.
3404 * config/arm/arm1020e.md (v10_fmul): Use ffmas and ffmad.
29637783 3405
2ee8a2d5
JM
34062013-01-29 Jason Merrill <jason@redhat.com>
3407
3408 PR libstdc++/54314
3409 * varasm.c (default_assemble_visibility): Don't warn about
3410 visibility on artificial decls.
3411
78d087bc
RB
34122013-01-29 Richard Biener <rguenther@suse.de>
3413
3414 PR tree-optimization/56113
3415 * tree-ssa-structalias.c (equiv_class_lookup): Also return
3416 the bitmap leader.
3417 (label_visit): Free duplicate bitmaps and record the leader instead.
3418 (perform_var_substitution): Adjust.
3419
83ba4d6f
RB
34202013-01-29 Richard Biener <rguenther@suse.de>
3421
3422 PR tree-optimization/55270
3423 * tree-ssa-dom.c (eliminate_degenerate_phis): If we changed
3424 the CFG, schedule loops for fixup.
3425
66dfe13f
NC
34262013-01-29 Nick Clifton <nickc@redhat.com>
3427
3428 * config/rl78/rl78.c (rl78_regno_mode_code_ok_for_base_p): Allow
3429 SP_REG.
3430
5a579c3b
LE
34312013-01-28 Leif Ekblad <leif@rdos.net>
3432
3433 * config.gcc (i[34567]86-*-rdos*, x86_64-*-rdos*): New targets.
3434 * config/i386/i386.h (TARGET_RDOS): New macro.
3435 (DEFAULT_LARGE_SECTION_THRESHOLD): New macro.
3436 * config/i386/i386.c (ix86_option_override_internal): For 64bit
3437 TARGET_RDOS, set ix86_cmodel to CM_MEDIUM_PIC and flag_pic to 1.
3438 * config/i386/i386.opt (mlarge-data-threshold): Initialize to
3439 DEFAULT_LARGE_SECTION_THRESHOLD.
3440 * config/i386/i386.md (R14_REG, R15_REG): New constants.
3441 * config/i386/rdos.h: New file.
3442 * config/i386/rdos64.h: New file.
3443
51e44392
BS
34442013-01-28 Bernd Schmidt <bernds@codesourcery.com>
3445
3446 PR other/54814
3447 * reload.c (find_valid_class_1): Use in_hard_reg_set_p instead of
3448 TEST_HARD_REG_BIT.
3449
db1fb332
JJ
34502013-01-28 Jakub Jelinek <jakub@redhat.com>
3451
3452 PR rtl-optimization/56117
3453 * sched-deps.c (sched_analyze_2) <case PREFETCH>: For use_cselib
3454 call cselib_lookup_from_insn on the MEM before calling
3455 add_insn_mem_dependence.
3456
16917761
RB
34572013-01-28 Richard Biener <rguenther@suse.de>
3458
3459 * tree-inline.c (remap_gimple_stmt): Do not assing a BLOCK
3460 to a stmt that didn't have one.
3461 (copy_phis_for_bb): Likewise for PHI arguments.
3462 (copy_debug_stmt): Likewise for debug stmts.
3463
b9fc0497
RB
34642013-01-28 Richard Biener <rguenther@suse.de>
3465
3466 PR tree-optimization/56034
6edc3e32 3467 * tree-loop-distribution.c (enum partition_kind): Add PKIND_REDUCTION.
b9fc0497
RB
3468 (partition_builtin_p): Adjust.
3469 (generate_code_for_partition): Handle PKIND_REDUCTION. Assert
3470 it is the last partition.
3471 (rdg_flag_uses): Check SSA_NAME_IS_DEFAULT_DEF before looking
3472 up the vertex for the definition.
3473 (classify_partition): Classify whether a partition is a
3474 PKIND_REDUCTION, thus has uses outside of the loop.
3475 (ldist_gen): Inherit PKIND_REDUCTION when merging partitions.
3476 Merge all PKIND_REDUCTION partitions into the last partition.
3477 (tree_loop_distribution): Seed partitions from reductions as well.
3478
aa710d25
JJ
34792013-01-28 Jakub Jelinek <jakub@redhat.com>
3480
0bfbca58
JJ
3481 PR tree-optimization/56125
3482 * tree-ssa-math-opts.c (gimple_expand_builtin_pow): Don't optimize
3483 pow(x,c) into sqrt(x) * powi(x, n/2) or
3484 1.0 / (sqrt(x) * powi(x, abs(n/2))) if c is an integer or when
3485 optimizing for size.
3486 Don't optimize pow(x,c) into powi(x, n/3) * powi(cbrt(x), n%3) or
3487 1.0 / (powi(x, abs(n)/3) * powi(cbrt(x), abs(n)%3)) if 2c is an
3488 integer.
3489
aa710d25
JJ
3490 PR tree-optimization/56094
3491 * gimplify.c (force_gimple_operand_1): Temporarily set input_location
3492 to UNKNOWN_LOCATION while gimplifying expr.
3493
77dc5297
UB
34942013-01-27 Uros Bizjak <ubizjak@gmail.com>
3495
3496 PR target/56114
3497 * config/i386/i386.md (*movabs<mode>_1): Add square brackets around
3498 operand 0 in movabs insn template for -masm=intel asm alternative.
3499 (*movabs<mode>_2): Ditto for operand 1.
3500
0bfbca58 35012013-01-26 David Holsgrove <david.holsgrove@xilinx.com>
fbf0cf90
DH
3502
3503 PR target/54663
3504 * config.gcc (microblaze*-linux*): Add tmake_file to allow building
3505 of microblaze-c.o
3506
0bfbca58 35072013-01-26 Edgar E. Iglesias <edgar.iglesias@gmail.com>
6f14eef2
EI
3508
3509 * config.gcc (microblaze*-*-*): Rename microblaze*-*-elf, update
3510 tm_file.
3511
0bfbca58 35122013-01-25 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
706b2314
N
3513
3514 * config/aarch64/aarch64.c (TARGET_FIXED_CONDITION_CODE_REGS):
3515 Undef to avoid warning.
3516
478f60f9
MH
35172013-01-25 Michael Haubenwallner <michael.haubenwallner@salomon.at>
3518
3519 * configure.ac (gcc_cv_ld_static_dynamic): Define for AIX native ld.
3520 * configure: Regenerate.
3521
d7fa6ee2
JJ
35222013-01-25 Jakub Jelinek <jakub@redhat.com>
3523
3524 PR tree-optimization/56098
3525 * tree-ssa-phiopt.c (nt_init_block): Don't call add_or_mark_expr
3526 for stmts with volatile ops.
3527 (cond_store_replacement): Don't optimize if assign has volatile ops.
3528 (cond_if_else_store_replacement_1): Don't optimize if either
3529 then_assign or else_assign have volatile ops.
3530 (hoist_adjacent_loads): Don't optimize if either def1 or def2 have
3531 volatile ops.
3532
f8fe87bd
GJL
35332013-01-25 Georg-Johann Lay <avr@gjlay.de>
3534
3535 * doc/invoke.texi (AVR Built-in Macros): Document __XMEGA__.
3536
28398d0d
GJL
35372013-01-25 Georg-Johann Lay <avr@gjlay.de>
3538
3539 * doc/extend.texi (Example of asm with clobbered asm reg): Fix
3540 missing ':' in asm example.
3541
b7d7d917
TB
35422013-01-25 Tejas Belagod <tejas.belagod@arm.com>
3543
3544 * config/aarch64/aarch64-simd-builtins.def: Separate sq<r>dmulh_lane
3545 entries into lane and laneq entries.
77dc5297
UB
3546 * config/aarch64/aarch64-simd.md (aarch64_sq<r>dmulh_lane<mode>):
3547 Remove AdvSIMD scalar modes.
b7d7d917
TB
3548 (aarch64_sq<r>dmulh_laneq<mode>): New.
3549 (aarch64_sq<r>dmulh_lane<mode>): New RTL pattern for Scalar AdvSIMD
3550 modes.
3551 * config/aarch64/arm_neon.h: Fix all the vq<r>dmulh_lane* intrinsics'
3552 builtin implementations to relfect changes in RTL in aarch64-simd.md.
3553 * config/aarch64/iterators.md (VCOND): New.
3554 (VCONQ): New.
3555
556f9906
GJL
35562013-01-25 Georg-Johann Lay <avr@gjlay.de>
3557
3558 PR target/54222
3559 * config/avr/builtins.def (DEF_BUILTIN): Add LIBNAME argument.
3560 Add NULL LIBNAME argument to existing definitions.
3561 (ABSHR, ABSR, ABSLR, ABSLLR, ABSHK, ABSK, ABSLK, ABSLLK): New.
3562 * config/avr/avr-c.c (DEF_BUILTIN): Add LIBNAME argument.
3563 * config/avr/avr.c (DEF_BUILTIN): Same.
3564 (avr_init_builtins): Pass down LIBNAME to add_builtin_function.
3565 (avr_expand_builtin): Expand to a vanilla call if a libgcc
3566 implementation is available (DECL_ASSEMBLER_NAME is set).
3567 (avr_fold_absfx): New static function.
3568 (avr_fold_builtin): Use it to handle: AVR_BUILTIN_ABSHR,
3569 AVR_BUILTIN_ABSR, AVR_BUILTIN_ABSLR, AVR_BUILTIN_ABSLLR,
3570 AVR_BUILTIN_ABSHK, AVR_BUILTIN_ABSK, AVR_BUILTIN_ABSLK,
3571 AVR_BUILTIN_ABSLLK.
3572 * config/avr/stdfix.h (abshr, absr, abslr, absllr)
3573 (abshk, absk, abslk, absllk): Provide as static inline functions.
3574
1f546bbb
MP
35752013-01-25 Marek Polacek <polacek@redhat.com>
3576
3577 PR tree-optimization/56035
3578 * cfgloopmanip.c (fix_loop_structure): Remove redundant condition.
3579
7e184bd7
UB
35802012-01-24 Uros Bizjak <ubizjak@gmail.com>
3581
3582 * config/i386/i386.md (*movti_internal_rex64): Add (o,e) alternative.
3583 (*movtf_internal_rex64): Add (!o,C) alternative
3584 (*movxf_internal_rex64): Ditto.
3585 (*movdf_internal_rex64): Add (?r,C) and (?m,C) alternatives.
3586
f5ba49ac
SM
35872013-01-24 Shenghou Ma <minux.ma@gmail.com>
3588
3589 * doc/invoke.texi: fix typo.
3590 * doc/objc.texi: fix typo.
3591
a6343728
RS
35922013-01-24 Richard Sandiford <rdsandiford@googlemail.com>
3593
3594 * config/mips/mips.md (*and<mode>3_mips16): Use the "W" constraint
3595 for the first two alternatives.
3596
cd030c07
DN
35972013-01-24 Diego Novillo <dnovillo@google.com>
3598
77dc5297 3599 * Makefile.in (GGC): Remove. Replace all instances with ggc-page.o.
cd030c07
DN
3600 (ggc-zone.o): Remove.
3601 * configure.ac: Remove option --with-gc.
3602 * configure: Re-generate.
3603 * doc/install.texi: Remove documentation for --with-gc.
3604 * gengtype.c (write_enum_defn): Remove. Update all users.
3605 (write_Types_process_field): Remove generation of gt_e_* argument.
3606 (output_type_enum): Remove. Update all users.
3607 (write_enum_defn): Remove. Update all users.
3608 (enum alloc_zone): Remove. Update all users.
77dc5297 3609 (write_splay_tree_allocator_def): Remove generation of gt_e_* argument.
cd030c07
DN
3610 * ggc-common.c (ggc_splay_alloc): Remove first argument.
3611 Update all callers.
3612 (struct ptr_data): Remove field TYPE. Update all users.
77dc5297 3613 (gt_pch_note_object): Remove argument TYPE. Update all users.
cd030c07
DN
3614 * ggc-internal.h (ggc_pch_alloc_object): Remove last argument.
3615 Update all users.
aaf1e810 3616 * ggc-none.c (ggc_alloc_typed_stat): Remove.
cd030c07
DN
3617 (struct alloc_zone): Remove.
3618 (ggc_internal_alloc_zone_stat): Remove.
3619 (ggc_internal_cleared_alloc_zone_stat): Remove.
3620 * ggc-page.c (ggc_alloc_typed_stat): Remove.
77dc5297
UB
3621 (ggc_pch_count_object): Remove last argument. Update all users.
3622 (ggc_pch_alloc_object): Remove last argument. Update all users.
cd030c07
DN
3623 (struct alloc_zone): Remove.
3624 * ggc-zone.c: Remove.
77dc5297 3625 * ggc.h (gt_pch_note_object): Remove last argument. Update all users.
cd030c07
DN
3626 (struct alloc_zone): Remove.
3627 (ggc_alloc_typed_stat): Remove.
3628 (ggc_alloc_typed): Remove.
3629 (ggc_splay_alloc): Remove first argument.
3630 (rtl_zone): Remove. Update all users.
3631 (tree_zone): Remove. Update all users.
3632 (tree_id_zone): Remove. Update all users.
3633 (ggc_internal_zone_alloc_stat): Remove. Update all users.
77dc5297 3634 (ggc_internal_zone_cleared_alloc_stat): Remove. Update all users.
cd030c07 3635 (ggc_internal_zone_vec_alloc_stat): Remove. Update all users.
77dc5297 3636 * tree-ssanames.c: Remove references to zone allocator in comments.
cd030c07 3637
a861ffa4
GJL
36382013-01-24 Georg-Johann Lay <avr@gjlay.de>
3639
3640 * config/avr/avr.c (avr_out_fract): Make register numbers that
3641 might be outside of source operand signed.
3642
593c0ddd
UB
36432013-01-24 Uros Bizjak <ubizjak@gmail.com>
3644
3645 * config/i386/constraints.md (Yf): New constraint.
3646 * config/i386/i386.md (*movdf_internal_rex64): Use Yf*f instead
3647 of f constraint to conditionaly disable x87 register preferences.
3648 (*movdf_internal): Ditto.
3649 (*movsf_internal): Ditto.
3650
e86c0101
SB
36512013-01-24 Steven Bosscher <steven@gcc.gnu.org>
3652
3653 PR inline-asm/55934
3654 * lra-assigns.c (assign_by_spills): Throw away the pattern of asms
3655 that have operands with impossible constraints.
3656 Add a FIXME for a speed-up opportunity.
3657 * lra-constraints.c (process_alt_operands): Verify that a class
3658 selected from constraints on asms is valid for the operand mode.
3659 (curr_insn_transform): Remove incorrect comment.
3660
f6fee35f
DE
36612013-01-23 David Edelsohn <dje.gcc@gmail.com>
3662
3663 * config/rs6000/rs6000.c (rs6000_delegitimize_address): Check that
3664 TOC operand is a valid symbol ref in the constant pool.
3665
36662013-01-23 Edgar E. Iglesias <edgar.iglesias@gmail.com>
c7729184 3667
aaf1e810 3668 * config/microblaze/linux.h: Add TARGET_OS_CPP_BUILTINS
c7729184 3669
dc62d7d1
GJL
36702013-01-23 Georg-Johann Lay <avr@gjlay.de>
3671
3672 PR target/54222
3673 * config/avr/stdfix.h: New file.
3674 * t-avr (stdfix-gcc.h): New rule to build it.
3675 (EXTRA_HEADERS): Set it to install stdfix.h, stdfix-gcc.h.
3676
2660d12d
KS
36772013-01-23 Kostya Serebryany <kcc@google.com>
3678
77dc5297
UB
3679 * config/darwin.h: remove dependency on
3680 CoreFoundation (asan on Mac OS).
2660d12d 3681
a70418fc
JJ
36822013-01-23 Jakub Jelinek <jakub@redhat.com>
3683
3684 PR target/49069
3685 * config/arm/arm.md (cbranchdi4, cstoredi4): Use s_register_operand
3686 instead of cmpdi_operand for first comparison operand.
3687 Don't assert that comparison operands aren't both constants.
3688
47876a2a
JW
36892013-01-22 Jonathan Wakely <jwakely.gcc@gmail.com>
3690
3691 * doc/install.texi (Downloading the Source): Update references to
3692 downloading separate components.
3693
36942013-01-22 Jonathan Wakely <jwakely.gcc@gmail.com>
4ebd56a5
JW
3695
3696 * doc/extend.texi (__int128): Improve grammar.
3697
47876a2a 36982013-01-22 Uros Bizjak <ubizjak@gmail.com>
32fc5b8a
UB
3699
3700 PR target/56028
3701 * config/i386/i386.md (*movti_internal_rex64): Change (o,riF)
3702 alternative to (o,r).
3703 (*movdi_internal_rex64): Remove (!o,n) alternative.
3704 (DImode immediate->memory splitter): Remove.
3705 (DImode immediate->memory peephole2): Remove.
3706 (movtf): Enable for TARGET_64BIT || TARGET_SSE.
3707 (*movtf_internal_rex64): Rename from *movtf_internal. Change (!o,F*r)
3708 alternative to (!o,*r).
3709 (*movtf_internal_sse): New pattern.
3710 (*movxf_internal_rex64): New pattern.
3711 (*movxf_internal): Disable for TARGET_64BIT.
3712 (*movdf_internal_rex64): Remove (!o,F) alternative.
3713
3a984f10
JJ
37142013-01-22 Jakub Jelinek <jakub@redhat.com>
3715
502498d5
JJ
3716 PR middle-end/56074
3717 * dumpfile.c (dump_loc): Only print loc if LOCATION_LOCUS (loc)
3718 isn't UNKNOWN_LOCATION nor BUILTINS_LOCATION.
3719 * tree-vect-loop-manip.c (find_loop_location): Also ignore
3720 stmt locations where LOCATION_LOCUS of the stmt location is
3721 UNKNOWN_LOCATION or BUILTINS_LOCATION.
3722
3a984f10
JJ
3723 PR target/55686
3724 * config/i386/i386.md (UNSPEC_STOS): New.
3725 (strset_singleop, *strsetdi_rex_1, *strsetsi_1, *strsethi_1,
3726 *strsetqi_1): Add UNSPEC_STOS.
3727
fa817f7f
PC
37282013-01-22 Paolo Carlini <paolo.carlini@oracle.com>
3729
3730 PR c++/56067
3731 * doc/invoke.texi: Remove left over -Wsynth example.
3732
8f498c1b
JJ
37332013-01-21 Jakub Jelinek <jakub@redhat.com>
3734
3735 PR tree-optimization/56051
3736 * fold-const.c (fold_binary_loc): Don't fold
3737 X < (cast) (1 << Y) into (X >> Y) != 0 if cast is either
3738 a narrowing conversion, or widening conversion from signed
3739 to unsigned.
3740
47876a2a 37412013-01-21 Uros Bizjak <ubizjak@gmail.com>
35d59da7
UB
3742
3743 PR rtl-optimization/56023
3744 * haifa-sched.c (fix_inter_tick): Do not update ticks of instructions,
3745 dependent on debug instruction.
3746
5b9db1bc
MJ
37472013-01-21 Martin Jambor <mjambor@suse.cz>
3748
3749 PR middle-end/56022
3750 * function.c (allocate_struct_function): Call
3751 invoke_set_current_function_hook earlier.
3752
e8bb7d68
JJ
37532013-01-21 Jakub Jelinek <jakub@redhat.com>
3754
3755 * reload1.c (init_reload): Only initialize reload_obstack
3756 during the first call.
3757
616a4e32
MP
37582013-01-21 Marek Polacek <polacek@redhat.com>
3759
3760 * cfgloop.c (verify_loop_structure): Fix up grammar.
3761
4401981b
YHH
37622013-01-21 Yi-Hsiu Hsu <ahsu@marvell.com>
3763
3764 * config/arm/marvell-pj4.md (pj4_shift_conds, pj4_alu_shift,
3765 pj4_alu_shift_conds, pj4_shift): Handle simple_alu_shift.
3766
8e87740b
RR
37672013-01-21 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
3768
3769 PR target/56058
3770 * config/arm/marvell-pj4.md: Update copyright year.
3771 Fix up use of alu to alu_reg and simple_alu_imm.
3772
47876a2a 37732013-01-21 Uros Bizjak <ubizjak@gmail.com>
1f6bc337
UB
3774
3775 * config/i386/i386.md (enabled): Do not disable fma4 for TARGET_FMA.
3776
89d56d79
VM
37772013-01-20 Vladimir Makarov <vmakarov@redhat.com>
3778
3779 PR target/55433
3780 * lra-constraints.c (curr_insn_transform): Don't reuse original
1f6bc337 3781 insn for secondary memory move when memory mode should be different.
89d56d79 3782
fe603553
JDA
37832013-01-20 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
3784
3785 * config/pa/pa.md (atomic_loaddi, atomic_loaddi_1, atomic_storedi,
3786 atomic_storedi_1): New patterns.
3787
01284895
VK
37882013-01-20 Venkataramanan Kumar <venkataramanan.kumar@amd.com>
3789
3790 btver2 pipeline descriptions.
3791 * config/i386/i386.c: Enable CPU_BTVER2 to use btver2 pipeline
3792 descriptions.
3793 * config/i386/i386.md (btver2_decode): New type attributes.
1f6bc337 3794 * config/i386/sse.md (btver2_decode, btver2_sse_attr): New
01284895
VK
3795 type attributes.
3796 * config/i386/btver2.md: New file describing btver2 pipelines.
3797
5630e3e1
JL
37982013-01-19 Andrew Pinski <apinski@cavium.com>
3799
3800 PR tree-optimization/52631
3801 * tree-ssa-sccvn (visit_use): Before looking up the original
3802 statement, try looking up the simplified expression.
3803
650ae806
AG
38042013-01-19 Anthony Green <green@moxielogic.com>
3805
3806 * config/moxie/moxie.c (moxie_expand_prologue): Set
3807 current_function_static_stack_size.
3808
e300ec2d
JJ
38092013-01-18 Jakub Jelinek <jakub@redhat.com>
3810
3811 PR tree-optimization/56029
3812 * tree-phinodes.c (reserve_phi_args_for_new_edge): Set
3813 gimple_phi_arg_location for the new arg to UNKNOWN_LOCATION.
3814
a3d7af04
SS
38152013-01-18 Sharad Singhai <singhai@google.com>
3816
3817 PR tree-optimization/55995
3818 * dumpfile.c (dump_loc): Print location only if available.
3819 * tree-vectorizer.c (increase_alignment): Intialize vect_location.
3820
66aa7879
VM
38212013-01-18 Vladimir Makarov <vmakarov@redhat.com>
3822
3823 PR target/55433
3824 * lra-constraints.c (curr_insn_transform): Reuse original insn for
3825 secondary memory move.
3826 (inherit_reload_reg): Use rclass instead of cl for
3827 check_secondary_memory_needed_p.
3828
3f0fee7b
JJ
38292013-01-18 Jakub Jelinek <jakub@redhat.com>
3830
3831 PR middle-end/56015
3832 * expr.c (expand_expr_real_2) <case COMPLEX_EXPR>: Handle
1f6bc337 3833 the case where writing real complex part of target modifies op1.
3f0fee7b 3834
70c67693
JG
38352013-01-18 James Greenhalgh <james.greenhalgh@arm.com>
3836
3837 * config/aarch64/aarch64-simd.md
3838 (aarch64_vcond_internal<mode>): Handle unordered cases.
3839 * config/aarch64/iterators.md (v_cmp_result): New.
3840
df8de9b3
YHH
38412013-01-18 Yi-Hsiu Hsu <ahsu@marvell.com>
3842 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
3843
3844 * config/arm/marvell-pj4.md: New file.
3845 * config/arm/arm.c (arm_issue_rate): Add marvell_pj4.
3846 * config/arm/arm.md (generic_sched): Add marvell_pj4.
3847 (generic_vfp): Likewise.
3848 * config/arm/arm-cores.def: Add marvell-pj4.
3849 * config/arm/arm-tune.md: Regenerate.
3850 * config/arm/arm-tables.opt: Regenerate.
3851 * config/arm/bpabi.h (BE8_LINK_SPEC): Add marvell_pj4.
3852 * doc/invoke.texi: Document marvell-pj4.
3853
be30c356
TB
38542013-01-18 Tejas Belagod <tejas.belagod@arm.com>
3855
3856 * config/aarch64/arm_neon.h: Map scalar types to standard types.
3857
0bfbca58 38582013-01-18 Alexandre Oliva <aoliva@redhat.com>
af6236c1
AO
3859
3860 PR debug/54114
3861 PR debug/54402
3862 PR debug/49888
3863 * var-tracking.c (negative_power_of_two_p): New.
3864 (global_get_addr_cache, local_get_addr_cache): New.
3865 (get_addr_from_global_cache, get_addr_from_local_cache): New.
3866 (vt_canonicalize_addr): Rewrite using the above. Adjust the
3867 heading comment.
3868 (vt_stack_offset_p): Remove.
3869 (vt_canon_true_dep): Always canonicalize loc's address.
3870 (clobber_overlapping_mems): Make sure we have a MEM.
3871 (local_get_addr_clear_given_value): New.
3872 (val_reset): Clear local cached entries.
3873 (compute_bb_dataflow): Create and release the local cache.
3874 Disable duplicate MEMs clobbering.
3875 (emit_notes_in_bb): Clobber MEMs likewise.
3876 (vt_emit_notes): Create and release the local cache.
3877 (vt_initialize, vt_finalize): Create and release the global
3878 cache, respectively.
1f6bc337 3879 * alias.c (rtx_equal_for_memref_p): Compare operands of ENTRY_VALUEs.
af6236c1 3880
0bfbca58 38812013-01-18 Alexandre Oliva <aoliva@redhat.com>
7ff37ffa
AO
3882
3883 PR libmudflap/53359
3884 * tree-mudflap.c (mudflap_finish_file): Skip deferred decls
3885 not found in the symtab.
3886
0bfbca58 38872013-01-18 Alexandre Oliva <aoliva@redhat.com>
3aa03517 3888
c350ba53 3889 PR debug/56006
3aa03517
AO
3890 PR rtl-optimization/55547
3891 PR rtl-optimization/53827
3892 PR debug/53671
3893 PR debug/49888
3894 * alias.c (offset_overlap_p): New, factored out of...
3895 (memrefs_conflict_p): ... this. Use absolute sizes. Retain
3896 the conservative special case for symbolic constants. Don't
3897 adjust zero sizes on alignment.
3898
c664546f
JL
38992013-01-18 Bernd Schmidt <bernds@codesourcery.com>
3900
3901 PR rtl-optimization/52573
3902 * regrename.c (build_def_use): Ignore REG_DEAD notes if there is a
3903 REG_UNUSED for the same register.
3904
1bd3f750
MP
39052013-01-17 Richard Biener <rguenther@suse.de>
3906 Marek Polacek <polacek@redhat.com>
3907
3908 PR rtl-optimization/55833
3909 * loop-unswitch.c (unswitch_loops): Move loop verification...
3910 (unswitch_single_loop): ...here. Call mark_irreducible_loops.
3911 * cfgloopmanip.c (fix_loop_placement): Add IRRED_INVALIDATED parameter.
3912 Set it to true when we're removing a loop from hierarchy tree in
3913 an irreducible region.
3914 (fix_bb_placements): Adjust caller.
3915 (fix_loop_placements): Likewise.
3916
e52a8b71
GJL
39172013-01-17 Georg-Johann Lay <avr@gjlay.de>
3918
3919 * config/avr/builtins.def (DEF_BUILTIN): Factor out
3920 "__builtin_avr_" from NAME, turn NAME to an uppercase identifier.
3921 Factor out 'CODE_FOR_' from ICODE, use 'nothing' instead of '-1'.
3922 Remove ID. Adjust comments.
3923 * config/avr/avr-c.c (avr_builtin_name): Remove.
3924 (avr_cpu_cpp_builtins): Use DEF_BUILTIN instead of for-loop.
3925 * config/avr/avr.c (avr_tolower): New static function.
3926 (DEF_BUILTIN): Remove parameter ID. Prefix ICODE by 'CODE_FOR_'.
3927 Stringify NAME, prefix it with "__builtin_avr_" and lowercase it.
3928 (avr_expand_builtin): Assert insn_code != CODE_FOR_nothing for
3929 default expansion.
3930
8386a7ea
JH
39312013-01-17 Jan Hubicka <jh@suse.cz>
3932
610fb637 3933 PR tree-optimization/55273
8386a7ea
JH
3934 * loop-iv.c (iv_number_of_iterations): Consider zero iteration case.
3935
47876a2a 39362013-01-17 Uros Bizjak <ubizjak@gmail.com>
8abaebcd
UB
3937
3938 PR target/55981
3939 * config/i386/sync.md (atomic_store<mode>): Always generate SWImode
3940 store through atomic_store<mode>_1.
3941 (atomic_store<mode>_1): Macroize insn using SWI mode iterator.
3942
8222c37e
MJ
39432013-01-17 Martin Jambor <mjambor@suse.cz>
3944
3945 PR tree-optimizations/55264
3946 * ipa-inline-transform.c (can_remove_node_now_p_1): Never return true
3947 for virtual methods.
3948 * ipa.c (symtab_remove_unreachable_nodes): Never return true for
3949 virtual methods before inlining is over.
3950 * cgraph.h (cgraph_only_called_directly_or_aliased_p): Return false for
3951 virtual functions.
3952 * cgraphclones.c (cgraph_create_virtual_clone): Mark clones as
3953 non-virtual.
3954
79f01c76
VM
39552013-01-16 Vladimir Makarov <vmakarov@redhat.com>
3956
3957 PR rtl-optimization/56005
3958 * sched-deps.c (sched_analyze_2): Check deps->readonly for adding
3959 pending reads for prefetch.
3960
d0b6bb1b
IB
39612013-01-16 Ian Bolton <ian.bolton@arm.com>
3962
aaf1e810 3963 * config/aarch64/aarch64.md
d0b6bb1b
IB
3964 (*cstoresi_neg_uxtw): New pattern.
3965 (*cmovsi_insn_uxtw): New pattern.
3966 (*<optab>si3_uxtw): New pattern.
3967 (*<LOGICAL:optab>_<SHIFT:optab>si3_uxtw): New pattern.
3968 (*<optab>si3_insn_uxtw): New pattern.
3969 (*bswapsi2_uxtw): New pattern.
3970
cb9cf03b
RB
39712013-01-16 Richard Biener <rguenther@suse.de>
3972
3973 * tree-inline.c (tree_function_versioning): Remove set but
3974 never used variable.
3975
2cfc56b9
RB
39762013-01-16 Richard Biener <rguenther@suse.de>
3977
3978 PR tree-optimization/55964
3979 * tree-flow.h (rename_variables_in_loop): Remove.
3980 (rename_variables_in_bb): Likewise.
3981 * tree-loop-distribution.c (update_phis_for_loop_copy): Remove.
3982 (copy_loop_before): Adjust and delete update-ssa status.
3983 * tree-vect-loop-manip.c (rename_variables_in_bb): Make static.
8abaebcd 3984 (rename_variables_in_bb): Likewise. Properly walk over predecessors.
2cfc56b9
RB
3985 (rename_variables_in_loop): Remove.
3986 (slpeel_update_phis_for_duplicate_loop): Likewise.
3987 (slpeel_tree_duplicate_loop_to_edge_cfg): Handle nested loops,
3988 use available cfg machinery instead of duplicating it.
3989 Update PHI nodes and perform poor-mans SSA update here.
3990 (slpeel_tree_peel_loop_to_edge): Adjust.
3991
c25a0c60
RB
39922013-01-16 Richard Biener <rguenther@suse.de>
3993
3994 PR tree-optimization/54767
3995 PR tree-optimization/53465
3996 * tree-vrp.c (vrp_meet_1): Revert original fix for PR53465.
3997 (vrp_visit_phi_node): For PHI arguments coming via backedges
3998 drop all symbolical range information.
3999 (execute_vrp): Compute backedges.
4000
04b535af
RB
40012013-01-16 Richard Biener <rguenther@suse.de>
4002
4003 * doc/install.texi: Update CLooG and ISL requirements to
4004 0.18.0 and 0.11.1.
4005
8b0a1e0b
CB
40062013-01-16 Christian Bruel <christian.bruel@st.com>
4007
4008 PR target/55301
4009 * config/sh/sh.c (sh_expand_prologue): Postpone new_stack mem symbol.
4010 (broken_move): Handle UNSPECV_SP_SWITCH_B.
4011 * config/sh/sh.md (sp_switch_1): Use set (reg:SI SP_REG).
4012
40132013-01-16 DJ Delorie <dj@redhat.com>
4014
4015 * config/sh/sh.md (UNSPECV_SP_SWITCH_B): New.
4016 (UNSPECV_SP_SWITCH_E): New.
4017 (sp_switch_1): Change to an unspec.
4018 (sp_switch_2): Change to an unspec. Don't use post-inc when we
4019 replace $r15.
4020
40212013-01-16 Uros Bizjak <ubizjak@gmail.com>
88e784e6
UB
4022
4023 * emit-rtl.c (need_atomic_barrier_p): Mask memory model argument
4024 with MEMMODEL_MASK before comparing with MEMMODEL_* memory types.
4025 * optabs.c (maybe_emit_sync_lock_test_and_set): Ditto.
4026 (expand_mem_thread_fence): Ditto.
4027 (expand_mem_signal_fence): Ditto.
4028 (expand_atomic_load): Ditto.
4029 (expand_atomic_store): Ditto.
4030
0bfbca58 40312013-01-16 Alexandre Oliva <aoliva@redhat.com>
5147bf6a
AO
4032
4033 PR rtl-optimization/55547
4034 PR rtl-optimization/53827
4035 PR debug/53671
4036 PR debug/49888
4037 * alias.c (memrefs_conflict_p): Set sizes to negative after
4038 AND adjustments.
4039
305e3ac1
JJ
40402013-01-15 Jakub Jelinek <jakub@redhat.com>
4041
4042 PR target/55940
4043 * function.c (thread_prologue_and_epilogue_insns): Always
4044 add crtl->drap_reg to set_up_by_prologue.set, even if
4045 stack_realign_drap is false.
4046
f78ac4f2
JBG
40472013-01-15 Jan-Benedict Glaw <jbglaw@lug-owl.de>
4048
4049 * config/vax/vax.md (add<mode>3, sub<mode>3, mul<mode>3, div<mode>3,
4050 and<mode>3, *and<mode>_const_int, ior<mode>3, xor<mode>3, ashrsi3,
4051 *call): Fix indention.
4052
a78a8cc4
TV
40532013-01-15 Tom de Vries <tom@codesourcery.com>
4054
4055 PR target/55876
4056 * optabs.c (widen_operand): Use gen_lowpart instead of gen_rtx_SUBREG.
4057 Update comment.
4058
0e80383f
VM
40592013-01-15 Vladimir Makarov <vmakarov@redhat.com>
4060
305e3ac1 4061 PR rtl-optimization/55153
0e80383f
VM
4062 * sched-deps.c (sched_analyze_2): Add pending reads for prefetch.
4063
207b5956
MJ
40642013-01-15 Martin Jambor <mjambor@suse.cz>
4065
4066 PR tree-optimization/55920
4067 * tree-sra.c (analyze_access_subtree): Do not mark non-removable
4068 accesses as grp_to_be_debug_replaced.
4069
a7818b54
JJ
40702013-01-15 Jakub Jelinek <jakub@redhat.com>
4071
4072 PR tree-optimization/55920
4073 * tree-sra.c (sra_modify_assign): If for lacc->grp_to_be_debug_replaced
4074 there is non-useless type conversion needed from debug rhs to lhs,
4075 use build_debug_ref_for_model and/or VIEW_CONVERT_EXPR.
4076
b0fe107e
JM
40772013-01-15 Joseph Myers <joseph@codesourcery.com>
4078 Mikael Pettersson <mikpe@it.uu.se>
4079
4080 PR target/43961
4081 * config/arm/arm.h (ADDR_VEC_ALIGN): Align SImode jump tables for
4082 Thumb.
4083 (ASM_OUTPUT_CASE_LABEL): Remove.
4084 (ASM_OUTPUT_BEFORE_CASE_LABEL): Define to empty.
4085 * final.c (shorten_branches): Update alignment of labels before
4086 jump tables if CASE_VECTOR_SHORTEN_MODE.
4087
34ab62ee
RB
40882013-01-15 Richard Biener <rguenther@suse.de>
4089
4090 PR bootstrap/55961
4091 * system.h: Do not include gmp.h for building host tools.
4092
783a3a05
RB
40932013-01-15 Richard Biener <rguenther@suse.de>
4094
4095 PR middle-end/55882
4096 * emit-rtl.c (set_mem_attributes_minus_bitpos): Correctly
4097 account for bitpos when computing alignment.
4098
3a579e09
VY
40992013-01-15 Vladimir Yakovlev <vladimir.b.yakovlev@intel.com>
4100
4101 * config/i386/i386-c.c (ix86_target_macros_internal): New case.
4102 (ix86_target_macros_internal): Likewise.
4103
4104 * config/i386/i386.c (m_CORE2I7): Removed.
4105 (m_CORE_HASWELL): New macro.
4106 (m_CORE_ALL): Likewise.
4107 (initial_ix86_tune_features): m_CORE2I7 is replaced by m_CORE_ALL.
4108 (initial_ix86_arch_features): Likewise.
4109 (processor_target_table): Initializations for Core avx2.
4110 (cpu_names): New names "core-avx2".
4111 (ix86_option_override_internal): Changed PROCESSOR_COREI7 by
4112 PROCESSOR_CORE_HASWELL.
4113 (ix86_issue_rate): New case.
4114 (ia32_multipass_dfa_lookahead): Likewise.
4115 (ix86_sched_init_global): Likewise.
4116
4117 * config/i386/i386.h (TARGET_HASWELL): New macro.
4118 (target_cpu_default): New TARGET_CPU_DEFAULT_haswell.
4119 (processor_type): New PROCESSOR_HASWELL.
4120
955f5a07
JJ
41212013-01-15 Jakub Jelinek <jakub@redhat.com>
4122
ff784829
JJ
4123 PR tree-optimization/55955
4124 * tree-vect-loop.c (vectorizable_reduction): Give up early on
4125 *SHIFT_EXPR and *ROTATE_EXPR codes.
4126
955f5a07
JJ
4127 PR tree-optimization/48766
4128 * opts.c (common_handle_option): For -fwrapv disable -ftrapv, for
4129 -ftrapv disable -fwrapv.
4130
aeb8b4e9
GJL
41312013-01-14 Georg-Johann Lay <avr@gjlay.de>
4132
4133 PR target/55974
4134 * config/avr/avr-c.c (avr_cpu_cpp_builtins): Define __FLASH
4135 etc. to 1 and not to __flash.
4136 Use LL suffix for __INT24_MAX__ with -mint8.
4137 Use ULL suffix for __UINT24_MAX__ with -mint8.
4138
1c494c6a
GJL
41392013-01-14 Georg-Johann Lay <avr@gjlay.de>
4140
4141 * config/avr/avr-arch.h
4142 (struct base_arch_s): Use typedef avr_arch_t instead.
4143 (struct arch_info_s): Use typedef avr_arch_info_t instead.
4144 (struct mcu_type_s): Use typedef avr_mcu_t instead.
4145 * config/avr/avr.c: Same.
4146 * config/avr/avr-devices.c: Same.
4147 * config/avr/driver-avr.c: Same.
4148 * config/avr/gen-avr-mmcu-texi.c: Same.
4149 * config/avr/avr-mcus.def: Adjust comment.
4150
a50344cb
TB
41512013-01-14 Tejas Belagod <tejas.belagod@arm.com>
4152
88e784e6
UB
4153 * config/aarch64/aarch64-simd.md (*aarch64_simd_ld1r<mode>): New.
4154 * config/aarch64/iterators.md (VALLDI): New.
a50344cb 4155
47876a2a 41562013-01-14 Uros Bizjak <ubizjak@gmail.com>
e6f0e052
UB
4157 Andi Kleen <ak@linux.intel.com>
4158
4159 PR target/55948
4160 * config/i386/sync.md (atomic_store<mode>_1): New pattern.
4161 (atomic_store<mode>): Call atomic_store<mode>_1 for IX86_HLE_RELEASE
4162 memmodel flag.
4163
00892272
GJL
41642013-01-14 Georg-Johann Lay <avr@gjlay.de>
4165
4166 * config/avr/avr-stdint.h: Remove trailing blanks.
4167 * config/avr/avr-log.h: Same.
4168 * config/avr/avr-arch.h: Same.
4169 * config/avr/avr-devices.c: Same.
4170 * config/avr/avr-dimode.md: Same.
4171 * config/avr/predicates.md: Same.
4172 * config/avr/avr-c.c: Same. And fix typo.
e6f0e052 4173
00892272
GJL
4174 * config/avr/avr-protos.h: Same. And:
4175 (function_arg_regno_p): Rename to avr_function_arg_regno_p.
4176 (init_cumulative_args): Rename to avr_init_cumulative_args.
4177 (expand_prologue): Rename to avr_expand_prologue.
4178 (expand_epilogue): Rename to avr_expand_epilogue.
4179 (adjust_insn_length): Rename to avr_adjust_insn_length.
4180 (notice_update_cc): Rename to avr_notice_update_cc.
4181 (final_prescan_insn): Rename to avr_final_prescan_insn.
4182 * config/avr/avr.c: Same.
4183 * config/avr/avr.h: Same.
4184 * config/avr/avr.md: Remove trailing blanks.
4185 (prologue): Use avr_expand_prologue.
4186 (epilogue, sibcall_epilogue): Use avr_expand_epilogue.
4187
7bb01996
RB
41882013-01-14 Richard Biener <rguenther@suse.de>
4189
4190 * tree-cfg.c (verify_expr_location, verify_expr_location_1,
4191 verify_location, collect_subblocks): New functions.
4192 (verify_gimple_in_cfg): Verify that locations only reference
4193 BLOCKs in the functions BLOCK tree.
4194
2724573f
RB
41952013-01-14 Richard Biener <rguenther@suse.de>
4196
4197 * tree-cfgcleanup.c (remove_forwarder_block): Unshare propagated
4198 PHI argument.
4199 * graphite-sese-to-poly.c (insert_out_of_ssa_copy): Properly
4200 unshare reference.
4201 (insert_out_of_ssa_copy_on_edge): Likewise.
4202 (rewrite_close_phi_out_of_ssa): Likewise.
4203 * tree-ssa.c (insert_debug_temp_for_var_def): Properly unshare
4204 debug expressions.
4205 * tree-ssa-pre.c (insert_into_preds_of_block): Properly unshare
4206 propagated constants.
4207 * tree-cfg.c (tree_node_can_be_shared): Handled component-refs
4208 can not be shared.
4209
9a0bbab6
GJL
42102013-01-14 Georg-Johann Lay <avr@gjlay.de>
4211
4212 * config/avr/avr-modes.def: Add GPL copyright notice.
4213
45805f17
UB
42142013-01-13 Uros Bizjak <ubizjak@gmail.com>
4215
4216 * config/i386/sync.md (mem_thread_fence): Mask operands[0] with
4217 MEMMODEL_MASK to determine memory model.
4218 (atomic_store<mode>): Ditto from operands[2].
4219 * config/i386/i386.c (ix86_memmodel_check): Declare "strong" as bool.
4220
9d60be38
JJ
42212013-01-13 Jakub Jelinek <jakub@redhat.com>
4222
4223 PR fortran/55935
45805f17 4224 * gimple-fold.c (get_symbol_constant_value): Call unshare_expr.
9d60be38
JJ
4225 (fold_gimple_assign): Don't call unshare_expr here.
4226 (fold_ctor_reference): Call unshare_expr.
4227
e7f49d92
TG
42282013-01-13 Terry Guo <terry.guo@arm.com>
4229
aaf1e810
EB
4230 * Makefile.in (s-mlib): New argument MULTILIB_REUSE.
4231 * doc/fragments.texi: Document MULTILIB_REUSE.
4232 * gcc.c (multilib_reuse): New internal spec.
e7f49d92 4233 (set_multilib_dir): Also search multilib from multilib_reuse.
aaf1e810 4234 * genmultilib (tmpmultilib3): Refactor code.
e7f49d92
TG
4235 (tmpmultilib4): Ditto.
4236 (multilib_reuse): New multilib argument.
4237
fbd03a27
RS
42382013-01-13 Richard Sandiford <rdsandiford@googlemail.com>
4239
4240 * Makefile.in: Update copyright.
4241
b3681f13
TV
42422013-01-12 Tom de Vries <tom@codesourcery.com>
4243
4244 PR middle-end/55890
4245 * calls.c (expand_call): Check if arg_nr is valid.
4246
3f287e4b
MM
42472013-01-11 Michael Meissner <meissner@linux.vnet.ibm.com>
4248
4249 * doc/extend.texi (X86 Built-in Functions): Add whitespace in
4250 __builtin_ia32_paddb256 and __builtin_ia32_pavgb256
5bc35113
MM
4251 documentation. Add missing '__' in front of
4252 __builtin_ia32_packssdw256.
3f287e4b 4253
1abcd5eb
AK
42542013-01-11 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
4255
4256 PR target/55719
4257 * config/s390/s390.c (s390_preferred_reload_class): Do not return
4258 NO_REGS for larl operands.
4259 (s390_reload_larl_operand): Use s390_load_address instead of
4260 emit_move_insn.
4261
980d0812
RB
42622013-01-11 Richard Biener <rguenther@suse.de>
4263
4264 * tree-cfg.c (verify_node_sharing_1): Split out from ...
4265 (verify_node_sharing): ... here.
4266 (verify_gimple_in_cfg): Use verify_node_sharing_1 for walk_tree.
4267
7cb9fd07
EB
42682013-01-11 Eric Botcazou <ebotcazou@adacore.com>
4269
4270 * configure.ac (Tree checking): Set TREECHECKING to yes if enabled.
4271 Substitute TREECHECKING.
4272 * configure: Regenerate.
4273 * Makefile.in (TREECHECKING): New.
4274
47876a2a 42752013-01-11 Richard Guenther <rguenther@suse.de>
c7ab2530
RG
4276
4277 PR tree-optimization/44061
4278 * tree-vrp.c (extract_range_basic): Compute zero as
4279 value-range for __builtin_constant_p of function parameters.
4280
d1e082c2
RS
42812013-01-10 Richard Sandiford <rdsandiford@googlemail.com>
4282
45805f17 4283 Update copyright years.
d1e082c2 4284
f85021b0
VM
42852013-01-10 Vladimir Makarov <vmakarov@redhat.com>
4286
9d60be38 4287 PR rtl-optimization/55672
0160442c
VM
4288 * lra-eliminations.c (mark_not_eliminable): Permit addition with
4289 const to be eliminable.
f85021b0 4290
7a8b1ec4
DE
42912013-01-10 David Edelsohn <dje.gcc@gmail.com>
4292
4293 * configure.ac (HAVE_AS_TLS): Add check for powerpc-ibm-aix.
4294 * configure: Regenerate.
4295
ad2e5b71
RB
42962013-01-10 Richard Biener <rguenther@suse.de>
4297
ddf9322d 4298 * builtins.c (expand_builtin_init_trampoline): Use set_mem_attributes.
ad2e5b71 4299
ffc5b2bb
RB
43002013-01-10 Richard Biener <rguenther@suse.de>
4301
4302 PR bootstrap/55792
4303 * tree-into-ssa.c (rewrite_add_phi_arguments): Do not set
4304 locations for virtual PHI arguments.
4305 (rewrite_update_phi_arguments): Likewise.
4306
e1f674e4
JS
43072013-01-10 Joel Sherrill <joel.sherrill@OARcorp.com>
4308
4309 * config/v850/rtems.h (ASM_SPEC): Pass -m8byte-align and -mgcc-abi
4310 on to assembler.
4311
a57fc743
JJ
43122013-01-10 Jakub Jelinek <jakub@redhat.com>
4313
4314 PR tree-optimization/55921
4315 * tree-complex.c (expand_complex_asm): New function.
4316 (expand_complex_operations_1): Call it for GIMPLE_ASM.
4317
0ff4390d
AK
43182013-01-10 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
4319
4320 PR target/55718
4321 * config/s390/s390.c (s390_symref_operand_p)
4322 (s390_loadrelative_operand_p): Merge the two functions.
4323 (s390_check_qrst_address, print_operand_address): Add parameters
4324 to s390_loadrelative_operand_p invokation.
4325 (s390_check_symref_alignment): Use s390_loadrelative_operand_p.
4326 (s390_reload_larl_operand, s390_secondary_reload): Use
4327 s390_loadrelative_operand_p instead of s390_symref_operand_p.
4328 (legitimize_pic_address): Handle @GOTENT and @PLT + addend.
4329
6f557e0e
MS
43302013-01-09 Mike Stump <mikestump@comcast.net>
4331
4332 * dse.c (record_store): Remove unnecessary assert.
4333
7770c9e9
JH
43342013-01-09 Jan Hubicka <jh@suse.cz>
4335
4336 PR tree-optimization/55569
4337 * cfgloopmanip.c (scale_loop_profile): Make ITERATION_BOUND gcov_type.
4338 * cfgloop.h (scale_loop_profile): Likewise.
4339
a19b1432
JH
43402013-01-09 Jan Hubicka <jh@suse.cz>
4341
4342 PR lto/45375
ddf9322d
UB
4343 * ipa-inline.c (ipa_inline): Remove extern inlines and virtual
4344 functions.
a19b1432
JH
4345 * cgraphclones.c (cgraph_clone_node): Cpoy also LTO file data.
4346
9a002da8
RS
43472013-01-09 Richard Sandiford <rdsandiford@googlemail.com>
4348
4349 PR middle-end/55114
4350 * expr.h (maybe_emit_group_store): Declare.
4351 * expr.c (maybe_emit_group_store): New function.
4352 * builtins.c (expand_builtin_int_roundingfn): Call it.
4353 (expand_builtin_int_roundingfn_2): Likewise.
4354
511dcace
VM
43552013-01-09 Vladimir Makarov <vmakarov@redhat.com>
4356
e1f2b729 4357 PR rtl-optimization/55829
511dcace
VM
4358 * lra-constraints.c (match_reload): Add code for absent output.
4359 (curr_insn_transform): Add code for reloads of matched inputs
4360 without output.
4361
7b0fe4f4
UB
43622013-01-09 Uros Bizjak <ubizjak@gmail.com>
4363
4364 * config/i386/sse.md (*vec_interleave_highv2df): Change mode
4365 attribute of movddup insn to DF.
4366 (*vec_interleave_lowv2df): Ditto.
4367 (vec_dupv2df): Ditto.
4368
870ca331
JH
43692013-01-09 Jan Hubicka <jh@suse.cz>
4370
4371 PR tree-optimiation/55875
4372 * tree-ssa-loop-niter.c (number_of_iterations_cond): Add
4373 EVERY_ITERATION parameter.
7b0fe4f4 4374 (number_of_iterations_exit): Check if exit is executed every iteration.
870ca331
JH
4375 (idx_infer_loop_bounds): Similarly here.
4376 (n_of_executions_at_most): Simplify
4377 to only test for cases where statement is dominated by the
7b0fe4f4 4378 particular bound; handle correctly the "postdominance" test.
870ca331
JH
4379 (scev_probably_wraps_p): Use max loop iterations info
4380 as a global bound first.
4381
6f575fe4 43822013-01-09 Nguyen Duy Dat <dat.nguyen.yn@rvc.renesas.com>
3cd232b5
NDD
4383 Nick Clifton <nickc@redhat.com>
4384
4385 * config/v850/v850.md (cbranchsf4): New pattern.
4386 (cstoresf4): New pattern.
4387 (cbranchdf4): New pattern.
4388 (cstoredf4): New pattern.
4389 (movsicc): Disallow floating point comparisons.
4390 (cmpsf_le_insn): Fix order of operators.
4391 (cmpsf_lt_insn): Likewise.
4392 (cmpsf_eq_insn): Likewise.
4393 (cmpdf_le_insn): Likewise.
4394 (cmpdf_lt_insn): Likewise.
4395 (cmpdf_eq_insn): Likewise.
4396 (cmpsf_ge_insn): Use LE comparison.
4397 (cmpdf_ge_insn): Likewise.
4398 (cmpsf_gt_insn): Use LT comparison.
4399 (cmpdf_gt_insn): Likewise.
4400 (cmpsf_ne_insn): Delete pattern.
4401 (cmpdf_ne_insn): Delete pattern.
4402 * config/v850/v850.c (v850_gen_float_compare): Use
4403 gen_cmpdf_eq_insn for NE comparison.
4404 (v850_float_z_comparison_operator)
4405 (v850_float_nz_comparison_operator): Move from here ...
4406 * config/v850/predicates.md: ... to here. Move GT and GE
4407 comparisons into v850_float_z_comparison_operator.
4408 * config/v850/v850-protos.h (v850_float_z_comparison_operator):
4409 Delete prototype.
4410 (v850_float_nz_comparison_operator): Likewise.
4411
f0d54148
JDA
44122013-01-09 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
4413
4414 * config/pa/pa.c (pa_emit_move_sequence): Replace calls to gen_insv
4415 with calls to gen_insvsi/gen_insvdi.
4416
8f01beca
VK
44172013-01-09 Venkataramanan Kumar <venkataramanan.kumar@amd.com>
4418
4419 * config/i386/i386.c (initial_ix86_tune_features): Set up
4420 X86_TUNE_AVX128_OPTIMAL for m_BTVER2.
4421
2aa579ad
JJ
44222013-01-09 Steven Bosscher <steven@gcc.gnu.org>
4423 Jakub Jelinek <jakub@redhat.com>
4424
4425 PR tree-optimization/48189
4426 * predict.c (predict_loops): If max is 0, don't call compare_tree_int.
4427 If nitercst is 0, don't predict the exit edge.
4428
6edc3e32 44292013-01-08 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
01a3a324
N
4430
4431 * config/aarch64/aarch64.c (aarch64_print_operand): Replace %r
4432 in asm_fprintf with reg_names.
4433 (aarch64_print_operand_address): Likewise.
4434 (aarch64_return_addr): Likewise.
4435 * config/aarch64/aarch64.h (ASM_FPRINTF_EXTENSIONS): Remove.
4436
f6f94d94
JDA
44372013-01-08 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
4438
4439 * config/pa/pa.h (VAL_U6_BITS_P): Define.
4440 (INT_U6_BITS): Likewise.
4441 * config/pa/predicates.md (uint6_operand): New predicate.
4442 (shift5_operand, shift6_operand): Likewise.
4443 * config/pa/pa.md (lshrsi3, rotrsi3): Use shift5_operand instead of
4444 arith32_operand.
4445 (lshrdi3): Use shift6_operand.
4446 (shrpsi4, shrpdi4): New insn patterns.
4447 (extzv): Delete expander.
4448 (extzvsi, extzvdi): New expanders. Use uint5_operand and uint6_operand
4449 predicates in unamed zero extract patterns. Tighten common constraint.
4450 (extv): Delete expander.
4451 (extvsi, extvdi): New expanders. Use uint5_operand and uint6_operand
4452 predicates in unamed sign extract patterns. Tighten common constraint.
4453 (insv): Delete expander.
4454 (insvsi, insvdi): New expanders. Use uint5_operand and uint6_operand
4455 predicates in unamed insert patterns. Tighten common constraint.
4456 Change uint32_operand predicate to uint6_operand predicate in unamed
4457 DImode pattern to insert constant values of type 1...1xxxx.
4458
36b72910
JH
44592013-01-04 Jan Hubicka <jh@suse.cz>
4460
4461 PR tree-optimization/55823
7b0fe4f4
UB
4462 * ipa-prop.c (update_indirect_edges_after_inlining): Fix ordering
4463 issue.
36b72910 4464
47876a2a 44652013-01-08 Jakub Jelinek <jakub@redhat.com>
c6d851b9
JJ
4466 Uros Bizjak <ubizjak@gmail.com>
4467
4468 PR rtl-optimization/55845
4469 * df-problems.c (can_move_insns_across): Stop scanning at
4470 volatile_insn_p source instruction or give up if
4471 across_from .. across_to range contains any volatile_insn_p
4472 instructions.
4473
4369c11e
TB
44742013-01-08 Tejas Belagod <tejas.belagod@arm.com>
4475
7b0fe4f4
UB
4476 * config/aarch64/aarch64-simd.md (vec_init<mode>): New.
4477 * config/aarch64/aarch64-protos.h (aarch64_expand_vector_init):
4478 Declare.
4369c11e 4479 * config/aarch64/aarch64.c (aarch64_simd_dup_constant,
7b0fe4f4 4480 aarch64_simd_make_constant, aarch64_expand_vector_init): New.
4369c11e 4481
aeb7e7c1
JJ
44822013-01-08 Jakub Jelinek <jakub@redhat.com>
4483
4484 PR fortran/55341
4485 * asan.c (asan_clear_shadow): New function.
4486 (asan_emit_stack_protection): Use it.
4487
a02ad1aa
TB
44882013-01-08 Tejas Belagod <tejas.belagod@arm.com>
4489
4490 * config/aarch64/aarch64-simd.md (aarch64_simd_vec_<su>mult_lo_<mode>,
4491 aarch64_simd_vec_<su>mult_hi_<mode>): Separate instruction and operand
4492 with tab instead of space.
4493
f90d87f5
NC
44942013-01-08 Nick Clifton <nickc@redhat.com>
4495
4496 * config/rl78/rl78.c (rl78_expand_prologue): Always select
4497 register bank 0 at the start of an interrupt handler.
83ffd964
NC
4498 * config/rl78/rl78.md (mulsi3_g13): Correct values for MDBL and
4499 MDBH registers.
f90d87f5 4500
385eb93d
JG
45012013-01-08 James Greenhalgh <james.greenhalgh@arm.com>
4502
4503 * config/aarch64/aarch64-simd.md
4504 (aarch64_simd_bsl<mode>_internal): Add floating-point modes.
4505 (aarch64_simd_bsl): Likewise.
4506 (aarch64_vcond_internal<mode>): Likewise.
4507 (vcond<mode><mode>): Likewise.
4508 (aarch64_cm<cmp><mode>): Fix constraints, add new modes.
4509 * config/aarch64/iterators.md (V_cmp_result): Add V2DF.
4510
4dcd1054
JG
45112013-01-08 James Greenhalgh <james.greenhalgh@arm.com>
4512
4513 * config/aarch64/aarch64-builtins.c
4514 (aarch64_builtin_vectorized_function): Handle sqrt, sqrtf.
4515
4267a4a6
MJ
45162013-01-08 Martin Jambor <mjambor@suse.cz>
4517
4518 PR debug/55579
4519 * tree-sra.c (analyze_access_subtree): Return true also after
4520 potentially creating a debug-only replacement.
4521
5f4e6de3
JJ
45222013-01-08 Jakub Jelinek <jakub@redhat.com>
4523
3138f224
JJ
4524 PR middle-end/55890
4525 * tree-ssa-ccp.c (evaluate_stmt): Use gimple_call_builtin_p.
4526
5f4e6de3
JJ
4527 PR tree-optimization/54120
4528 * tree-vrp.c (range_fits_type_p): Don't allow
4529 src_precision < precision from signed vr to unsigned_p
4530 if vr->min or vr->max is negative.
4531 (simplify_float_conversion_using_ranges): Test can_float_p
4532 against CODE_FOR_nothing.
4533
f3ef18ff
JJ
45342013-01-08 Jakub Jelinek <jakub@redhat.com>
4535 Richard Biener <rguenther@suse.de>
4536
4537 PR middle-end/55851
4538 * fold-const.c (int_binop_types_match_p): Allow all INTEGRAL_TYPE_P
4539 types instead of just INTEGER_TYPE types.
4540
25c210f9
MK
45412013-01-07 Mark Kettenis <kettenis@openbsd.org>
4542
4543 * config/i386/openbsdelf.h (LIBGCC2_HAS_TF_MODE, LIBGCC2_TF_CEXT,
4544 TF_SIZE): Define.
f90d87f5 4545
81826a7b
SE
45462013-01-07 Steve Ellcey <sellcey@mips.com>
4547
4548 PR target/42661
4549 * config/mips/mips.opt: Change mad to mmad to match documentation.
4550
35678514
GJL
45512013-01-07 Georg-Johann Lay <avr@gjlay.de>
4552
4553 PR target/55897
4554 * doc/extend.texi (AVR Named Address Spaces): __memx goes into
4555 .progmemx.data now.
4556
e5669488
GJL
45572013-01-07 Georg-Johann Lay <avr@gjlay.de>
4558
4559 PR target/55897
4560 * config/avr/avr.h (ADDR_SPACE_COUNT): New enum.
4561 (avr_addrspace_t): Add .section_name field.
4562 * config/avr/avr.c (progmem_section): Use ADDR_SPACE_COUNT as
4563 array size.
4564 (avr_addrspace): Same. Initialize .section_name. Remove last
4565 NULL entry. Put __memx into .progmemx.data.
4566 (progmem_section_prefix): Remove.
4567 (avr_asm_init_sections): No need to initialize progmem_section.
4568 (avr_asm_named_section): Use avr_addrspace[].section_name to get
4569 section name prefix.
4570 (avr_asm_select_section): Ditto. And use get_unnamed_section to
4571 retrieve the progmem section.
4572 * avr-c.c (avr_cpu_cpp_builtins): Use ADDR_SPACE_COUNT as loop
4573 boundary to run over avr_addrspace[].
4574 (avr_register_target_pragmas): Ditto.
4575
656e6f37
JJ
45762013-01-06 Jakub Jelinek <jakub@redhat.com>
4577
4578 * varasm.c (output_constant_def_contents): For asan_protect_global
4579 protected strings, adjust DECL_ALIGN if needed, before testing for
4580 anchored symbols.
4581 (place_block_symbol): Adjust size for asan protected STRING_CSTs if
4582 TREE_CONSTANT_POOL_ADDRESS_P. Increase alignment for asan protected
4583 normal decls.
4584 (output_object_block): For asan protected decls, emit asan padding
4585 after their contents.
4586 * asan.c (asan_protect_global): Don't check TREE_ASM_WRITTEN here.
4587 (asan_finish_file): Test it here instead.
4588
6edc3e32
UB
45892013-01-07 Nick Clifton <nickc@redhat.com>
4590 Matthias Klose <doko@debian.org>
4591 Doug Kwan <dougkwan@google.com>
4592 H.J. Lu <hongjiu.lu@intel.com>
b352afba
NC
4593
4594 PR driver/55470
4595 * collect2.c (main): Support -fuse-ld=bfd and -fuse-ld=gold.
4596
4597 * common.opt: Add fuse-ld=bfd and fuse-ld=gold.
4598
4599 * gcc.c (LINK_COMMAND_SPEC): Pass -fuse-ld=* to collect2.
4600
7b0fe4f4 4601 * opts.c (comman_handle_option): Ignore -fuse-ld=bfd and -fuse-ld=gold.
b352afba
NC
4602
4603 * doc/invoke.texi: Document -fuse-ld=bfd and -fuse-ld=gold.
4604
2a095093
GJL
46052013-01-07 Georg-Johann Lay <avr@gjlay.de>
4606
f3b503f4 4607 PR target/54461
2a095093
GJL
4608 * doc/install.texi (Cross-Compiler-Specific Options): Document
4609 --with-avrlibc.
4610
383f9b34
TB
46112013-01-07 Tejas Belagod <tejas.belagod@arm.com>
4612
4613 * config/aarch64/arm_neon.h (vmovn_high_is16, vmovn_high_s32,
4614 vmovn_high_s64, vmovn_high_u16, vmovn_high_u32, vmovn_high_u64,
4615 vqmovn_high_s16, vqmovn_high_s32, vqmovn_high_s64, vqmovn_high_u16,
4616 vqmovn_high_u32, vqmovn_high_u64, vqmovun_high_s16, vqmovun_high_s32,
4617 vqmovun_high_s64): Fix source operand number and update copyright.
4618
3626621a
RB
46192013-01-07 Richard Biener <rguenther@suse.de>
4620
4621 PR middle-end/55890
4622 * gimple.h (gimple_call_builtin_p): New overload.
4623 * gimple.c (validate_call): New function.
4624 (gimple_call_builtin_p): Likewise.
4625 * tree-ssa-structalias.c (find_func_aliases_for_builtin_call):
4626 Use gimple_call_builtin_p.
4627 (find_func_clobbers): Likewise.
4628 * tree-ssa-strlen.c (adjust_last_stmt): Likewise.
4629 (strlen_optimize_stmt): Likewise.
4630
8b2ea410
JG
46312013-01-07 James Greenhalgh <james.greenhalgh@arm.com>
4632
4633 * config/aarch64/arm_neon.h (vld1_dup_*): Make argument const.
4634 (vld1q_dup_*): Likewise.
4635 (vld1_*): Likewise.
4636 (vld1q_*): Likewise.
4637 (vld1_lane_*): Likewise.
4638 (vld1q_lane_*): Likewise.
4639
9713d329
RB
46402013-01-07 Richard Biener <rguenther@suse.de>
4641
4642 * lto-streamer.h (LTO_minor_version): Bump to 2.
4643
3520f7cc
JG
46442013-01-07 James Greenhalgh <james.greenhalgh@arm.com>
4645
4646 * config/aarch64/aarch64-protos.h
4647 (aarch64_const_double_zero_rtx_p): Rename to...
4648 (aarch64_float_const_zero_rtx_p): ...this.
4649 (aarch64_float_const_representable_p): New.
4650 (aarch64_output_simd_mov_immediate): Likewise.
4651 * config/aarch64/aarch64-simd.md (*aarch64_simd_mov<mode>): Refactor
4652 move immediate case.
4653 * config/aarch64/aarch64.c
4654 (aarch64_const_double_zero_rtx_p): Rename to...
4655 (aarch64_float_const_zero_rtx_p): ...this.
4656 (aarch64_print_operand): Allow printing of new constants.
4657 (aarch64_valid_floating_const): New.
4658 (aarch64_legitimate_constant_p): Check for valid floating-point
4659 constants.
4660 (aarch64_simd_valid_immediate): Likewise.
4661 (aarch64_vect_float_const_representable_p): New.
4662 (aarch64_float_const_representable_p): Likewise.
4663 (aarch64_simd_imm_zero_p): Also allow for floating-point 0.0.
4664 (aarch64_output_simd_mov_immediate): New.
4665 * config/aarch64/aarch64.md (*movsf_aarch64): Add new alternative.
4666 (*movdf_aarch64): Likewise.
4667 * config/aarch64/constraints.md (Ufc): New.
4668 (Y): call aarch64_float_const_zero_rtx.
4669 * config/aarch64/predicates.md (aarch64_fp_compare_operand): New.
4670
e167c04d
RB
46712013-01-07 Richard Biener <rguenther@suse.de>
4672
4673 PR tree-optimization/55888
4674 PR tree-optimization/55862
4675 * tree-ssa-pre.c (phi_translate_1): Revert previous change.
4676 (valid_in_sets): Check if a NAME has a leader in AVAIL_OUT,
4677 not if it is contained therein.
4678
0139aaab
GJL
46792013-01-07 Georg-Johann Lay <avr@gjlay.de>
4680
4681 * config/avr/t-avr: Typo.
4682
4a176b23
GJL
46832013-01-07 Georg-Johann Lay <avr@gjlay.de>
4684
4685 PR55243
4686 * config/avr/t-avr: Don't automatically rebuild
4687 $(srcdir)/config/avr/t-multilib
4688 $(srcdir)/config/avr/avr-tables.opt
4689 $(srcdir)/doc/avr-mmcu.texi
4690 (avr-mcus): New phony target to build them on request.
4691 (s-avr-mlib, s-avr-mmcu-texi): Remove.
4692 * avr/avr-mcus.def: Adjust comments.
4693
c7afdc98
UB
46942013-01-07 Uros Bizjak <ubizjak@gmail.com>
4695
4696 * config/i386/i386.c (DEFAULT_PCC_STRUCT_RETURN): Remove.
4697
1ab05c31
RS
46982013-01-06 Richard Sandiford <rdsandiford@googlemail.com>
4699
4700 * file-find.c, file-find.h, realmpfr.c: Add FSF as copyright holder.
4701
488e3acc
RS
47022013-01-06 Richard Sandiford <rdsandiford@googlemail.com>
4703
4704 * config/tilepro/gen-mul-tables.cc: Put copyright on one line.
4705
a89599d2
DE
47062013-01-05 David Edelsohn <dje.gcc@gmail.com>
4707
4708 * config/rs6000/aix53.h (LIB_SPEC): Add -lpthreads when compiling
4709 to generate profiling.
4710 * config/rs6000/aix64.h (LIB_SPEC): Same.
4711
70f09188
AP
47122013-01-04 Andrew Pinski <apinski@cavium.com>
4713
4714 * config/aarch64/aarch64.c (aarch64_fixed_condition_code_regs):
4715 New function.
4716 (TARGET_FIXED_CONDITION_CODE_REGS): Define.
4717
918d445f
UB
47182013-01-04 Uros Bizjak <ubizjak@gmail.com>
4719
4720 * config/i386/i386.c (ix86_legitimize_address): Call convert_to_mode
4721 unconditionally.
4722 (ix86_expand_move): Ditto.
4723 (ix86_zero_extend_to_Pmode): Ditto.
4724 (ix86_expand_call): Ditto.
4725 (ix86_expand_special_args_builtin): Ditto.
4726 (ix86_expand_builtin): Ditto.
4727
361618ec
RB
47282013-01-04 Richard Biener <rguenther@suse.de>
4729
4730 PR tree-optimization/55862
4731 * tree-ssa-pre.c (phi_translate_1): Valueize SSA names after
4732 translating them through PHI nodes.
4733
87eab554
MJ
47342013-01-04 Martin Jambor <mjambor@suse.cz>
4735
4736 PR tree-optimization/55755
4737 * tree-sra.c (sra_modify_assign): Do not check that an access has no
4738 children when trying to avoid producing a VIEW_CONVERT_EXPR.
4739
33879b9f
MP
47402013-01-04 Marek Polacek <polacek@redhat.com>
4741
4742 PR middle-end/55859
4743 * opts.c (default_options_optimization): Clarify error message.
4744
3068819a
RB
47452013-01-04 Richard Biener <rguenther@suse.de>
4746
4747 PR middle-end/55863
4748 * fold-const.c (split_tree): Undo -X - 1 to ~X folding for
4749 reassociation.
4750
0e4ae794
JDA
47512013-01-03 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
4752
4753 PR target/53789
4754 * config/pa/pa.md (movsi): Revert previous change.
e58d2e48
JDA
4755 * config/pa/pa.c (pa_legitimate_constant_p): Reject all TLS symbol
4756 references.
0e4ae794 4757
65c88cef
RH
47582013-01-03 Richard Henderson <rth@redhat.com>
4759
4760 * config/i386/i386.c (ix86_expand_move): Always assign to op1
4761 after eliminating TLS symbols.
4762
8ac16127
MG
47632013-01-03 Marc Glisse <marc.glisse@inria.fr>
4764
4765 PR bootstrap/50167
4766 * graphite-interchange.c (pdr_stride_in_loop): Use gmp_fprintf.
4767 * graphite-poly.c (debug_gmp_value): Likewise.
4768
bb664f09
UB
47692013-01-03 Uros Bizjak <ubizjak@gmail.com>
4770
4771 PR target/55712
4772 * config/i386/i386-c.c (ix86_target_macros_internal): Depending on
4773 selected code model, define __code_mode_small__, __code_model_medium__,
4774 __code_model_large__, __code_model_32__ or __code_model_kernel__.
4775 * config/i386/cpuid.h (__cpuid, __cpuid_count) [__i386__]: Prefix
4776 xchg temporary register with %k. Declare temporary register as
4777 early clobbered.
4778 [__x86_64__]: For medium and large code models, preserve %rbx register.
4779
bcf1ef00
RB
47802013-01-03 Richard Biener <rguenther@suse.de>
4781
0506634a 4782 * tree-data-ref.c (dump_conflict_function): Use less vertical spacing.
bcf1ef00
RB
4783 (dump_subscript): Adjust.
4784 (finalize_ddr_dependent): Do not dump redundant info.
4785 (analyze_siv_subscript): Adjust.
4786 (subscript_dependence_tester): Likewise.
4787 (compute_affine_dependence): Likewise.
4788
59fd17e3
RB
47892013-01-03 Richard Biener <rguenther@suse.de>
4790
4791 Revert
4792 2013-01-03 Richard Biener <rguenther@suse.de>
4793
4794 PR tree-optimization/55857
4795 * tree-vect-stmts.c (vectorizable_load): Do not setup
4796 re-alignment for invariant loads.
4797
4798 2013-01-02 Richard Biener <rguenther@suse.de>
4799
4800 * tree-vect-stmts.c (vectorizable_load): When vectorizing an
0506634a 4801 invariant load do not generate a vector load from the scalar location.
59fd17e3 4802
595c2679
RB
48032013-01-03 Richard Biener <rguenther@suse.de>
4804
4805 * tree-vect-loop.c (vect_analyze_loop_form): Clarify reason
4806 for not vectorizing.
4807 * tree-vect-data-refs.c (vect_create_addr_base_for_vector_ref): Do
4808 not build INDIRECT_REFs, call get_name once only.
4809 (vect_create_data_ref_ptr): Likewise. Dump base object kind
4810 based on DR_BASE_OBJECT, not DR_BASE_ADDRESS.
4811
90bb7d7a
RB
48122013-01-03 Richard Biener <rguenther@suse.de>
4813
4814 PR tree-optimization/55857
4815 * tree-vect-stmts.c (vectorizable_load): Do not setup
4816 re-alignment for invariant loads.
4817
f09b77ca
RB
48182013-01-03 Richard Biener <rguenther@suse.de>
4819
4820 PR lto/55848
4821 * lto-symtab.c (lto_symtab_merge_decls_1): As last resort, always
4822 prefer a built-in decl.
4823
3461a16e
JJ
48242013-01-03 Jakub Jelinek <jakub@redhat.com>
4825
df8e2b4f
JJ
4826 * gcc.c (process_command): Update copyright notice dates.
4827 * gcov.c (print_version): Likewise.
4828 * gcov-dump.c (print_version): Likewise.
4829
3461a16e
JJ
4830 PR rtl-optimization/55838
4831 * loop-iv.c (iv_number_of_iterations): Call lowpart_subreg on
4832 iv0.step, iv1.step and step.
4833
8b5546d6
JJ
48342013-01-03 Jakub Jelinek <jakub@redhat.com>
4835 Marc Glisse <marc.glisse@inria.fr>
4836
4837 PR tree-optimization/55832
4838 * fold-const.c (fold_binary_loc): For ABS_EXPR<x> >= 0 and
4839 ABS_EXPR<x> < 0 folding use constant_boolean_node instead of
4840 integer_{one,zero}_node.
4841
8ab1d2e9
JJ
48422013-01-03 Jakub Jelinek <jakub@redhat.com>
4843
4844 PR debug/54402
4845 * params.def (PARAM_MAX_VARTRACK_REVERSE_OP_SIZE): New param.
4846 * var-tracking.c (reverse_op): Don't add reverse ops to
4847 VALUEs that have already
0506634a 4848 PARAM_VALUE (PARAM_MAX_VARTRACK_REVERSE_OP_SIZE) or longer locs list.
8ab1d2e9 4849
5b9ad1d4
GP
48502013-01-02 Gerald Pfeifer <gerald@pfeifer.com>
4851
4852 * doc/contrib.texi: Note years as release manager for Mark Mitchell.
4853
e25a6711
TJ
48542013-01-02 Teresa Johnson <tejohnson@google.com>
4855
4856 * dumpfile.c (dump_loc): Print filename with location.
4857 * tree-ssa-loop-ivcanon.c (try_unroll_loop_completely): Use
4858 new location_t parameter to emit complete unroll message with
4859 new dump framework.
4860 (canonicalize_loop_induction_variables): Compute loops location
4861 and pass to try_unroll_loop_completely.
4862 * loop-unroll.c (report_unroll_peel): New function.
4863 (peel_loops_completely): Use new dump format with location
4864 for main dumpfile message, and invoke report_unroll_peel on success.
4865 (decide_unrolling_and_peeling): Ditto.
4866 (decide_peel_once_rolling): Remove old dumpfile message subsumed
4867 by report_unroll_peel.
4868 (decide_peel_completely): Ditto.
4869 (decide_unroll_constant_iterations): Ditto.
4870 (decide_unroll_runtime_iterations): Ditto.
4871 (decide_peel_simple): Ditto.
4872 (decide_unroll_stupid): Ditto.
4873 * cfgloop.c (get_loop_location): New function.
4874 * cfgloop.h (get_loop_location): Declare.
4875
77878621
ST
48762013-01-02 Sriraman Tallam <tmsriram@google.com>
4877
4878 * config/i386/i386.c (fold_builtin_cpu): Remove unnecessary checks for
4879 NULL.
4880
9e65d03e
JDA
48812013-01-02 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
4882
4883 PR middle-end/55198
4884 * expr.c (expand_expr_real_1): Don't use bitfield extraction for non
4885 BLKmode objects when EXPAND_MEMORY is specified.
4886
6a7da30f
ST
48872013-01-02 Sriraman Tallam <tmsriram@google.com>
4888
4889 * config/i386/i386.c (ix86_get_function_versions_dispatcher): Fix bug
4890 in loop predicate.
4891 (fold_builtin_cpu): Do not share cpu model decls across statements.
4892
e78167f2
JM
48932013-01-02 Jason Merrill <jason@redhat.com>
4894
4895 PR c++/55804
4896 * tree.c (build_array_type_1): Revert earlier change.
4897
8c075fb4
YZ
48982013-01-02 Yufeng Zhang <yufeng.zhang@arm.com>
4899
4900 * config/aarch64/aarch64-cores.def: Add entries for "cortex-a53" and
4901 "cortex-a57".
4902 * config/aarch64/aarch64-tune.md: Re-generate.
4903
0682ed3e
RB
49042013-01-02 Richard Biener <rguenther@suse.de>
4905
4906 * tree-vect-stmts.c (vectorizable_load): When vectorizing an
0506634a 4907 invariant load do not generate a vector load from the scalar location.
0682ed3e 4908
b8f6a302
RB
49092013-01-02 Richard Biener <rguenther@suse.de>
4910
4911 PR bootstrap/55784
4912 * configure.ac: Add $GMPINC to CFLAGS/CXXFLAGS.
4913 * configure: Regenerate.
4914
04b80dbb
RS
49152013-01-02 Richard Sandiford <rdsandiford@googlemail.com>
4916
4917 * builtins.c (expand_builtin_mathfn, expand_builtin_mathfn_2)
4918 (expand_builtin_mathfn_ternary, expand_builtin_mathfn_3)
4919 (expand_builtin_int_roundingfn_2): Keep the original target around
4920 for the fallback case.
4921
635b0b0c
RS
49222013-01-02 Richard Sandiford <rdsandiford@googlemail.com>
4923
4924 * tree-vrp.c (range_fits_type_p): Require the MSB of the double_int
4925 to be clear for sign changes.
4926
42d57399
JH
49272013-01-01 Jan Hubicka <jh@suse.cz>
4928
4929 * ipa-inline-analysis.c: Fix formatting.
4930
5bb6669d
JJ
49312013-01-01 Jakub Jelinek <jakub@redhat.com>
4932
4933 PR tree-optimization/55831
4934 * tree-vect-loop.c (get_initial_def_for_induction): Use
4935 gsi_after_labels instead of gsi_start_bb.
ad41bd84 4936\f
86a2db33 4937Copyright (C) 2013 Free Software Foundation, Inc.
ad41bd84
JM
4938
4939Copying and distribution of this file, with or without modification,
4940are permitted in any medium without royalty provided the copyright
4941notice and this notice are preserved.