1 2013-01-18 Bernd Schmidt <bernds@codesourcery.com>
3 PR rtl-optimization/52573
4 * regrename.c (build_def_use): Ignore REG_DEAD notes if there is a
5 REG_UNUSED for the same register.
8 2013-01-17 Richard Biener <rguenther@suse.de>
9 Marek Polacek <polacek@redhat.com>
11 PR rtl-optimization/55833
12 * loop-unswitch.c (unswitch_loops): Move loop verification...
13 (unswitch_single_loop): ...here. Call mark_irreducible_loops.
14 * cfgloopmanip.c (fix_loop_placement): Add IRRED_INVALIDATED parameter.
15 Set it to true when we're removing a loop from hierarchy tree in
16 an irreducible region.
17 (fix_bb_placements): Adjust caller.
18 (fix_loop_placements): Likewise.
20 2013-01-17 Georg-Johann Lay <avr@gjlay.de>
22 * config/avr/builtins.def (DEF_BUILTIN): Factor out
23 "__builtin_avr_" from NAME, turn NAME to an uppercase identifier.
24 Factor out 'CODE_FOR_' from ICODE, use 'nothing' instead of '-1'.
25 Remove ID. Adjust comments.
26 * config/avr/avr-c.c (avr_builtin_name): Remove.
27 (avr_cpu_cpp_builtins): Use DEF_BUILTIN instead of for-loop.
28 * config/avr/avr.c (avr_tolower): New static function.
29 (DEF_BUILTIN): Remove parameter ID. Prefix ICODE by 'CODE_FOR_'.
30 Stringify NAME, prefix it with "__builtin_avr_" and lowercase it.
31 (avr_expand_builtin): Assert insn_code != CODE_FOR_nothing for
34 2013-01-17 Jan Hubicka <jh@suse.cz>
36 PR tree-optimization/55273
37 * loop-iv.c (iv_number_of_iterations): Consider zero iteration case.
39 2012-01-17 Uros Bizjak <ubizjak@gmail.com>
42 * config/i386/sync.md (atomic_store<mode>): Always generate SWImode
43 store through atomic_store<mode>_1.
44 (atomic_store<mode>_1): Macroize insn using SWI mode iterator.
46 2013-01-17 Martin Jambor <mjambor@suse.cz>
48 PR tree-optimizations/55264
49 * ipa-inline-transform.c (can_remove_node_now_p_1): Never return true
51 * ipa.c (symtab_remove_unreachable_nodes): Never return true for
52 virtual methods before inlining is over.
53 * cgraph.h (cgraph_only_called_directly_or_aliased_p): Return false for
55 * cgraphclones.c (cgraph_create_virtual_clone): Mark clones as
58 2013-01-16 Vladimir Makarov <vmakarov@redhat.com>
60 PR rtl-optimization/56005
61 * sched-deps.c (sched_analyze_2): Check deps->readonly for adding
62 pending reads for prefetch.
64 2013-01-16 Ian Bolton <ian.bolton@arm.com>
66 * gcc/config/aarch64/aarch64.md
67 (*cstoresi_neg_uxtw): New pattern.
68 (*cmovsi_insn_uxtw): New pattern.
69 (*<optab>si3_uxtw): New pattern.
70 (*<LOGICAL:optab>_<SHIFT:optab>si3_uxtw): New pattern.
71 (*<optab>si3_insn_uxtw): New pattern.
72 (*bswapsi2_uxtw): New pattern.
74 2013-01-16 Richard Biener <rguenther@suse.de>
76 * tree-inline.c (tree_function_versioning): Remove set but
79 2013-01-16 Richard Biener <rguenther@suse.de>
81 PR tree-optimization/55964
82 * tree-flow.h (rename_variables_in_loop): Remove.
83 (rename_variables_in_bb): Likewise.
84 * tree-loop-distribution.c (update_phis_for_loop_copy): Remove.
85 (copy_loop_before): Adjust and delete update-ssa status.
86 * tree-vect-loop-manip.c (rename_variables_in_bb): Make static.
87 (rename_variables_in_bb): Likewise. Properly walk over predecessors.
88 (rename_variables_in_loop): Remove.
89 (slpeel_update_phis_for_duplicate_loop): Likewise.
90 (slpeel_tree_duplicate_loop_to_edge_cfg): Handle nested loops,
91 use available cfg machinery instead of duplicating it.
92 Update PHI nodes and perform poor-mans SSA update here.
93 (slpeel_tree_peel_loop_to_edge): Adjust.
95 2013-01-16 Richard Biener <rguenther@suse.de>
97 PR tree-optimization/54767
98 PR tree-optimization/53465
99 * tree-vrp.c (vrp_meet_1): Revert original fix for PR53465.
100 (vrp_visit_phi_node): For PHI arguments coming via backedges
101 drop all symbolical range information.
102 (execute_vrp): Compute backedges.
104 2013-01-16 Richard Biener <rguenther@suse.de>
106 * doc/install.texi: Update CLooG and ISL requirements to
109 2013-01-16 Christian Bruel <christian.bruel@st.com>
112 * config/sh/sh.c (sh_expand_prologue): Postpone new_stack mem symbol.
113 (broken_move): Handle UNSPECV_SP_SWITCH_B.
114 * config/sh/sh.md (sp_switch_1): Use set (reg:SI SP_REG).
116 2013-01-16 DJ Delorie <dj@redhat.com>
118 * config/sh/sh.md (UNSPECV_SP_SWITCH_B): New.
119 (UNSPECV_SP_SWITCH_E): New.
120 (sp_switch_1): Change to an unspec.
121 (sp_switch_2): Change to an unspec. Don't use post-inc when we
124 2013-01-16 Uros Bizjak <ubizjak@gmail.com>
126 * emit-rtl.c (need_atomic_barrier_p): Mask memory model argument
127 with MEMMODEL_MASK before comparing with MEMMODEL_* memory types.
128 * optabs.c (maybe_emit_sync_lock_test_and_set): Ditto.
129 (expand_mem_thread_fence): Ditto.
130 (expand_mem_signal_fence): Ditto.
131 (expand_atomic_load): Ditto.
132 (expand_atomic_store): Ditto.
134 2013-01-16 Alexandre Oliva <aoliva@redhat.com>
136 PR rtl-optimization/55547
137 PR rtl-optimization/53827
140 * alias.c (memrefs_conflict_p): Set sizes to negative after
143 2013-01-15 Jakub Jelinek <jakub@redhat.com>
146 * function.c (thread_prologue_and_epilogue_insns): Always
147 add crtl->drap_reg to set_up_by_prologue.set, even if
148 stack_realign_drap is false.
150 2013-01-15 Jan-Benedict Glaw <jbglaw@lug-owl.de>
152 * config/vax/vax.md (add<mode>3, sub<mode>3, mul<mode>3, div<mode>3,
153 and<mode>3, *and<mode>_const_int, ior<mode>3, xor<mode>3, ashrsi3,
154 *call): Fix indention.
156 2013-01-15 Tom de Vries <tom@codesourcery.com>
159 * optabs.c (widen_operand): Use gen_lowpart instead of gen_rtx_SUBREG.
162 2013-01-15 Vladimir Makarov <vmakarov@redhat.com>
164 PR rtl-optimization/55153
165 * sched-deps.c (sched_analyze_2): Add pending reads for prefetch.
167 2013-01-15 Martin Jambor <mjambor@suse.cz>
169 PR tree-optimization/55920
170 * tree-sra.c (analyze_access_subtree): Do not mark non-removable
171 accesses as grp_to_be_debug_replaced.
173 2013-01-15 Jakub Jelinek <jakub@redhat.com>
175 PR tree-optimization/55920
176 * tree-sra.c (sra_modify_assign): If for lacc->grp_to_be_debug_replaced
177 there is non-useless type conversion needed from debug rhs to lhs,
178 use build_debug_ref_for_model and/or VIEW_CONVERT_EXPR.
180 2013-01-15 Joseph Myers <joseph@codesourcery.com>
181 Mikael Pettersson <mikpe@it.uu.se>
184 * config/arm/arm.h (ADDR_VEC_ALIGN): Align SImode jump tables for
186 (ASM_OUTPUT_CASE_LABEL): Remove.
187 (ASM_OUTPUT_BEFORE_CASE_LABEL): Define to empty.
188 * final.c (shorten_branches): Update alignment of labels before
189 jump tables if CASE_VECTOR_SHORTEN_MODE.
191 2013-01-15 Richard Biener <rguenther@suse.de>
194 * system.h: Do not include gmp.h for building host tools.
196 2013-01-15 Richard Biener <rguenther@suse.de>
199 * emit-rtl.c (set_mem_attributes_minus_bitpos): Correctly
200 account for bitpos when computing alignment.
202 2013-01-15 Vladimir Yakovlev <vladimir.b.yakovlev@intel.com>
204 * config/i386/i386-c.c (ix86_target_macros_internal): New case.
205 (ix86_target_macros_internal): Likewise.
207 * config/i386/i386.c (m_CORE2I7): Removed.
208 (m_CORE_HASWELL): New macro.
209 (m_CORE_ALL): Likewise.
210 (initial_ix86_tune_features): m_CORE2I7 is replaced by m_CORE_ALL.
211 (initial_ix86_arch_features): Likewise.
212 (processor_target_table): Initializations for Core avx2.
213 (cpu_names): New names "core-avx2".
214 (ix86_option_override_internal): Changed PROCESSOR_COREI7 by
215 PROCESSOR_CORE_HASWELL.
216 (ix86_issue_rate): New case.
217 (ia32_multipass_dfa_lookahead): Likewise.
218 (ix86_sched_init_global): Likewise.
220 * config/i386/i386.h (TARGET_HASWELL): New macro.
221 (target_cpu_default): New TARGET_CPU_DEFAULT_haswell.
222 (processor_type): New PROCESSOR_HASWELL.
224 2013-01-15 Jakub Jelinek <jakub@redhat.com>
226 PR tree-optimization/55955
227 * tree-vect-loop.c (vectorizable_reduction): Give up early on
228 *SHIFT_EXPR and *ROTATE_EXPR codes.
230 PR tree-optimization/48766
231 * opts.c (common_handle_option): For -fwrapv disable -ftrapv, for
232 -ftrapv disable -fwrapv.
234 2013-01-14 Georg-Johann Lay <avr@gjlay.de>
237 * config/avr/avr-c.c (avr_cpu_cpp_builtins): Define __FLASH
238 etc. to 1 and not to __flash.
239 Use LL suffix for __INT24_MAX__ with -mint8.
240 Use ULL suffix for __UINT24_MAX__ with -mint8.
242 2013-01-14 Georg-Johann Lay <avr@gjlay.de>
244 * config/avr/avr-arch.h
245 (struct base_arch_s): Use typedef avr_arch_t instead.
246 (struct arch_info_s): Use typedef avr_arch_info_t instead.
247 (struct mcu_type_s): Use typedef avr_mcu_t instead.
248 * config/avr/avr.c: Same.
249 * config/avr/avr-devices.c: Same.
250 * config/avr/driver-avr.c: Same.
251 * config/avr/gen-avr-mmcu-texi.c: Same.
252 * config/avr/avr-mcus.def: Adjust comment.
254 2013-01-14 Tejas Belagod <tejas.belagod@arm.com>
256 * config/aarch64/aarch64-simd.md (*aarch64_simd_ld1r<mode>): New.
257 * config/aarch64/iterators.md (VALLDI): New.
259 2012-01-14 Uros Bizjak <ubizjak@gmail.com>
260 Andi Kleen <ak@linux.intel.com>
263 * config/i386/sync.md (atomic_store<mode>_1): New pattern.
264 (atomic_store<mode>): Call atomic_store<mode>_1 for IX86_HLE_RELEASE
267 2013-01-14 Georg-Johann Lay <avr@gjlay.de>
269 * config/avr/avr-stdint.h: Remove trailing blanks.
270 * config/avr/avr-log.h: Same.
271 * config/avr/avr-arch.h: Same.
272 * config/avr/avr-devices.c: Same.
273 * config/avr/avr-dimode.md: Same.
274 * config/avr/predicates.md: Same.
275 * config/avr/avr-c.c: Same. And fix typo.
277 * config/avr/avr-protos.h: Same. And:
278 (function_arg_regno_p): Rename to avr_function_arg_regno_p.
279 (init_cumulative_args): Rename to avr_init_cumulative_args.
280 (expand_prologue): Rename to avr_expand_prologue.
281 (expand_epilogue): Rename to avr_expand_epilogue.
282 (adjust_insn_length): Rename to avr_adjust_insn_length.
283 (notice_update_cc): Rename to avr_notice_update_cc.
284 (final_prescan_insn): Rename to avr_final_prescan_insn.
285 * config/avr/avr.c: Same.
286 * config/avr/avr.h: Same.
287 * config/avr/avr.md: Remove trailing blanks.
288 (prologue): Use avr_expand_prologue.
289 (epilogue, sibcall_epilogue): Use avr_expand_epilogue.
291 2013-01-14 Richard Biener <rguenther@suse.de>
293 * tree-cfg.c (verify_expr_location, verify_expr_location_1,
294 verify_location, collect_subblocks): New functions.
295 (verify_gimple_in_cfg): Verify that locations only reference
296 BLOCKs in the functions BLOCK tree.
298 2013-01-14 Richard Biener <rguenther@suse.de>
300 * tree-cfgcleanup.c (remove_forwarder_block): Unshare propagated
302 * graphite-sese-to-poly.c (insert_out_of_ssa_copy): Properly
304 (insert_out_of_ssa_copy_on_edge): Likewise.
305 (rewrite_close_phi_out_of_ssa): Likewise.
306 * tree-ssa.c (insert_debug_temp_for_var_def): Properly unshare
308 * tree-ssa-pre.c (insert_into_preds_of_block): Properly unshare
309 propagated constants.
310 * tree-cfg.c (tree_node_can_be_shared): Handled component-refs
313 2013-01-14 Georg-Johann Lay <avr@gjlay.de>
315 * config/avr/avr-modes.def: Add GPL copyright notice.
317 2013-01-13 Uros Bizjak <ubizjak@gmail.com>
319 * config/i386/sync.md (mem_thread_fence): Mask operands[0] with
320 MEMMODEL_MASK to determine memory model.
321 (atomic_store<mode>): Ditto from operands[2].
322 * config/i386/i386.c (ix86_memmodel_check): Declare "strong" as bool.
324 2013-01-13 Jakub Jelinek <jakub@redhat.com>
327 * gimple-fold.c (get_symbol_constant_value): Call unshare_expr.
328 (fold_gimple_assign): Don't call unshare_expr here.
329 (fold_ctor_reference): Call unshare_expr.
331 2013-01-13 Terry Guo <terry.guo@arm.com>
333 * gcc/Makefile.in (s-mlib): New argument MULTILIB_REUSE.
334 * gcc/doc/fragments.texi: Document MULTILIB_REUSE.
335 * gcc/gcc.c (multilib_reuse): New internal spec.
336 (set_multilib_dir): Also search multilib from multilib_reuse.
337 * gcc/genmultilib (tmpmultilib3): Refactor code.
338 (tmpmultilib4): Ditto.
339 (multilib_reuse): New multilib argument.
341 2013-01-13 Richard Sandiford <rdsandiford@googlemail.com>
343 * Makefile.in: Update copyright.
345 2013-01-12 Tom de Vries <tom@codesourcery.com>
348 * calls.c (expand_call): Check if arg_nr is valid.
350 2013-01-11 Michael Meissner <meissner@linux.vnet.ibm.com>
352 * doc/extend.texi (X86 Built-in Functions): Add whitespace in
353 __builtin_ia32_paddb256 and __builtin_ia32_pavgb256
354 documentation. Add missing '__' in front of
355 __builtin_ia32_packssdw256.
357 2013-01-11 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
360 * config/s390/s390.c (s390_preferred_reload_class): Do not return
361 NO_REGS for larl operands.
362 (s390_reload_larl_operand): Use s390_load_address instead of
365 2013-01-11 Richard Biener <rguenther@suse.de>
367 * tree-cfg.c (verify_node_sharing_1): Split out from ...
368 (verify_node_sharing): ... here.
369 (verify_gimple_in_cfg): Use verify_node_sharing_1 for walk_tree.
371 2013-01-11 Eric Botcazou <ebotcazou@adacore.com>
373 * configure.ac (Tree checking): Set TREECHECKING to yes if enabled.
374 Substitute TREECHECKING.
375 * configure: Regenerate.
376 * Makefile.in (TREECHECKING): New.
378 2012-01-11 Richard Guenther <rguenther@suse.de>
380 PR tree-optimization/44061
381 * tree-vrp.c (extract_range_basic): Compute zero as
382 value-range for __builtin_constant_p of function parameters.
384 2013-01-10 Richard Sandiford <rdsandiford@googlemail.com>
386 Update copyright years.
388 2013-01-10 Vladimir Makarov <vmakarov@redhat.com>
390 PR rtl-optimization/55672
391 * lra-eliminations.c (mark_not_eliminable): Permit addition with
392 const to be eliminable.
394 2013-01-10 David Edelsohn <dje.gcc@gmail.com>
396 * configure.ac (HAVE_AS_TLS): Add check for powerpc-ibm-aix.
397 * configure: Regenerate.
399 2013-01-10 Richard Biener <rguenther@suse.de>
401 * builtins.c (expand_builtin_init_trampoline): Use set_mem_attributes.
403 2013-01-10 Richard Biener <rguenther@suse.de>
406 * tree-into-ssa.c (rewrite_add_phi_arguments): Do not set
407 locations for virtual PHI arguments.
408 (rewrite_update_phi_arguments): Likewise.
410 2013-01-10 Joel Sherrill <joel.sherrill@OARcorp.com>
412 * config/v850/rtems.h (ASM_SPEC): Pass -m8byte-align and -mgcc-abi
415 2013-01-10 Jakub Jelinek <jakub@redhat.com>
417 PR tree-optimization/55921
418 * tree-complex.c (expand_complex_asm): New function.
419 (expand_complex_operations_1): Call it for GIMPLE_ASM.
421 2013-01-10 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
424 * config/s390/s390.c (s390_symref_operand_p)
425 (s390_loadrelative_operand_p): Merge the two functions.
426 (s390_check_qrst_address, print_operand_address): Add parameters
427 to s390_loadrelative_operand_p invokation.
428 (s390_check_symref_alignment): Use s390_loadrelative_operand_p.
429 (s390_reload_larl_operand, s390_secondary_reload): Use
430 s390_loadrelative_operand_p instead of s390_symref_operand_p.
431 (legitimize_pic_address): Handle @GOTENT and @PLT + addend.
433 2013-01-09 Mike Stump <mikestump@comcast.net>
435 * dse.c (record_store): Remove unnecessary assert.
437 2013-01-09 Jan Hubicka <jh@suse.cz>
439 PR tree-optimization/55569
440 * cfgloopmanip.c (scale_loop_profile): Make ITERATION_BOUND gcov_type.
441 * cfgloop.h (scale_loop_profile): Likewise.
443 2013-01-09 Jan Hubicka <jh@suse.cz>
446 * ipa-inline.c (ipa_inline): Remove extern inlines and virtual
448 * cgraphclones.c (cgraph_clone_node): Cpoy also LTO file data.
450 2013-01-09 Richard Sandiford <rdsandiford@googlemail.com>
453 * expr.h (maybe_emit_group_store): Declare.
454 * expr.c (maybe_emit_group_store): New function.
455 * builtins.c (expand_builtin_int_roundingfn): Call it.
456 (expand_builtin_int_roundingfn_2): Likewise.
458 2013-01-09 Vladimir Makarov <vmakarov@redhat.com>
460 PR rtl-optimization/55829
461 * lra-constraints.c (match_reload): Add code for absent output.
462 (curr_insn_transform): Add code for reloads of matched inputs
465 2013-01-09 Uros Bizjak <ubizjak@gmail.com>
467 * config/i386/sse.md (*vec_interleave_highv2df): Change mode
468 attribute of movddup insn to DF.
469 (*vec_interleave_lowv2df): Ditto.
470 (vec_dupv2df): Ditto.
472 2013-01-09 Jan Hubicka <jh@suse.cz>
474 PR tree-optimiation/55875
475 * tree-ssa-loop-niter.c (number_of_iterations_cond): Add
476 EVERY_ITERATION parameter.
477 (number_of_iterations_exit): Check if exit is executed every iteration.
478 (idx_infer_loop_bounds): Similarly here.
479 (n_of_executions_at_most): Simplify
480 to only test for cases where statement is dominated by the
481 particular bound; handle correctly the "postdominance" test.
482 (scev_probably_wraps_p): Use max loop iterations info
483 as a global bound first.
485 2013-01-09 Nguyen Duy Dat <dat.nguyen.yn@rvc.renesas.com>
486 Nick Clifton <nickc@redhat.com>
488 * config/v850/v850.md (cbranchsf4): New pattern.
489 (cstoresf4): New pattern.
490 (cbranchdf4): New pattern.
491 (cstoredf4): New pattern.
492 (movsicc): Disallow floating point comparisons.
493 (cmpsf_le_insn): Fix order of operators.
494 (cmpsf_lt_insn): Likewise.
495 (cmpsf_eq_insn): Likewise.
496 (cmpdf_le_insn): Likewise.
497 (cmpdf_lt_insn): Likewise.
498 (cmpdf_eq_insn): Likewise.
499 (cmpsf_ge_insn): Use LE comparison.
500 (cmpdf_ge_insn): Likewise.
501 (cmpsf_gt_insn): Use LT comparison.
502 (cmpdf_gt_insn): Likewise.
503 (cmpsf_ne_insn): Delete pattern.
504 (cmpdf_ne_insn): Delete pattern.
505 * config/v850/v850.c (v850_gen_float_compare): Use
506 gen_cmpdf_eq_insn for NE comparison.
507 (v850_float_z_comparison_operator)
508 (v850_float_nz_comparison_operator): Move from here ...
509 * config/v850/predicates.md: ... to here. Move GT and GE
510 comparisons into v850_float_z_comparison_operator.
511 * config/v850/v850-protos.h (v850_float_z_comparison_operator):
513 (v850_float_nz_comparison_operator): Likewise.
515 2013-01-09 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
517 * config/pa/pa.c (pa_emit_move_sequence): Replace calls to gen_insv
518 with calls to gen_insvsi/gen_insvdi.
520 2013-01-09 Venkataramanan Kumar <venkataramanan.kumar@amd.com>
522 * config/i386/i386.c (initial_ix86_tune_features): Set up
523 X86_TUNE_AVX128_OPTIMAL for m_BTVER2.
525 2013-01-09 Steven Bosscher <steven@gcc.gnu.org>
526 Jakub Jelinek <jakub@redhat.com>
528 PR tree-optimization/48189
529 * predict.c (predict_loops): If max is 0, don't call compare_tree_int.
530 If nitercst is 0, don't predict the exit edge.
532 2013-01-08 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
534 * config/aarch64/aarch64.c (aarch64_print_operand): Replace %r
535 in asm_fprintf with reg_names.
536 (aarch64_print_operand_address): Likewise.
537 (aarch64_return_addr): Likewise.
538 * config/aarch64/aarch64.h (ASM_FPRINTF_EXTENSIONS): Remove.
540 2013-01-08 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
542 * config/pa/pa.h (VAL_U6_BITS_P): Define.
543 (INT_U6_BITS): Likewise.
544 * config/pa/predicates.md (uint6_operand): New predicate.
545 (shift5_operand, shift6_operand): Likewise.
546 * config/pa/pa.md (lshrsi3, rotrsi3): Use shift5_operand instead of
548 (lshrdi3): Use shift6_operand.
549 (shrpsi4, shrpdi4): New insn patterns.
550 (extzv): Delete expander.
551 (extzvsi, extzvdi): New expanders. Use uint5_operand and uint6_operand
552 predicates in unamed zero extract patterns. Tighten common constraint.
553 (extv): Delete expander.
554 (extvsi, extvdi): New expanders. Use uint5_operand and uint6_operand
555 predicates in unamed sign extract patterns. Tighten common constraint.
556 (insv): Delete expander.
557 (insvsi, insvdi): New expanders. Use uint5_operand and uint6_operand
558 predicates in unamed insert patterns. Tighten common constraint.
559 Change uint32_operand predicate to uint6_operand predicate in unamed
560 DImode pattern to insert constant values of type 1...1xxxx.
562 2013-01-04 Jan Hubicka <jh@suse.cz>
564 PR tree-optimization/55823
565 * ipa-prop.c (update_indirect_edges_after_inlining): Fix ordering
568 2012-01-08 Jakub Jelinek <jakub@redhat.com>
569 Uros Bizjak <ubizjak@gmail.com>
571 PR rtl-optimization/55845
572 * df-problems.c (can_move_insns_across): Stop scanning at
573 volatile_insn_p source instruction or give up if
574 across_from .. across_to range contains any volatile_insn_p
577 2013-01-08 Tejas Belagod <tejas.belagod@arm.com>
579 * config/aarch64/aarch64-simd.md (vec_init<mode>): New.
580 * config/aarch64/aarch64-protos.h (aarch64_expand_vector_init):
582 * config/aarch64/aarch64.c (aarch64_simd_dup_constant,
583 aarch64_simd_make_constant, aarch64_expand_vector_init): New.
585 2013-01-08 Jakub Jelinek <jakub@redhat.com>
588 * asan.c (asan_clear_shadow): New function.
589 (asan_emit_stack_protection): Use it.
591 2013-01-08 Tejas Belagod <tejas.belagod@arm.com>
593 * config/aarch64/aarch64-simd.md (aarch64_simd_vec_<su>mult_lo_<mode>,
594 aarch64_simd_vec_<su>mult_hi_<mode>): Separate instruction and operand
595 with tab instead of space.
597 2013-01-08 Nick Clifton <nickc@redhat.com>
599 * config/rl78/rl78.c (rl78_expand_prologue): Always select
600 register bank 0 at the start of an interrupt handler.
601 * config/rl78/rl78.md (mulsi3_g13): Correct values for MDBL and
604 2013-01-08 James Greenhalgh <james.greenhalgh@arm.com>
606 * config/aarch64/aarch64-simd.md
607 (aarch64_simd_bsl<mode>_internal): Add floating-point modes.
608 (aarch64_simd_bsl): Likewise.
609 (aarch64_vcond_internal<mode>): Likewise.
610 (vcond<mode><mode>): Likewise.
611 (aarch64_cm<cmp><mode>): Fix constraints, add new modes.
612 * config/aarch64/iterators.md (V_cmp_result): Add V2DF.
614 2013-01-08 James Greenhalgh <james.greenhalgh@arm.com>
616 * config/aarch64/aarch64-builtins.c
617 (aarch64_builtin_vectorized_function): Handle sqrt, sqrtf.
619 2013-01-08 Martin Jambor <mjambor@suse.cz>
622 * tree-sra.c (analyze_access_subtree): Return true also after
623 potentially creating a debug-only replacement.
625 2013-01-08 Jakub Jelinek <jakub@redhat.com>
628 * tree-ssa-ccp.c (evaluate_stmt): Use gimple_call_builtin_p.
630 PR tree-optimization/54120
631 * tree-vrp.c (range_fits_type_p): Don't allow
632 src_precision < precision from signed vr to unsigned_p
633 if vr->min or vr->max is negative.
634 (simplify_float_conversion_using_ranges): Test can_float_p
635 against CODE_FOR_nothing.
637 2013-01-08 Jakub Jelinek <jakub@redhat.com>
638 Richard Biener <rguenther@suse.de>
641 * fold-const.c (int_binop_types_match_p): Allow all INTEGRAL_TYPE_P
642 types instead of just INTEGER_TYPE types.
644 2013-01-07 Mark Kettenis <kettenis@openbsd.org>
646 * config/i386/openbsdelf.h (LIBGCC2_HAS_TF_MODE, LIBGCC2_TF_CEXT,
649 2013-01-07 Steve Ellcey <sellcey@mips.com>
652 * config/mips/mips.opt: Change mad to mmad to match documentation.
654 2013-01-07 Georg-Johann Lay <avr@gjlay.de>
657 * doc/extend.texi (AVR Named Address Spaces): __memx goes into
660 2013-01-07 Georg-Johann Lay <avr@gjlay.de>
663 * config/avr/avr.h (ADDR_SPACE_COUNT): New enum.
664 (avr_addrspace_t): Add .section_name field.
665 * config/avr/avr.c (progmem_section): Use ADDR_SPACE_COUNT as
667 (avr_addrspace): Same. Initialize .section_name. Remove last
668 NULL entry. Put __memx into .progmemx.data.
669 (progmem_section_prefix): Remove.
670 (avr_asm_init_sections): No need to initialize progmem_section.
671 (avr_asm_named_section): Use avr_addrspace[].section_name to get
673 (avr_asm_select_section): Ditto. And use get_unnamed_section to
674 retrieve the progmem section.
675 * avr-c.c (avr_cpu_cpp_builtins): Use ADDR_SPACE_COUNT as loop
676 boundary to run over avr_addrspace[].
677 (avr_register_target_pragmas): Ditto.
679 2013-01-06 Jakub Jelinek <jakub@redhat.com>
681 * varasm.c (output_constant_def_contents): For asan_protect_global
682 protected strings, adjust DECL_ALIGN if needed, before testing for
684 (place_block_symbol): Adjust size for asan protected STRING_CSTs if
685 TREE_CONSTANT_POOL_ADDRESS_P. Increase alignment for asan protected
687 (output_object_block): For asan protected decls, emit asan padding
688 after their contents.
689 * asan.c (asan_protect_global): Don't check TREE_ASM_WRITTEN here.
690 (asan_finish_file): Test it here instead.
692 2013-01-07 Nick Clifton <nickc@redhat.com>
693 Matthias Klose <doko@debian.org>
694 Doug Kwan <dougkwan@google.com>
695 H.J. Lu <hongjiu.lu@intel.com>
698 * collect2.c (main): Support -fuse-ld=bfd and -fuse-ld=gold.
700 * common.opt: Add fuse-ld=bfd and fuse-ld=gold.
702 * gcc.c (LINK_COMMAND_SPEC): Pass -fuse-ld=* to collect2.
704 * opts.c (comman_handle_option): Ignore -fuse-ld=bfd and -fuse-ld=gold.
706 * doc/invoke.texi: Document -fuse-ld=bfd and -fuse-ld=gold.
708 2013-01-07 Georg-Johann Lay <avr@gjlay.de>
711 * doc/install.texi (Cross-Compiler-Specific Options): Document
714 2013-01-07 Tejas Belagod <tejas.belagod@arm.com>
716 * config/aarch64/arm_neon.h (vmovn_high_is16, vmovn_high_s32,
717 vmovn_high_s64, vmovn_high_u16, vmovn_high_u32, vmovn_high_u64,
718 vqmovn_high_s16, vqmovn_high_s32, vqmovn_high_s64, vqmovn_high_u16,
719 vqmovn_high_u32, vqmovn_high_u64, vqmovun_high_s16, vqmovun_high_s32,
720 vqmovun_high_s64): Fix source operand number and update copyright.
722 2013-01-07 Richard Biener <rguenther@suse.de>
725 * gimple.h (gimple_call_builtin_p): New overload.
726 * gimple.c (validate_call): New function.
727 (gimple_call_builtin_p): Likewise.
728 * tree-ssa-structalias.c (find_func_aliases_for_builtin_call):
729 Use gimple_call_builtin_p.
730 (find_func_clobbers): Likewise.
731 * tree-ssa-strlen.c (adjust_last_stmt): Likewise.
732 (strlen_optimize_stmt): Likewise.
734 2013-01-07 James Greenhalgh <james.greenhalgh@arm.com>
736 * config/aarch64/arm_neon.h (vld1_dup_*): Make argument const.
737 (vld1q_dup_*): Likewise.
740 (vld1_lane_*): Likewise.
741 (vld1q_lane_*): Likewise.
743 2013-01-07 Richard Biener <rguenther@suse.de>
745 * lto-streamer.h (LTO_minor_version): Bump to 2.
747 2013-01-07 James Greenhalgh <james.greenhalgh@arm.com>
749 * config/aarch64/aarch64-protos.h
750 (aarch64_const_double_zero_rtx_p): Rename to...
751 (aarch64_float_const_zero_rtx_p): ...this.
752 (aarch64_float_const_representable_p): New.
753 (aarch64_output_simd_mov_immediate): Likewise.
754 * config/aarch64/aarch64-simd.md (*aarch64_simd_mov<mode>): Refactor
756 * config/aarch64/aarch64.c
757 (aarch64_const_double_zero_rtx_p): Rename to...
758 (aarch64_float_const_zero_rtx_p): ...this.
759 (aarch64_print_operand): Allow printing of new constants.
760 (aarch64_valid_floating_const): New.
761 (aarch64_legitimate_constant_p): Check for valid floating-point
763 (aarch64_simd_valid_immediate): Likewise.
764 (aarch64_vect_float_const_representable_p): New.
765 (aarch64_float_const_representable_p): Likewise.
766 (aarch64_simd_imm_zero_p): Also allow for floating-point 0.0.
767 (aarch64_output_simd_mov_immediate): New.
768 * config/aarch64/aarch64.md (*movsf_aarch64): Add new alternative.
769 (*movdf_aarch64): Likewise.
770 * config/aarch64/constraints.md (Ufc): New.
771 (Y): call aarch64_float_const_zero_rtx.
772 * config/aarch64/predicates.md (aarch64_fp_compare_operand): New.
774 2013-01-07 Richard Biener <rguenther@suse.de>
776 PR tree-optimization/55888
777 PR tree-optimization/55862
778 * tree-ssa-pre.c (phi_translate_1): Revert previous change.
779 (valid_in_sets): Check if a NAME has a leader in AVAIL_OUT,
780 not if it is contained therein.
782 2013-01-07 Georg-Johann Lay <avr@gjlay.de>
784 * config/avr/t-avr: Typo.
786 2013-01-07 Georg-Johann Lay <avr@gjlay.de>
789 * config/avr/t-avr: Don't automatically rebuild
790 $(srcdir)/config/avr/t-multilib
791 $(srcdir)/config/avr/avr-tables.opt
792 $(srcdir)/doc/avr-mmcu.texi
793 (avr-mcus): New phony target to build them on request.
794 (s-avr-mlib, s-avr-mmcu-texi): Remove.
795 * avr/avr-mcus.def: Adjust comments.
797 2013-01-07 Uros Bizjak <ubizjak@gmail.com>
799 * config/i386/i386.c (DEFAULT_PCC_STRUCT_RETURN): Remove.
801 2013-01-06 Richard Sandiford <rdsandiford@googlemail.com>
803 * file-find.c, file-find.h, realmpfr.c: Add FSF as copyright holder.
805 2013-01-06 Richard Sandiford <rdsandiford@googlemail.com>
807 * config/tilepro/gen-mul-tables.cc: Put copyright on one line.
809 2013-01-05 David Edelsohn <dje.gcc@gmail.com>
811 * config/rs6000/aix53.h (LIB_SPEC): Add -lpthreads when compiling
812 to generate profiling.
813 * config/rs6000/aix64.h (LIB_SPEC): Same.
815 2013-01-04 Andrew Pinski <apinski@cavium.com>
817 * config/aarch64/aarch64.c (aarch64_fixed_condition_code_regs):
819 (TARGET_FIXED_CONDITION_CODE_REGS): Define.
821 2013-01-04 Uros Bizjak <ubizjak@gmail.com>
823 * config/i386/i386.c (ix86_legitimize_address): Call convert_to_mode
825 (ix86_expand_move): Ditto.
826 (ix86_zero_extend_to_Pmode): Ditto.
827 (ix86_expand_call): Ditto.
828 (ix86_expand_special_args_builtin): Ditto.
829 (ix86_expand_builtin): Ditto.
831 2013-01-04 Richard Biener <rguenther@suse.de>
833 PR tree-optimization/55862
834 * tree-ssa-pre.c (phi_translate_1): Valueize SSA names after
835 translating them through PHI nodes.
837 2013-01-04 Martin Jambor <mjambor@suse.cz>
839 PR tree-optimization/55755
840 * tree-sra.c (sra_modify_assign): Do not check that an access has no
841 children when trying to avoid producing a VIEW_CONVERT_EXPR.
843 2013-01-04 Marek Polacek <polacek@redhat.com>
846 * opts.c (default_options_optimization): Clarify error message.
848 2013-01-04 Richard Biener <rguenther@suse.de>
851 * fold-const.c (split_tree): Undo -X - 1 to ~X folding for
854 2013-01-03 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
857 * config/pa/pa.md (movsi): Revert previous change.
858 * config/pa/pa.c (pa_legitimate_constant_p): Reject all TLS symbol
861 2013-01-03 Richard Henderson <rth@redhat.com>
863 * config/i386/i386.c (ix86_expand_move): Always assign to op1
864 after eliminating TLS symbols.
866 2013-01-03 Marc Glisse <marc.glisse@inria.fr>
869 * graphite-interchange.c (pdr_stride_in_loop): Use gmp_fprintf.
870 * graphite-poly.c (debug_gmp_value): Likewise.
872 2013-01-03 Uros Bizjak <ubizjak@gmail.com>
875 * config/i386/i386-c.c (ix86_target_macros_internal): Depending on
876 selected code model, define __code_mode_small__, __code_model_medium__,
877 __code_model_large__, __code_model_32__ or __code_model_kernel__.
878 * config/i386/cpuid.h (__cpuid, __cpuid_count) [__i386__]: Prefix
879 xchg temporary register with %k. Declare temporary register as
881 [__x86_64__]: For medium and large code models, preserve %rbx register.
883 2013-01-03 Richard Biener <rguenther@suse.de>
885 * tree-data-ref.c (dump_conflict_function): Use less vertical spacing.
886 (dump_subscript): Adjust.
887 (finalize_ddr_dependent): Do not dump redundant info.
888 (analyze_siv_subscript): Adjust.
889 (subscript_dependence_tester): Likewise.
890 (compute_affine_dependence): Likewise.
892 2013-01-03 Richard Biener <rguenther@suse.de>
895 2013-01-03 Richard Biener <rguenther@suse.de>
897 PR tree-optimization/55857
898 * tree-vect-stmts.c (vectorizable_load): Do not setup
899 re-alignment for invariant loads.
901 2013-01-02 Richard Biener <rguenther@suse.de>
903 * tree-vect-stmts.c (vectorizable_load): When vectorizing an
904 invariant load do not generate a vector load from the scalar location.
906 2013-01-03 Richard Biener <rguenther@suse.de>
908 * tree-vect-loop.c (vect_analyze_loop_form): Clarify reason
910 * tree-vect-data-refs.c (vect_create_addr_base_for_vector_ref): Do
911 not build INDIRECT_REFs, call get_name once only.
912 (vect_create_data_ref_ptr): Likewise. Dump base object kind
913 based on DR_BASE_OBJECT, not DR_BASE_ADDRESS.
915 2013-01-03 Richard Biener <rguenther@suse.de>
917 PR tree-optimization/55857
918 * tree-vect-stmts.c (vectorizable_load): Do not setup
919 re-alignment for invariant loads.
921 2013-01-03 Richard Biener <rguenther@suse.de>
924 * lto-symtab.c (lto_symtab_merge_decls_1): As last resort, always
925 prefer a built-in decl.
927 2013-01-03 Jakub Jelinek <jakub@redhat.com>
929 * gcc.c (process_command): Update copyright notice dates.
930 * gcov.c (print_version): Likewise.
931 * gcov-dump.c (print_version): Likewise.
933 PR rtl-optimization/55838
934 * loop-iv.c (iv_number_of_iterations): Call lowpart_subreg on
935 iv0.step, iv1.step and step.
937 2013-01-03 Jakub Jelinek <jakub@redhat.com>
938 Marc Glisse <marc.glisse@inria.fr>
940 PR tree-optimization/55832
941 * fold-const.c (fold_binary_loc): For ABS_EXPR<x> >= 0 and
942 ABS_EXPR<x> < 0 folding use constant_boolean_node instead of
943 integer_{one,zero}_node.
945 2013-01-03 Jakub Jelinek <jakub@redhat.com>
948 * params.def (PARAM_MAX_VARTRACK_REVERSE_OP_SIZE): New param.
949 * var-tracking.c (reverse_op): Don't add reverse ops to
950 VALUEs that have already
951 PARAM_VALUE (PARAM_MAX_VARTRACK_REVERSE_OP_SIZE) or longer locs list.
953 2013-01-02 Gerald Pfeifer <gerald@pfeifer.com>
955 * doc/contrib.texi: Note years as release manager for Mark Mitchell.
957 2013-01-02 Teresa Johnson <tejohnson@google.com>
959 * dumpfile.c (dump_loc): Print filename with location.
960 * tree-ssa-loop-ivcanon.c (try_unroll_loop_completely): Use
961 new location_t parameter to emit complete unroll message with
963 (canonicalize_loop_induction_variables): Compute loops location
964 and pass to try_unroll_loop_completely.
965 * loop-unroll.c (report_unroll_peel): New function.
966 (peel_loops_completely): Use new dump format with location
967 for main dumpfile message, and invoke report_unroll_peel on success.
968 (decide_unrolling_and_peeling): Ditto.
969 (decide_peel_once_rolling): Remove old dumpfile message subsumed
970 by report_unroll_peel.
971 (decide_peel_completely): Ditto.
972 (decide_unroll_constant_iterations): Ditto.
973 (decide_unroll_runtime_iterations): Ditto.
974 (decide_peel_simple): Ditto.
975 (decide_unroll_stupid): Ditto.
976 * cfgloop.c (get_loop_location): New function.
977 * cfgloop.h (get_loop_location): Declare.
979 2013-01-02 Sriraman Tallam <tmsriram@google.com>
981 * config/i386/i386.c (fold_builtin_cpu): Remove unnecessary checks for
984 2013-01-02 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
987 * expr.c (expand_expr_real_1): Don't use bitfield extraction for non
988 BLKmode objects when EXPAND_MEMORY is specified.
990 2013-01-02 Sriraman Tallam <tmsriram@google.com>
992 * config/i386/i386.c (ix86_get_function_versions_dispatcher): Fix bug
994 (fold_builtin_cpu): Do not share cpu model decls across statements.
996 2013-01-02 Jason Merrill <jason@redhat.com>
999 * tree.c (build_array_type_1): Revert earlier change.
1001 2013-01-02 Yufeng Zhang <yufeng.zhang@arm.com>
1003 * config/aarch64/aarch64-cores.def: Add entries for "cortex-a53" and
1005 * config/aarch64/aarch64-tune.md: Re-generate.
1007 2013-01-02 Richard Biener <rguenther@suse.de>
1009 * tree-vect-stmts.c (vectorizable_load): When vectorizing an
1010 invariant load do not generate a vector load from the scalar location.
1012 2013-01-02 Richard Biener <rguenther@suse.de>
1015 * configure.ac: Add $GMPINC to CFLAGS/CXXFLAGS.
1016 * configure: Regenerate.
1018 2013-01-02 Richard Sandiford <rdsandiford@googlemail.com>
1020 * builtins.c (expand_builtin_mathfn, expand_builtin_mathfn_2)
1021 (expand_builtin_mathfn_ternary, expand_builtin_mathfn_3)
1022 (expand_builtin_int_roundingfn_2): Keep the original target around
1023 for the fallback case.
1025 2013-01-02 Richard Sandiford <rdsandiford@googlemail.com>
1027 * tree-vrp.c (range_fits_type_p): Require the MSB of the double_int
1028 to be clear for sign changes.
1030 2013-01-01 Jan Hubicka <jh@suse.cz>
1032 * ipa-inline-analysis.c: Fix formatting.
1034 2013-01-01 Jakub Jelinek <jakub@redhat.com>
1036 PR tree-optimization/55831
1037 * tree-vect-loop.c (get_initial_def_for_induction): Use
1038 gsi_after_labels instead of gsi_start_bb.
1040 Copyright (C) 2013 Free Software Foundation, Inc.
1042 Copying and distribution of this file, with or without modification,
1043 are permitted in any medium without royalty provided the copyright
1044 notice and this notice are preserved.