1 2013-01-18 Yi-Hsiu Hsu <ahsu@marvell.com>
2 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
4 * config/arm/marvell-pj4.md: New file.
5 * config/arm/arm.c (arm_issue_rate): Add marvell_pj4.
6 * config/arm/arm.md (generic_sched): Add marvell_pj4.
7 (generic_vfp): Likewise.
8 * config/arm/arm-cores.def: Add marvell-pj4.
9 * config/arm/arm-tune.md: Regenerate.
10 * config/arm/arm-tables.opt: Regenerate.
11 * config/arm/bpabi.h (BE8_LINK_SPEC): Add marvell_pj4.
12 * doc/invoke.texi: Document marvell-pj4.
14 2013-01-18 Tejas Belagod <tejas.belagod@arm.com>
16 * config/aarch64/arm_neon.h: Map scalar types to standard types.
18 2013-01-18 Alexandre Oliva <aoliva@redhat.com>
23 * var-tracking.c (negative_power_of_two_p): New.
24 (global_get_addr_cache, local_get_addr_cache): New.
25 (get_addr_from_global_cache, get_addr_from_local_cache): New.
26 (vt_canonicalize_addr): Rewrite using the above. Adjust the
28 (vt_stack_offset_p): Remove.
29 (vt_canon_true_dep): Always canonicalize loc's address.
30 (clobber_overlapping_mems): Make sure we have a MEM.
31 (local_get_addr_clear_given_value): New.
32 (val_reset): Clear local cached entries.
33 (compute_bb_dataflow): Create and release the local cache.
34 Disable duplicate MEMs clobbering.
35 (emit_notes_in_bb): Clobber MEMs likewise.
36 (vt_emit_notes): Create and release the local cache.
37 (vt_initialize, vt_finalize): Create and release the global
39 * alias.c (rtx_equal_for_memref_p): Compare operands of
42 2013-01-18 Alexandre Oliva <aoliva@redhat.com>
45 * tree-mudflap.c (mudflap_finish_file): Skip deferred decls
46 not found in the symtab.
48 2013-01-18 Alexandre Oliva <aoliva@redhat.com>
51 PR rtl-optimization/55547
52 PR rtl-optimization/53827
55 * alias.c (offset_overlap_p): New, factored out of...
56 (memrefs_conflict_p): ... this. Use absolute sizes. Retain
57 the conservative special case for symbolic constants. Don't
58 adjust zero sizes on alignment.
60 2013-01-18 Bernd Schmidt <bernds@codesourcery.com>
62 PR rtl-optimization/52573
63 * regrename.c (build_def_use): Ignore REG_DEAD notes if there is a
64 REG_UNUSED for the same register.
67 2013-01-17 Richard Biener <rguenther@suse.de>
68 Marek Polacek <polacek@redhat.com>
70 PR rtl-optimization/55833
71 * loop-unswitch.c (unswitch_loops): Move loop verification...
72 (unswitch_single_loop): ...here. Call mark_irreducible_loops.
73 * cfgloopmanip.c (fix_loop_placement): Add IRRED_INVALIDATED parameter.
74 Set it to true when we're removing a loop from hierarchy tree in
75 an irreducible region.
76 (fix_bb_placements): Adjust caller.
77 (fix_loop_placements): Likewise.
79 2013-01-17 Georg-Johann Lay <avr@gjlay.de>
81 * config/avr/builtins.def (DEF_BUILTIN): Factor out
82 "__builtin_avr_" from NAME, turn NAME to an uppercase identifier.
83 Factor out 'CODE_FOR_' from ICODE, use 'nothing' instead of '-1'.
84 Remove ID. Adjust comments.
85 * config/avr/avr-c.c (avr_builtin_name): Remove.
86 (avr_cpu_cpp_builtins): Use DEF_BUILTIN instead of for-loop.
87 * config/avr/avr.c (avr_tolower): New static function.
88 (DEF_BUILTIN): Remove parameter ID. Prefix ICODE by 'CODE_FOR_'.
89 Stringify NAME, prefix it with "__builtin_avr_" and lowercase it.
90 (avr_expand_builtin): Assert insn_code != CODE_FOR_nothing for
93 2013-01-17 Jan Hubicka <jh@suse.cz>
95 PR tree-optimization/55273
96 * loop-iv.c (iv_number_of_iterations): Consider zero iteration case.
98 2012-01-17 Uros Bizjak <ubizjak@gmail.com>
101 * config/i386/sync.md (atomic_store<mode>): Always generate SWImode
102 store through atomic_store<mode>_1.
103 (atomic_store<mode>_1): Macroize insn using SWI mode iterator.
105 2013-01-17 Martin Jambor <mjambor@suse.cz>
107 PR tree-optimizations/55264
108 * ipa-inline-transform.c (can_remove_node_now_p_1): Never return true
110 * ipa.c (symtab_remove_unreachable_nodes): Never return true for
111 virtual methods before inlining is over.
112 * cgraph.h (cgraph_only_called_directly_or_aliased_p): Return false for
114 * cgraphclones.c (cgraph_create_virtual_clone): Mark clones as
117 2013-01-16 Vladimir Makarov <vmakarov@redhat.com>
119 PR rtl-optimization/56005
120 * sched-deps.c (sched_analyze_2): Check deps->readonly for adding
121 pending reads for prefetch.
123 2013-01-16 Ian Bolton <ian.bolton@arm.com>
125 * gcc/config/aarch64/aarch64.md
126 (*cstoresi_neg_uxtw): New pattern.
127 (*cmovsi_insn_uxtw): New pattern.
128 (*<optab>si3_uxtw): New pattern.
129 (*<LOGICAL:optab>_<SHIFT:optab>si3_uxtw): New pattern.
130 (*<optab>si3_insn_uxtw): New pattern.
131 (*bswapsi2_uxtw): New pattern.
133 2013-01-16 Richard Biener <rguenther@suse.de>
135 * tree-inline.c (tree_function_versioning): Remove set but
138 2013-01-16 Richard Biener <rguenther@suse.de>
140 PR tree-optimization/55964
141 * tree-flow.h (rename_variables_in_loop): Remove.
142 (rename_variables_in_bb): Likewise.
143 * tree-loop-distribution.c (update_phis_for_loop_copy): Remove.
144 (copy_loop_before): Adjust and delete update-ssa status.
145 * tree-vect-loop-manip.c (rename_variables_in_bb): Make static.
146 (rename_variables_in_bb): Likewise. Properly walk over predecessors.
147 (rename_variables_in_loop): Remove.
148 (slpeel_update_phis_for_duplicate_loop): Likewise.
149 (slpeel_tree_duplicate_loop_to_edge_cfg): Handle nested loops,
150 use available cfg machinery instead of duplicating it.
151 Update PHI nodes and perform poor-mans SSA update here.
152 (slpeel_tree_peel_loop_to_edge): Adjust.
154 2013-01-16 Richard Biener <rguenther@suse.de>
156 PR tree-optimization/54767
157 PR tree-optimization/53465
158 * tree-vrp.c (vrp_meet_1): Revert original fix for PR53465.
159 (vrp_visit_phi_node): For PHI arguments coming via backedges
160 drop all symbolical range information.
161 (execute_vrp): Compute backedges.
163 2013-01-16 Richard Biener <rguenther@suse.de>
165 * doc/install.texi: Update CLooG and ISL requirements to
168 2013-01-16 Christian Bruel <christian.bruel@st.com>
171 * config/sh/sh.c (sh_expand_prologue): Postpone new_stack mem symbol.
172 (broken_move): Handle UNSPECV_SP_SWITCH_B.
173 * config/sh/sh.md (sp_switch_1): Use set (reg:SI SP_REG).
175 2013-01-16 DJ Delorie <dj@redhat.com>
177 * config/sh/sh.md (UNSPECV_SP_SWITCH_B): New.
178 (UNSPECV_SP_SWITCH_E): New.
179 (sp_switch_1): Change to an unspec.
180 (sp_switch_2): Change to an unspec. Don't use post-inc when we
183 2013-01-16 Uros Bizjak <ubizjak@gmail.com>
185 * emit-rtl.c (need_atomic_barrier_p): Mask memory model argument
186 with MEMMODEL_MASK before comparing with MEMMODEL_* memory types.
187 * optabs.c (maybe_emit_sync_lock_test_and_set): Ditto.
188 (expand_mem_thread_fence): Ditto.
189 (expand_mem_signal_fence): Ditto.
190 (expand_atomic_load): Ditto.
191 (expand_atomic_store): Ditto.
193 2013-01-16 Alexandre Oliva <aoliva@redhat.com>
195 PR rtl-optimization/55547
196 PR rtl-optimization/53827
199 * alias.c (memrefs_conflict_p): Set sizes to negative after
202 2013-01-15 Jakub Jelinek <jakub@redhat.com>
205 * function.c (thread_prologue_and_epilogue_insns): Always
206 add crtl->drap_reg to set_up_by_prologue.set, even if
207 stack_realign_drap is false.
209 2013-01-15 Jan-Benedict Glaw <jbglaw@lug-owl.de>
211 * config/vax/vax.md (add<mode>3, sub<mode>3, mul<mode>3, div<mode>3,
212 and<mode>3, *and<mode>_const_int, ior<mode>3, xor<mode>3, ashrsi3,
213 *call): Fix indention.
215 2013-01-15 Tom de Vries <tom@codesourcery.com>
218 * optabs.c (widen_operand): Use gen_lowpart instead of gen_rtx_SUBREG.
221 2013-01-15 Vladimir Makarov <vmakarov@redhat.com>
223 PR rtl-optimization/55153
224 * sched-deps.c (sched_analyze_2): Add pending reads for prefetch.
226 2013-01-15 Martin Jambor <mjambor@suse.cz>
228 PR tree-optimization/55920
229 * tree-sra.c (analyze_access_subtree): Do not mark non-removable
230 accesses as grp_to_be_debug_replaced.
232 2013-01-15 Jakub Jelinek <jakub@redhat.com>
234 PR tree-optimization/55920
235 * tree-sra.c (sra_modify_assign): If for lacc->grp_to_be_debug_replaced
236 there is non-useless type conversion needed from debug rhs to lhs,
237 use build_debug_ref_for_model and/or VIEW_CONVERT_EXPR.
239 2013-01-15 Joseph Myers <joseph@codesourcery.com>
240 Mikael Pettersson <mikpe@it.uu.se>
243 * config/arm/arm.h (ADDR_VEC_ALIGN): Align SImode jump tables for
245 (ASM_OUTPUT_CASE_LABEL): Remove.
246 (ASM_OUTPUT_BEFORE_CASE_LABEL): Define to empty.
247 * final.c (shorten_branches): Update alignment of labels before
248 jump tables if CASE_VECTOR_SHORTEN_MODE.
250 2013-01-15 Richard Biener <rguenther@suse.de>
253 * system.h: Do not include gmp.h for building host tools.
255 2013-01-15 Richard Biener <rguenther@suse.de>
258 * emit-rtl.c (set_mem_attributes_minus_bitpos): Correctly
259 account for bitpos when computing alignment.
261 2013-01-15 Vladimir Yakovlev <vladimir.b.yakovlev@intel.com>
263 * config/i386/i386-c.c (ix86_target_macros_internal): New case.
264 (ix86_target_macros_internal): Likewise.
266 * config/i386/i386.c (m_CORE2I7): Removed.
267 (m_CORE_HASWELL): New macro.
268 (m_CORE_ALL): Likewise.
269 (initial_ix86_tune_features): m_CORE2I7 is replaced by m_CORE_ALL.
270 (initial_ix86_arch_features): Likewise.
271 (processor_target_table): Initializations for Core avx2.
272 (cpu_names): New names "core-avx2".
273 (ix86_option_override_internal): Changed PROCESSOR_COREI7 by
274 PROCESSOR_CORE_HASWELL.
275 (ix86_issue_rate): New case.
276 (ia32_multipass_dfa_lookahead): Likewise.
277 (ix86_sched_init_global): Likewise.
279 * config/i386/i386.h (TARGET_HASWELL): New macro.
280 (target_cpu_default): New TARGET_CPU_DEFAULT_haswell.
281 (processor_type): New PROCESSOR_HASWELL.
283 2013-01-15 Jakub Jelinek <jakub@redhat.com>
285 PR tree-optimization/55955
286 * tree-vect-loop.c (vectorizable_reduction): Give up early on
287 *SHIFT_EXPR and *ROTATE_EXPR codes.
289 PR tree-optimization/48766
290 * opts.c (common_handle_option): For -fwrapv disable -ftrapv, for
291 -ftrapv disable -fwrapv.
293 2013-01-14 Georg-Johann Lay <avr@gjlay.de>
296 * config/avr/avr-c.c (avr_cpu_cpp_builtins): Define __FLASH
297 etc. to 1 and not to __flash.
298 Use LL suffix for __INT24_MAX__ with -mint8.
299 Use ULL suffix for __UINT24_MAX__ with -mint8.
301 2013-01-14 Georg-Johann Lay <avr@gjlay.de>
303 * config/avr/avr-arch.h
304 (struct base_arch_s): Use typedef avr_arch_t instead.
305 (struct arch_info_s): Use typedef avr_arch_info_t instead.
306 (struct mcu_type_s): Use typedef avr_mcu_t instead.
307 * config/avr/avr.c: Same.
308 * config/avr/avr-devices.c: Same.
309 * config/avr/driver-avr.c: Same.
310 * config/avr/gen-avr-mmcu-texi.c: Same.
311 * config/avr/avr-mcus.def: Adjust comment.
313 2013-01-14 Tejas Belagod <tejas.belagod@arm.com>
315 * config/aarch64/aarch64-simd.md (*aarch64_simd_ld1r<mode>): New.
316 * config/aarch64/iterators.md (VALLDI): New.
318 2012-01-14 Uros Bizjak <ubizjak@gmail.com>
319 Andi Kleen <ak@linux.intel.com>
322 * config/i386/sync.md (atomic_store<mode>_1): New pattern.
323 (atomic_store<mode>): Call atomic_store<mode>_1 for IX86_HLE_RELEASE
326 2013-01-14 Georg-Johann Lay <avr@gjlay.de>
328 * config/avr/avr-stdint.h: Remove trailing blanks.
329 * config/avr/avr-log.h: Same.
330 * config/avr/avr-arch.h: Same.
331 * config/avr/avr-devices.c: Same.
332 * config/avr/avr-dimode.md: Same.
333 * config/avr/predicates.md: Same.
334 * config/avr/avr-c.c: Same. And fix typo.
336 * config/avr/avr-protos.h: Same. And:
337 (function_arg_regno_p): Rename to avr_function_arg_regno_p.
338 (init_cumulative_args): Rename to avr_init_cumulative_args.
339 (expand_prologue): Rename to avr_expand_prologue.
340 (expand_epilogue): Rename to avr_expand_epilogue.
341 (adjust_insn_length): Rename to avr_adjust_insn_length.
342 (notice_update_cc): Rename to avr_notice_update_cc.
343 (final_prescan_insn): Rename to avr_final_prescan_insn.
344 * config/avr/avr.c: Same.
345 * config/avr/avr.h: Same.
346 * config/avr/avr.md: Remove trailing blanks.
347 (prologue): Use avr_expand_prologue.
348 (epilogue, sibcall_epilogue): Use avr_expand_epilogue.
350 2013-01-14 Richard Biener <rguenther@suse.de>
352 * tree-cfg.c (verify_expr_location, verify_expr_location_1,
353 verify_location, collect_subblocks): New functions.
354 (verify_gimple_in_cfg): Verify that locations only reference
355 BLOCKs in the functions BLOCK tree.
357 2013-01-14 Richard Biener <rguenther@suse.de>
359 * tree-cfgcleanup.c (remove_forwarder_block): Unshare propagated
361 * graphite-sese-to-poly.c (insert_out_of_ssa_copy): Properly
363 (insert_out_of_ssa_copy_on_edge): Likewise.
364 (rewrite_close_phi_out_of_ssa): Likewise.
365 * tree-ssa.c (insert_debug_temp_for_var_def): Properly unshare
367 * tree-ssa-pre.c (insert_into_preds_of_block): Properly unshare
368 propagated constants.
369 * tree-cfg.c (tree_node_can_be_shared): Handled component-refs
372 2013-01-14 Georg-Johann Lay <avr@gjlay.de>
374 * config/avr/avr-modes.def: Add GPL copyright notice.
376 2013-01-13 Uros Bizjak <ubizjak@gmail.com>
378 * config/i386/sync.md (mem_thread_fence): Mask operands[0] with
379 MEMMODEL_MASK to determine memory model.
380 (atomic_store<mode>): Ditto from operands[2].
381 * config/i386/i386.c (ix86_memmodel_check): Declare "strong" as bool.
383 2013-01-13 Jakub Jelinek <jakub@redhat.com>
386 * gimple-fold.c (get_symbol_constant_value): Call unshare_expr.
387 (fold_gimple_assign): Don't call unshare_expr here.
388 (fold_ctor_reference): Call unshare_expr.
390 2013-01-13 Terry Guo <terry.guo@arm.com>
392 * gcc/Makefile.in (s-mlib): New argument MULTILIB_REUSE.
393 * gcc/doc/fragments.texi: Document MULTILIB_REUSE.
394 * gcc/gcc.c (multilib_reuse): New internal spec.
395 (set_multilib_dir): Also search multilib from multilib_reuse.
396 * gcc/genmultilib (tmpmultilib3): Refactor code.
397 (tmpmultilib4): Ditto.
398 (multilib_reuse): New multilib argument.
400 2013-01-13 Richard Sandiford <rdsandiford@googlemail.com>
402 * Makefile.in: Update copyright.
404 2013-01-12 Tom de Vries <tom@codesourcery.com>
407 * calls.c (expand_call): Check if arg_nr is valid.
409 2013-01-11 Michael Meissner <meissner@linux.vnet.ibm.com>
411 * doc/extend.texi (X86 Built-in Functions): Add whitespace in
412 __builtin_ia32_paddb256 and __builtin_ia32_pavgb256
413 documentation. Add missing '__' in front of
414 __builtin_ia32_packssdw256.
416 2013-01-11 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
419 * config/s390/s390.c (s390_preferred_reload_class): Do not return
420 NO_REGS for larl operands.
421 (s390_reload_larl_operand): Use s390_load_address instead of
424 2013-01-11 Richard Biener <rguenther@suse.de>
426 * tree-cfg.c (verify_node_sharing_1): Split out from ...
427 (verify_node_sharing): ... here.
428 (verify_gimple_in_cfg): Use verify_node_sharing_1 for walk_tree.
430 2013-01-11 Eric Botcazou <ebotcazou@adacore.com>
432 * configure.ac (Tree checking): Set TREECHECKING to yes if enabled.
433 Substitute TREECHECKING.
434 * configure: Regenerate.
435 * Makefile.in (TREECHECKING): New.
437 2012-01-11 Richard Guenther <rguenther@suse.de>
439 PR tree-optimization/44061
440 * tree-vrp.c (extract_range_basic): Compute zero as
441 value-range for __builtin_constant_p of function parameters.
443 2013-01-10 Richard Sandiford <rdsandiford@googlemail.com>
445 Update copyright years.
447 2013-01-10 Vladimir Makarov <vmakarov@redhat.com>
449 PR rtl-optimization/55672
450 * lra-eliminations.c (mark_not_eliminable): Permit addition with
451 const to be eliminable.
453 2013-01-10 David Edelsohn <dje.gcc@gmail.com>
455 * configure.ac (HAVE_AS_TLS): Add check for powerpc-ibm-aix.
456 * configure: Regenerate.
458 2013-01-10 Richard Biener <rguenther@suse.de>
460 * builtins.c (expand_builtin_init_trampoline): Use set_mem_attributes.
462 2013-01-10 Richard Biener <rguenther@suse.de>
465 * tree-into-ssa.c (rewrite_add_phi_arguments): Do not set
466 locations for virtual PHI arguments.
467 (rewrite_update_phi_arguments): Likewise.
469 2013-01-10 Joel Sherrill <joel.sherrill@OARcorp.com>
471 * config/v850/rtems.h (ASM_SPEC): Pass -m8byte-align and -mgcc-abi
474 2013-01-10 Jakub Jelinek <jakub@redhat.com>
476 PR tree-optimization/55921
477 * tree-complex.c (expand_complex_asm): New function.
478 (expand_complex_operations_1): Call it for GIMPLE_ASM.
480 2013-01-10 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
483 * config/s390/s390.c (s390_symref_operand_p)
484 (s390_loadrelative_operand_p): Merge the two functions.
485 (s390_check_qrst_address, print_operand_address): Add parameters
486 to s390_loadrelative_operand_p invokation.
487 (s390_check_symref_alignment): Use s390_loadrelative_operand_p.
488 (s390_reload_larl_operand, s390_secondary_reload): Use
489 s390_loadrelative_operand_p instead of s390_symref_operand_p.
490 (legitimize_pic_address): Handle @GOTENT and @PLT + addend.
492 2013-01-09 Mike Stump <mikestump@comcast.net>
494 * dse.c (record_store): Remove unnecessary assert.
496 2013-01-09 Jan Hubicka <jh@suse.cz>
498 PR tree-optimization/55569
499 * cfgloopmanip.c (scale_loop_profile): Make ITERATION_BOUND gcov_type.
500 * cfgloop.h (scale_loop_profile): Likewise.
502 2013-01-09 Jan Hubicka <jh@suse.cz>
505 * ipa-inline.c (ipa_inline): Remove extern inlines and virtual
507 * cgraphclones.c (cgraph_clone_node): Cpoy also LTO file data.
509 2013-01-09 Richard Sandiford <rdsandiford@googlemail.com>
512 * expr.h (maybe_emit_group_store): Declare.
513 * expr.c (maybe_emit_group_store): New function.
514 * builtins.c (expand_builtin_int_roundingfn): Call it.
515 (expand_builtin_int_roundingfn_2): Likewise.
517 2013-01-09 Vladimir Makarov <vmakarov@redhat.com>
519 PR rtl-optimization/55829
520 * lra-constraints.c (match_reload): Add code for absent output.
521 (curr_insn_transform): Add code for reloads of matched inputs
524 2013-01-09 Uros Bizjak <ubizjak@gmail.com>
526 * config/i386/sse.md (*vec_interleave_highv2df): Change mode
527 attribute of movddup insn to DF.
528 (*vec_interleave_lowv2df): Ditto.
529 (vec_dupv2df): Ditto.
531 2013-01-09 Jan Hubicka <jh@suse.cz>
533 PR tree-optimiation/55875
534 * tree-ssa-loop-niter.c (number_of_iterations_cond): Add
535 EVERY_ITERATION parameter.
536 (number_of_iterations_exit): Check if exit is executed every iteration.
537 (idx_infer_loop_bounds): Similarly here.
538 (n_of_executions_at_most): Simplify
539 to only test for cases where statement is dominated by the
540 particular bound; handle correctly the "postdominance" test.
541 (scev_probably_wraps_p): Use max loop iterations info
542 as a global bound first.
544 2013-01-09 Nguyen Duy Dat <dat.nguyen.yn@rvc.renesas.com>
545 Nick Clifton <nickc@redhat.com>
547 * config/v850/v850.md (cbranchsf4): New pattern.
548 (cstoresf4): New pattern.
549 (cbranchdf4): New pattern.
550 (cstoredf4): New pattern.
551 (movsicc): Disallow floating point comparisons.
552 (cmpsf_le_insn): Fix order of operators.
553 (cmpsf_lt_insn): Likewise.
554 (cmpsf_eq_insn): Likewise.
555 (cmpdf_le_insn): Likewise.
556 (cmpdf_lt_insn): Likewise.
557 (cmpdf_eq_insn): Likewise.
558 (cmpsf_ge_insn): Use LE comparison.
559 (cmpdf_ge_insn): Likewise.
560 (cmpsf_gt_insn): Use LT comparison.
561 (cmpdf_gt_insn): Likewise.
562 (cmpsf_ne_insn): Delete pattern.
563 (cmpdf_ne_insn): Delete pattern.
564 * config/v850/v850.c (v850_gen_float_compare): Use
565 gen_cmpdf_eq_insn for NE comparison.
566 (v850_float_z_comparison_operator)
567 (v850_float_nz_comparison_operator): Move from here ...
568 * config/v850/predicates.md: ... to here. Move GT and GE
569 comparisons into v850_float_z_comparison_operator.
570 * config/v850/v850-protos.h (v850_float_z_comparison_operator):
572 (v850_float_nz_comparison_operator): Likewise.
574 2013-01-09 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
576 * config/pa/pa.c (pa_emit_move_sequence): Replace calls to gen_insv
577 with calls to gen_insvsi/gen_insvdi.
579 2013-01-09 Venkataramanan Kumar <venkataramanan.kumar@amd.com>
581 * config/i386/i386.c (initial_ix86_tune_features): Set up
582 X86_TUNE_AVX128_OPTIMAL for m_BTVER2.
584 2013-01-09 Steven Bosscher <steven@gcc.gnu.org>
585 Jakub Jelinek <jakub@redhat.com>
587 PR tree-optimization/48189
588 * predict.c (predict_loops): If max is 0, don't call compare_tree_int.
589 If nitercst is 0, don't predict the exit edge.
591 2013-01-08 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
593 * config/aarch64/aarch64.c (aarch64_print_operand): Replace %r
594 in asm_fprintf with reg_names.
595 (aarch64_print_operand_address): Likewise.
596 (aarch64_return_addr): Likewise.
597 * config/aarch64/aarch64.h (ASM_FPRINTF_EXTENSIONS): Remove.
599 2013-01-08 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
601 * config/pa/pa.h (VAL_U6_BITS_P): Define.
602 (INT_U6_BITS): Likewise.
603 * config/pa/predicates.md (uint6_operand): New predicate.
604 (shift5_operand, shift6_operand): Likewise.
605 * config/pa/pa.md (lshrsi3, rotrsi3): Use shift5_operand instead of
607 (lshrdi3): Use shift6_operand.
608 (shrpsi4, shrpdi4): New insn patterns.
609 (extzv): Delete expander.
610 (extzvsi, extzvdi): New expanders. Use uint5_operand and uint6_operand
611 predicates in unamed zero extract patterns. Tighten common constraint.
612 (extv): Delete expander.
613 (extvsi, extvdi): New expanders. Use uint5_operand and uint6_operand
614 predicates in unamed sign extract patterns. Tighten common constraint.
615 (insv): Delete expander.
616 (insvsi, insvdi): New expanders. Use uint5_operand and uint6_operand
617 predicates in unamed insert patterns. Tighten common constraint.
618 Change uint32_operand predicate to uint6_operand predicate in unamed
619 DImode pattern to insert constant values of type 1...1xxxx.
621 2013-01-04 Jan Hubicka <jh@suse.cz>
623 PR tree-optimization/55823
624 * ipa-prop.c (update_indirect_edges_after_inlining): Fix ordering
627 2012-01-08 Jakub Jelinek <jakub@redhat.com>
628 Uros Bizjak <ubizjak@gmail.com>
630 PR rtl-optimization/55845
631 * df-problems.c (can_move_insns_across): Stop scanning at
632 volatile_insn_p source instruction or give up if
633 across_from .. across_to range contains any volatile_insn_p
636 2013-01-08 Tejas Belagod <tejas.belagod@arm.com>
638 * config/aarch64/aarch64-simd.md (vec_init<mode>): New.
639 * config/aarch64/aarch64-protos.h (aarch64_expand_vector_init):
641 * config/aarch64/aarch64.c (aarch64_simd_dup_constant,
642 aarch64_simd_make_constant, aarch64_expand_vector_init): New.
644 2013-01-08 Jakub Jelinek <jakub@redhat.com>
647 * asan.c (asan_clear_shadow): New function.
648 (asan_emit_stack_protection): Use it.
650 2013-01-08 Tejas Belagod <tejas.belagod@arm.com>
652 * config/aarch64/aarch64-simd.md (aarch64_simd_vec_<su>mult_lo_<mode>,
653 aarch64_simd_vec_<su>mult_hi_<mode>): Separate instruction and operand
654 with tab instead of space.
656 2013-01-08 Nick Clifton <nickc@redhat.com>
658 * config/rl78/rl78.c (rl78_expand_prologue): Always select
659 register bank 0 at the start of an interrupt handler.
660 * config/rl78/rl78.md (mulsi3_g13): Correct values for MDBL and
663 2013-01-08 James Greenhalgh <james.greenhalgh@arm.com>
665 * config/aarch64/aarch64-simd.md
666 (aarch64_simd_bsl<mode>_internal): Add floating-point modes.
667 (aarch64_simd_bsl): Likewise.
668 (aarch64_vcond_internal<mode>): Likewise.
669 (vcond<mode><mode>): Likewise.
670 (aarch64_cm<cmp><mode>): Fix constraints, add new modes.
671 * config/aarch64/iterators.md (V_cmp_result): Add V2DF.
673 2013-01-08 James Greenhalgh <james.greenhalgh@arm.com>
675 * config/aarch64/aarch64-builtins.c
676 (aarch64_builtin_vectorized_function): Handle sqrt, sqrtf.
678 2013-01-08 Martin Jambor <mjambor@suse.cz>
681 * tree-sra.c (analyze_access_subtree): Return true also after
682 potentially creating a debug-only replacement.
684 2013-01-08 Jakub Jelinek <jakub@redhat.com>
687 * tree-ssa-ccp.c (evaluate_stmt): Use gimple_call_builtin_p.
689 PR tree-optimization/54120
690 * tree-vrp.c (range_fits_type_p): Don't allow
691 src_precision < precision from signed vr to unsigned_p
692 if vr->min or vr->max is negative.
693 (simplify_float_conversion_using_ranges): Test can_float_p
694 against CODE_FOR_nothing.
696 2013-01-08 Jakub Jelinek <jakub@redhat.com>
697 Richard Biener <rguenther@suse.de>
700 * fold-const.c (int_binop_types_match_p): Allow all INTEGRAL_TYPE_P
701 types instead of just INTEGER_TYPE types.
703 2013-01-07 Mark Kettenis <kettenis@openbsd.org>
705 * config/i386/openbsdelf.h (LIBGCC2_HAS_TF_MODE, LIBGCC2_TF_CEXT,
708 2013-01-07 Steve Ellcey <sellcey@mips.com>
711 * config/mips/mips.opt: Change mad to mmad to match documentation.
713 2013-01-07 Georg-Johann Lay <avr@gjlay.de>
716 * doc/extend.texi (AVR Named Address Spaces): __memx goes into
719 2013-01-07 Georg-Johann Lay <avr@gjlay.de>
722 * config/avr/avr.h (ADDR_SPACE_COUNT): New enum.
723 (avr_addrspace_t): Add .section_name field.
724 * config/avr/avr.c (progmem_section): Use ADDR_SPACE_COUNT as
726 (avr_addrspace): Same. Initialize .section_name. Remove last
727 NULL entry. Put __memx into .progmemx.data.
728 (progmem_section_prefix): Remove.
729 (avr_asm_init_sections): No need to initialize progmem_section.
730 (avr_asm_named_section): Use avr_addrspace[].section_name to get
732 (avr_asm_select_section): Ditto. And use get_unnamed_section to
733 retrieve the progmem section.
734 * avr-c.c (avr_cpu_cpp_builtins): Use ADDR_SPACE_COUNT as loop
735 boundary to run over avr_addrspace[].
736 (avr_register_target_pragmas): Ditto.
738 2013-01-06 Jakub Jelinek <jakub@redhat.com>
740 * varasm.c (output_constant_def_contents): For asan_protect_global
741 protected strings, adjust DECL_ALIGN if needed, before testing for
743 (place_block_symbol): Adjust size for asan protected STRING_CSTs if
744 TREE_CONSTANT_POOL_ADDRESS_P. Increase alignment for asan protected
746 (output_object_block): For asan protected decls, emit asan padding
747 after their contents.
748 * asan.c (asan_protect_global): Don't check TREE_ASM_WRITTEN here.
749 (asan_finish_file): Test it here instead.
751 2013-01-07 Nick Clifton <nickc@redhat.com>
752 Matthias Klose <doko@debian.org>
753 Doug Kwan <dougkwan@google.com>
754 H.J. Lu <hongjiu.lu@intel.com>
757 * collect2.c (main): Support -fuse-ld=bfd and -fuse-ld=gold.
759 * common.opt: Add fuse-ld=bfd and fuse-ld=gold.
761 * gcc.c (LINK_COMMAND_SPEC): Pass -fuse-ld=* to collect2.
763 * opts.c (comman_handle_option): Ignore -fuse-ld=bfd and -fuse-ld=gold.
765 * doc/invoke.texi: Document -fuse-ld=bfd and -fuse-ld=gold.
767 2013-01-07 Georg-Johann Lay <avr@gjlay.de>
770 * doc/install.texi (Cross-Compiler-Specific Options): Document
773 2013-01-07 Tejas Belagod <tejas.belagod@arm.com>
775 * config/aarch64/arm_neon.h (vmovn_high_is16, vmovn_high_s32,
776 vmovn_high_s64, vmovn_high_u16, vmovn_high_u32, vmovn_high_u64,
777 vqmovn_high_s16, vqmovn_high_s32, vqmovn_high_s64, vqmovn_high_u16,
778 vqmovn_high_u32, vqmovn_high_u64, vqmovun_high_s16, vqmovun_high_s32,
779 vqmovun_high_s64): Fix source operand number and update copyright.
781 2013-01-07 Richard Biener <rguenther@suse.de>
784 * gimple.h (gimple_call_builtin_p): New overload.
785 * gimple.c (validate_call): New function.
786 (gimple_call_builtin_p): Likewise.
787 * tree-ssa-structalias.c (find_func_aliases_for_builtin_call):
788 Use gimple_call_builtin_p.
789 (find_func_clobbers): Likewise.
790 * tree-ssa-strlen.c (adjust_last_stmt): Likewise.
791 (strlen_optimize_stmt): Likewise.
793 2013-01-07 James Greenhalgh <james.greenhalgh@arm.com>
795 * config/aarch64/arm_neon.h (vld1_dup_*): Make argument const.
796 (vld1q_dup_*): Likewise.
799 (vld1_lane_*): Likewise.
800 (vld1q_lane_*): Likewise.
802 2013-01-07 Richard Biener <rguenther@suse.de>
804 * lto-streamer.h (LTO_minor_version): Bump to 2.
806 2013-01-07 James Greenhalgh <james.greenhalgh@arm.com>
808 * config/aarch64/aarch64-protos.h
809 (aarch64_const_double_zero_rtx_p): Rename to...
810 (aarch64_float_const_zero_rtx_p): ...this.
811 (aarch64_float_const_representable_p): New.
812 (aarch64_output_simd_mov_immediate): Likewise.
813 * config/aarch64/aarch64-simd.md (*aarch64_simd_mov<mode>): Refactor
815 * config/aarch64/aarch64.c
816 (aarch64_const_double_zero_rtx_p): Rename to...
817 (aarch64_float_const_zero_rtx_p): ...this.
818 (aarch64_print_operand): Allow printing of new constants.
819 (aarch64_valid_floating_const): New.
820 (aarch64_legitimate_constant_p): Check for valid floating-point
822 (aarch64_simd_valid_immediate): Likewise.
823 (aarch64_vect_float_const_representable_p): New.
824 (aarch64_float_const_representable_p): Likewise.
825 (aarch64_simd_imm_zero_p): Also allow for floating-point 0.0.
826 (aarch64_output_simd_mov_immediate): New.
827 * config/aarch64/aarch64.md (*movsf_aarch64): Add new alternative.
828 (*movdf_aarch64): Likewise.
829 * config/aarch64/constraints.md (Ufc): New.
830 (Y): call aarch64_float_const_zero_rtx.
831 * config/aarch64/predicates.md (aarch64_fp_compare_operand): New.
833 2013-01-07 Richard Biener <rguenther@suse.de>
835 PR tree-optimization/55888
836 PR tree-optimization/55862
837 * tree-ssa-pre.c (phi_translate_1): Revert previous change.
838 (valid_in_sets): Check if a NAME has a leader in AVAIL_OUT,
839 not if it is contained therein.
841 2013-01-07 Georg-Johann Lay <avr@gjlay.de>
843 * config/avr/t-avr: Typo.
845 2013-01-07 Georg-Johann Lay <avr@gjlay.de>
848 * config/avr/t-avr: Don't automatically rebuild
849 $(srcdir)/config/avr/t-multilib
850 $(srcdir)/config/avr/avr-tables.opt
851 $(srcdir)/doc/avr-mmcu.texi
852 (avr-mcus): New phony target to build them on request.
853 (s-avr-mlib, s-avr-mmcu-texi): Remove.
854 * avr/avr-mcus.def: Adjust comments.
856 2013-01-07 Uros Bizjak <ubizjak@gmail.com>
858 * config/i386/i386.c (DEFAULT_PCC_STRUCT_RETURN): Remove.
860 2013-01-06 Richard Sandiford <rdsandiford@googlemail.com>
862 * file-find.c, file-find.h, realmpfr.c: Add FSF as copyright holder.
864 2013-01-06 Richard Sandiford <rdsandiford@googlemail.com>
866 * config/tilepro/gen-mul-tables.cc: Put copyright on one line.
868 2013-01-05 David Edelsohn <dje.gcc@gmail.com>
870 * config/rs6000/aix53.h (LIB_SPEC): Add -lpthreads when compiling
871 to generate profiling.
872 * config/rs6000/aix64.h (LIB_SPEC): Same.
874 2013-01-04 Andrew Pinski <apinski@cavium.com>
876 * config/aarch64/aarch64.c (aarch64_fixed_condition_code_regs):
878 (TARGET_FIXED_CONDITION_CODE_REGS): Define.
880 2013-01-04 Uros Bizjak <ubizjak@gmail.com>
882 * config/i386/i386.c (ix86_legitimize_address): Call convert_to_mode
884 (ix86_expand_move): Ditto.
885 (ix86_zero_extend_to_Pmode): Ditto.
886 (ix86_expand_call): Ditto.
887 (ix86_expand_special_args_builtin): Ditto.
888 (ix86_expand_builtin): Ditto.
890 2013-01-04 Richard Biener <rguenther@suse.de>
892 PR tree-optimization/55862
893 * tree-ssa-pre.c (phi_translate_1): Valueize SSA names after
894 translating them through PHI nodes.
896 2013-01-04 Martin Jambor <mjambor@suse.cz>
898 PR tree-optimization/55755
899 * tree-sra.c (sra_modify_assign): Do not check that an access has no
900 children when trying to avoid producing a VIEW_CONVERT_EXPR.
902 2013-01-04 Marek Polacek <polacek@redhat.com>
905 * opts.c (default_options_optimization): Clarify error message.
907 2013-01-04 Richard Biener <rguenther@suse.de>
910 * fold-const.c (split_tree): Undo -X - 1 to ~X folding for
913 2013-01-03 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
916 * config/pa/pa.md (movsi): Revert previous change.
917 * config/pa/pa.c (pa_legitimate_constant_p): Reject all TLS symbol
920 2013-01-03 Richard Henderson <rth@redhat.com>
922 * config/i386/i386.c (ix86_expand_move): Always assign to op1
923 after eliminating TLS symbols.
925 2013-01-03 Marc Glisse <marc.glisse@inria.fr>
928 * graphite-interchange.c (pdr_stride_in_loop): Use gmp_fprintf.
929 * graphite-poly.c (debug_gmp_value): Likewise.
931 2013-01-03 Uros Bizjak <ubizjak@gmail.com>
934 * config/i386/i386-c.c (ix86_target_macros_internal): Depending on
935 selected code model, define __code_mode_small__, __code_model_medium__,
936 __code_model_large__, __code_model_32__ or __code_model_kernel__.
937 * config/i386/cpuid.h (__cpuid, __cpuid_count) [__i386__]: Prefix
938 xchg temporary register with %k. Declare temporary register as
940 [__x86_64__]: For medium and large code models, preserve %rbx register.
942 2013-01-03 Richard Biener <rguenther@suse.de>
944 * tree-data-ref.c (dump_conflict_function): Use less vertical spacing.
945 (dump_subscript): Adjust.
946 (finalize_ddr_dependent): Do not dump redundant info.
947 (analyze_siv_subscript): Adjust.
948 (subscript_dependence_tester): Likewise.
949 (compute_affine_dependence): Likewise.
951 2013-01-03 Richard Biener <rguenther@suse.de>
954 2013-01-03 Richard Biener <rguenther@suse.de>
956 PR tree-optimization/55857
957 * tree-vect-stmts.c (vectorizable_load): Do not setup
958 re-alignment for invariant loads.
960 2013-01-02 Richard Biener <rguenther@suse.de>
962 * tree-vect-stmts.c (vectorizable_load): When vectorizing an
963 invariant load do not generate a vector load from the scalar location.
965 2013-01-03 Richard Biener <rguenther@suse.de>
967 * tree-vect-loop.c (vect_analyze_loop_form): Clarify reason
969 * tree-vect-data-refs.c (vect_create_addr_base_for_vector_ref): Do
970 not build INDIRECT_REFs, call get_name once only.
971 (vect_create_data_ref_ptr): Likewise. Dump base object kind
972 based on DR_BASE_OBJECT, not DR_BASE_ADDRESS.
974 2013-01-03 Richard Biener <rguenther@suse.de>
976 PR tree-optimization/55857
977 * tree-vect-stmts.c (vectorizable_load): Do not setup
978 re-alignment for invariant loads.
980 2013-01-03 Richard Biener <rguenther@suse.de>
983 * lto-symtab.c (lto_symtab_merge_decls_1): As last resort, always
984 prefer a built-in decl.
986 2013-01-03 Jakub Jelinek <jakub@redhat.com>
988 * gcc.c (process_command): Update copyright notice dates.
989 * gcov.c (print_version): Likewise.
990 * gcov-dump.c (print_version): Likewise.
992 PR rtl-optimization/55838
993 * loop-iv.c (iv_number_of_iterations): Call lowpart_subreg on
994 iv0.step, iv1.step and step.
996 2013-01-03 Jakub Jelinek <jakub@redhat.com>
997 Marc Glisse <marc.glisse@inria.fr>
999 PR tree-optimization/55832
1000 * fold-const.c (fold_binary_loc): For ABS_EXPR<x> >= 0 and
1001 ABS_EXPR<x> < 0 folding use constant_boolean_node instead of
1002 integer_{one,zero}_node.
1004 2013-01-03 Jakub Jelinek <jakub@redhat.com>
1007 * params.def (PARAM_MAX_VARTRACK_REVERSE_OP_SIZE): New param.
1008 * var-tracking.c (reverse_op): Don't add reverse ops to
1009 VALUEs that have already
1010 PARAM_VALUE (PARAM_MAX_VARTRACK_REVERSE_OP_SIZE) or longer locs list.
1012 2013-01-02 Gerald Pfeifer <gerald@pfeifer.com>
1014 * doc/contrib.texi: Note years as release manager for Mark Mitchell.
1016 2013-01-02 Teresa Johnson <tejohnson@google.com>
1018 * dumpfile.c (dump_loc): Print filename with location.
1019 * tree-ssa-loop-ivcanon.c (try_unroll_loop_completely): Use
1020 new location_t parameter to emit complete unroll message with
1022 (canonicalize_loop_induction_variables): Compute loops location
1023 and pass to try_unroll_loop_completely.
1024 * loop-unroll.c (report_unroll_peel): New function.
1025 (peel_loops_completely): Use new dump format with location
1026 for main dumpfile message, and invoke report_unroll_peel on success.
1027 (decide_unrolling_and_peeling): Ditto.
1028 (decide_peel_once_rolling): Remove old dumpfile message subsumed
1029 by report_unroll_peel.
1030 (decide_peel_completely): Ditto.
1031 (decide_unroll_constant_iterations): Ditto.
1032 (decide_unroll_runtime_iterations): Ditto.
1033 (decide_peel_simple): Ditto.
1034 (decide_unroll_stupid): Ditto.
1035 * cfgloop.c (get_loop_location): New function.
1036 * cfgloop.h (get_loop_location): Declare.
1038 2013-01-02 Sriraman Tallam <tmsriram@google.com>
1040 * config/i386/i386.c (fold_builtin_cpu): Remove unnecessary checks for
1043 2013-01-02 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1046 * expr.c (expand_expr_real_1): Don't use bitfield extraction for non
1047 BLKmode objects when EXPAND_MEMORY is specified.
1049 2013-01-02 Sriraman Tallam <tmsriram@google.com>
1051 * config/i386/i386.c (ix86_get_function_versions_dispatcher): Fix bug
1053 (fold_builtin_cpu): Do not share cpu model decls across statements.
1055 2013-01-02 Jason Merrill <jason@redhat.com>
1058 * tree.c (build_array_type_1): Revert earlier change.
1060 2013-01-02 Yufeng Zhang <yufeng.zhang@arm.com>
1062 * config/aarch64/aarch64-cores.def: Add entries for "cortex-a53" and
1064 * config/aarch64/aarch64-tune.md: Re-generate.
1066 2013-01-02 Richard Biener <rguenther@suse.de>
1068 * tree-vect-stmts.c (vectorizable_load): When vectorizing an
1069 invariant load do not generate a vector load from the scalar location.
1071 2013-01-02 Richard Biener <rguenther@suse.de>
1074 * configure.ac: Add $GMPINC to CFLAGS/CXXFLAGS.
1075 * configure: Regenerate.
1077 2013-01-02 Richard Sandiford <rdsandiford@googlemail.com>
1079 * builtins.c (expand_builtin_mathfn, expand_builtin_mathfn_2)
1080 (expand_builtin_mathfn_ternary, expand_builtin_mathfn_3)
1081 (expand_builtin_int_roundingfn_2): Keep the original target around
1082 for the fallback case.
1084 2013-01-02 Richard Sandiford <rdsandiford@googlemail.com>
1086 * tree-vrp.c (range_fits_type_p): Require the MSB of the double_int
1087 to be clear for sign changes.
1089 2013-01-01 Jan Hubicka <jh@suse.cz>
1091 * ipa-inline-analysis.c: Fix formatting.
1093 2013-01-01 Jakub Jelinek <jakub@redhat.com>
1095 PR tree-optimization/55831
1096 * tree-vect-loop.c (get_initial_def_for_induction): Use
1097 gsi_after_labels instead of gsi_start_bb.
1099 Copyright (C) 2013 Free Software Foundation, Inc.
1101 Copying and distribution of this file, with or without modification,
1102 are permitted in any medium without royalty provided the copyright
1103 notice and this notice are preserved.