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