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