1 2012-08-28 Uros Bizjak <ubizjak@gmail.com>
4 2012-08-27 Uros Bizjak <ubizjak@gmail.com>
7 * config/i386/predicates.md (cmpxchg8b_pic_memory_operand): Return
8 true for TARGET_64BIT or !flag_pic.
9 * config/i386/sync.md (*atomic_compare_and_swap_doubledi_pic): Remove.
10 (atomic_compare_and_swap_double<mode>): Change operand 2 predicate
11 to cmpxchg8b_pic_memory_operand. Use DWIH mode iterator.
12 Add insn constraint. Conditionally emit xchg asm insns.
13 (atomic_compare_and_swap<mode>): Update calls. Check only
14 cmpxchg8b_pic_memory_operand in memory address fixup.
16 (CASHMODE): Rename from DCASHMODE.
17 (doublemodesuffix): Update modes.
18 (regprefix): New mode attribute.
20 (unspecv) <UNSPECV_CMPXCHG_{1,2,3,4}>: Remove.
21 <UNSPECV_CMPXCHG>: New constant.
22 (atomic_compare_and_swap<mode>_1): Rename from
23 atomic_compare_and_swap_single<mode>. Update calls and
24 unspec_volatile constants.
25 (atomic_compare_and_swap<mode>_doubleword): Rename from
26 atomic_compare_and_swap_double<mode>. Update calls and
27 unspec_volatile constants.
29 2012-08-28 Walter Lee <walt@tilera.com>
31 Backport from mainline
32 2012-08-28 Walter Lee <walt@tilera.com>
34 * confg/tilegx/tilegx.md: Fix code style.
35 (*zero_extendsidi_truncdisi): Fix typo.
36 * config/tilegx/tilegx.c: Fix code style.
37 (tilegx_function_profiler): Fix typo.
39 2012-08-27 Walter Lee <walt@tilera.com>
41 Backport from mainline
42 2012-08-27 Walter Lee <walt@tilera.com>
44 * doc/md.texi (TILE-Gx): Fix typo.
46 2012-08-27 Walter Lee <walt@tilera.com>
48 Backport from mainline
49 2012-08-27 Walter Lee <walt@tilera.com>
51 * config/tilegx/tilegx.c (tilegx_function_profiler): Fix typo.
52 * config/tilepro/tilepro.c (tilepro_function_profiler): Ditto.
54 2012-08-27 Walter Lee <walt@tilera.com>
56 Backport from mainline
57 2012-08-27 Walter Lee <walt@tilera.com>
59 * config/tilegx/tilegx.md (*bfins): Rename to insn_bfins.
62 2012-08-27 Walter Lee <walt@tilera.com>
64 Backport from mainline
65 2012-08-27 Walter Lee <walt@tilera.com>
67 * config/tilegx/sync.md (atomic_compare_and_swap_bare<mode>,
68 atomic_exchange_bare<mode>,
69 atomic_fetch_<fetchop_name>_bare<mode>): Set type to X1_remote.
70 * config/tilegx/tilegx-generic.md (X1_remote): New insn_reservation.
71 * config/tilegx/tilegx.md (type): Add X1_remove.
72 (insn_cmpexch<four_if_si>, insn_exch<four_if_si>,
73 insn_fetchadd<four_if_si>, insn_fetchaddgez<four_if_si>,
74 insn_fetchand<four_if_si>, insn_fetchor<four_if_si>): Set type to
77 2012-08-25 Eric Botcazou <ebotcazou@adacore.com>
79 PR rtl-optimization/54088
80 * jump.c (delete_related_insns): Robustify latest change.
82 2012-08-21 Richard Guenther <rguenther@suse.de>
84 Backport from mainline
85 2012-08-16 Richard Guenther <rguenther@suse.de>
88 * tree-ssa-loop-niter.c (find_loop_niter_by_eval): Free the
90 * ipa-pure-const.c (analyze_function): Use FOR_EACH_LOOP_BREAK.
91 * cfgloop.h (FOR_EACH_LOOP_BREAK): Fix.
92 * tree-ssa-structalias.c (handle_lhs_call): Properly free rhsc.
93 * tree-ssa-loop-im.c (analyze_memory_references): Adjust.
94 (tree_ssa_lim_finalize): Free all mem_refs.
95 * tree-ssa-sccvn.c (extract_and_process_scc_for_name): Free
97 * modulo-sched.c (sms_schedule): Use FOR_EACH_LOOP_BREAK.
98 * ira-build.c (loop_with_complex_edge_p): Free loop exit vector.
99 * graphite-sese-to-poly.c (scop_ivs_can_be_represented): Use
102 2012-08-17 Richard Guenther <rguenther@suse.de>
104 * tree-sra.c (modify_function): Free redirect_callers vector.
105 * ipa-split.c (split_function): Free args_to_pass vector.
106 * tree-vect-stmts.c (vectorizable_operation): Do not pre-allocate
108 (new_stmt_vec_info): Do not pre-allocate STMT_VINFO_SAME_ALIGN_REFS.
109 * tree-vect-slp.c (vect_free_slp_instance): Free the instance.
110 (vect_analyze_slp_instance): Free everything.
111 (destroy_bb_vec_info): Free the SLP instances.
113 2012-08-17 Richard Guenther <rguenther@suse.de>
115 * params.def (integer-share-limit): Decrease from 256 to 251,
118 2012-08-21 Richard Guenther <rguenther@suse.de>
120 * tree-ssa-loop-im.c (tree_ssa_lim_finalize): Properly free
121 the affine expansion cache.
123 2012-08-20 Patrick Marlier <patrick.marlier@gmail.com>
125 Backported from trunk
126 2012-08-20 Patrick Marlier <patrick.marlier@gmail.com>
129 * omp-low.c (lower_omp_1): Handle GIMPLE_TRANSACTION.
131 2012-08-20 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
133 Backport from mainline.
134 2012-08-15 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
137 * config/arm/neon.md (vec_set<mode>_internal VD,VQ): Do not
138 mark as predicable. Adjust asm template.
139 (vec_setv2di_internal): Likewise.
140 (vec_extract<mode> VD, VQ): Likewise.
141 (vec_extractv2di): Likewise.
142 (neon_vget_lane<mode>_sext_internal VD, VQ): Likewise.
143 (neon_vset_lane<mode>_sext_internal VD, VQ): Likewise.
144 (neon_vdup_n<mode> VX, V32): Likewise.
145 (neon_vdup_nv2di): Likewise.
147 2012-08-17 Walter Lee <walt@tilera.com>
149 Backport from mainline
150 2012-08-17 Walter Lee <walt@tilera.com>
152 * config/tilegx/feedback.h (FEEDBACK_ENTER_EXPLICIT): Define.
153 (FEEDBACK_ENTER): Define.
154 (FEEDBACK_REENTER): Define.
155 (FEEDBACK_ENTRY): Define.
156 * config/tilepro/feedback.h: (FEEDBACK_ENTER_EXPLICIT): Define.
157 (FEEDBACK_ENTER): Define.
158 (FEEDBACK_REENTER): Define.
159 (FEEDBACK_ENTRY): Define.
161 2012-08-16 Walter Lee <walt@tilera.com>
163 Backport from mainline
164 2012-08-16 Walter Lee <walt@tilera.com>
166 * config.gcc (tilegx-*-linux*): Add feedback.h.
167 (tilepro-*-linux*): Likewise.
168 * config/tilegx/feedback.h: New file.
169 * config/tilepro/feedback.h: New file.
171 2012-08-08 Pavel Chupin <pavel.v.chupin@intel.com>
173 Backport from mainline r189840 and r187586:
174 2012-07-25 Sergey Melnikov <sergey.melnikov@intel.com>
176 * config/i386/i386.md (stack_protect_set): Disable the pattern
177 for Android since Android libc (bionic) does not provide random
178 value for stack protection guard at gs:0x14. Guard value
179 will be provided from external symbol (default implementation).
180 (stack_protect_set_<mode>): Likewise.
181 (stack_protect_test): Likewise.
182 (stack_protect_test_<mode>): Likewise.
183 * gcc/defaults.h: Define macro TARGET_HAS_BIONIC to 0 - target does
184 not have Bionic by default
185 * config/linux.h: Redefine macro TARGET_HAS_BIONIC to (OPTION_BIONIC)
186 Macro OPTION_BIONIC is defined in this file and provides Bionic
189 2012-05-16 Igor Zamyatin <igor.zamyatin@intel.com>
191 * configure.ac: Stack protector enabling for Android targets.
192 * configure: Regenerate.
194 2012-08-13 Jakub Jelinek <jakub@redhat.com>
196 Backported from trunk
197 2012-07-19 Jakub Jelinek <jakub@redhat.com>
199 PR rtl-optimization/53942
200 * function.c (assign_parm_setup_reg): Avoid zero/sign extension
201 directly from likely spilled non-fixed hard registers, move them
204 2012-08-11 Uros Bizjak <ubizjak@gmail.com>
206 * config/i386/sse.md (xop_phaddbq): Fix vec_select selectors.
207 (xop_phaddubq): Ditto.
209 2012-08-10 Ulrich Weigand <ulrich.weigand@linaro.org>
211 Backport from mainline
212 2012-07-30 Ulrich Weigand <ulrich.weigand@linaro.org>
213 Richard Earnshaw <rearnsha@arm.com>
215 * target.def (vector_alignment): New target hook.
216 * doc/tm.texi.in (TARGET_VECTOR_ALIGNMENT): Document new hook.
217 * doc/tm.texi: Regenerate.
218 * targhooks.c (default_vector_alignment): New function.
219 * targhooks.h (default_vector_alignment): Add prototype.
220 * stor-layout.c (layout_type): Use targetm.vector_alignment.
221 * config/arm/arm.c (arm_vector_alignment): New function.
222 (TARGET_VECTOR_ALIGNMENT): Define.
224 * tree-vect-data-refs.c (vect_update_misalignment_for_peel): Use
225 vector type alignment instead of size.
226 * tree-vect-loop-manip.c (vect_do_peeling_for_loop_bound): Use
227 element type size directly instead of computing it from alignment.
228 Fix variable naming and comment.
230 2012-08-09 Uros Bizjak <ubizjak@gmail.com>
232 Backport from mainline
233 2012-08-09 Uros Bizjak <ubizjak@gmail.com>
235 * config/alpha/alpha.c (alpha_pad_noreturn): Rename to ...
236 (alpha_pad_function_end): ... this. Also insert NOP between
237 sibling call and GP load.
238 (alpha_reorg): Update call to alpha_pad_function_end. Expand comment.
240 2012-08-09 H.J. Lu <hongjiu.lu@intel.com>
242 Backport from mainline
243 2012-08-08 Richard Sandiford <rdsandiford@googlemail.com>
244 H.J. Lu <hongjiu.lu@intel.com>
246 PR rtl-optimization/54157
247 * combine.c (gen_lowpart_for_combine): Don't return identity
248 for CONST or symbolic reference.
250 2012-08-06 Uros Bizjak <ubizjak@gmail.com>
252 Backport from mainline
253 2012-07-23 Uros Bizjak <ubizjak@gmail.com>
255 * config/i386/i386-protos.h (ix86_lea_outperforms): Remove prototype.
256 * config/i386/i386.c (ix86_lea_outperforms): Make static. Make
257 split_cost argument signed.
258 (ix86_use_lea_for_mov): Use INVALID_REGNUM instead of -1.
259 (ix86_avoid_lea_for_addr): Ditto.
261 2012-07-27 Uros Bizjak <ubizjak@gmail.com>
263 * config/i386/i386.c (ix86_avoid_lea_for_addr): Return false if
264 the address has less than two components.
266 2012-08-02 Steve Ellcey <sellcey@mips.com>
268 Backport from mainline
269 2012-07-19 Steve Ellcey <sellcey@mips.com>
271 * config/mips/mips.c (mips_set_mips16_mode): Clear SYNCI_MASK in
274 2012-08-02 Uros Bizjak <ubizjak@gmail.com>
276 Backport from mainline
277 2012-07-24 Uros Bizjak <ubizjak@gmail.com>
280 * config/i386/i386.c (ix86_legitimate_address_p): Move check for
281 negative constant address for TARGET_X32 ...
282 (ix86_decompose_address): ... here. Reject constant addresses
283 that don't satisfy x86_64_immediate_operand predicate.
285 2012-07-23 Uros Bizjak <ubizjak@gmail.com>
288 * config/i386/i386.md (*lea): Add asserts to detect invalid addresses.
289 * config/i386/i386.c (ix86_print_operand_address): Ditto.
290 (ix86_decompose_address): Allow (zero_extend:DI (subreg:SI (...)))
291 addresses. Prevent zero extensions of CONST_INT operands.
293 2012-07-22 Uros Bizjak <ubizjak@gmail.com>
296 * config/i386/i386.md (*lea): New insn pattern.
298 (*lea<mode>_2): Ditto.
299 (*lea_{3,4,5,6}_zext): Ditto.
300 * config/i386/predicates.md (lea_address_operand): Do not reject
301 zero-extended address operands.
302 * config/i386/constraints.md (j): Remove address constraint.
303 * config/i386/i386.c (ix86_decompose_address): Allow SImode subreg
305 (ix86_print_operand_address): Handle SImode subreg of an address.
306 (ix86_avoid_lea_for_addr): Reject zero-extended addresses for now.
308 2012-08-01 Uros Bizjak <ubizjak@gmail.com>
310 Backport from mainline
311 2012-03-09 Uros Bizjak <ubizjak@gmail.com>
314 * config/i386/i386.c (ix86_print_operand): Handle 'E' operand modifier.
315 (ix86_print_operand_address): Handle UNSPEC_LEA_ADDR. Do not fallback
317 * config/i386/i386.md (UNSPEC_LEA_ADDR): New unspec.
318 (*movdi_internal_rex64): Use %E operand modifier for lea.
319 (*movsi_internal): Ditto.
321 (*lea<mode>_2): Ditto.
322 (*lea_{3,4,5,6}_zext): Ditto.
323 (*tls_global_dynamic_32_gnu): Ditto.
324 (*tls_global_dynamic_64): Ditto.
325 (*tls_dynamic_gnu2_lea_32): Ditto.
326 (*tls_dynamic_gnu2_lea_64): Ditto.
327 (pro_epilogue_adjust_stack_<mode>_add): Ditto.
329 2012-08-01 Uros Bizjak <ubizjak@gmail.com>
331 Backport from mainline
332 2012-08-01 Uros Bizjak <ubizjak@gmail.com>
334 * config/i386/i386.c (ix86_address_subreg_operand): Reject
336 (ix86_print_operand_address): Assert that parts.base and parts.index
337 are non-NULL after call to simplify_subreg.
339 2012-07-22 Oleg Endo <olegendo@gcc.gnu.org>
342 * config/sh/sh.opt (mieee): Use Var instead of Mask. Correct
344 * config/sh/sh.c (sh_option_override): Do not change
345 flag_finite_math_only. Set TARGET_IEEE to complement of
346 flag_finite_math_only.
347 * doc/invoke.texi (SH options): Add mno-ieee. Correct
348 description of mieee and mno-ieee behavior.
350 2012-07-20 Kirill Yukhin <kirill.yukhin@intel.com>
353 * config/i386/lzcntintrin.h (_lzcnt_u32): New.
356 2012-07-20 Andrey Belevantsev <abel@ispras.ru>
358 Backport from mainline
359 2012-03-06 Andrey Belevantsev <abel@ispras.ru>
361 PR rtl-optimization/52250
362 * sel-sched-ir.c (maybe_tidy_empty_bb): Try harder to find a bb
363 to put note list into. Unconditionally call move_bb_info.
364 (move_bb_info): Do not assert the blocks being in the same region,
365 just drop the note list if they are not.
367 2012-07-19 Eric Botcazou <ebotcazou@adacore.com>
369 * config/sparc/sparc.md (adddi3_insn_sp32): Add earlyclobber.
371 2012-07-19 Eric Botcazou <ebotcazou@adacore.com>
373 * tree-ssa-forwprop.c (combine_conversions): Punt if the RHS of the
374 defining statement is a SSA name that occurs in abnormal PHIs.
376 2012-07-19 Eric Botcazou <ebotcazou@adacore.com>
378 * gimple-fold.c (canonicalize_constructor_val): Strip only useless type
381 2012-07-19 Richard Guenther <rguenther@suse.de>
382 Eric Botcazou <ebotcazou@adacore.com>
384 * tree-ssa-ccp.c (valid_lattice_transition): Clarify comment
385 about transition from invariant to known bits.
386 (likely_value): Addresses with UNDEFINED components are UNDEFINED.
388 2012-07-19 Jakub Jelinek <jakub@redhat.com>
391 * tree-cfgcleanup.c (cleanup_omp_return): Remove.
392 (cleanup_tree_cfg_bb): Don't call it.
393 * omp-low.c (expand_omp_sections): Fix up the !exit_reachable case
396 2012-07-19 Christian Bruel <christian.bruel@st.com>
399 * config/sh/sh.c (gen_far_branch): Set JUMP_LABEL for return jumps.
401 2012-07-18 Ralf Corsépius <ralf.corsepius@rtems.org>
403 * config.gcc (v850-*-rtems*): New target.
404 * config/v850/rtems.h: New.
405 * config/v850/t-rtems: New.
407 2012-07-18 Nick Clifton <nickc@redhat.com>
409 * doc/invoke.texi (ARM Options): Document -munaligned-access.
411 2012-07-15 Uros Bizjak <ubizjak@gmail.com>
415 Backport from mainline
416 2012-04-25 Jakub Jelinek <jakub@redhat.com>
419 * config/i386/i386.md (and<mode>3): For andq $0xffffffff, reg
420 instead expand it as zero extension.
422 2012-07-14 Uros Bizjak <ubizjak@gmail.com>
424 * config/i386/i386.md (QImode and HImode cmove splitters): Merge
425 QImode and HImode splitters. Use ix86_comparison_operator.
426 Explicitly match FLAGS_REG.
427 (DFmode cmove splitter): Explicitly match FLAGS_REG.
429 2012-07-13 Richard Sandiford <rdsandiford@googlemail.com>
430 Steven Bosscher <steven@gcc.gnu.org>
431 Bernd Schmidt <bernds@codesourcery.com>
433 PR rtl-optimization/53908
434 * df-problems.c (can_move_insns_across): When doing
435 memory-reference book-keeping, handle call insns.
437 2012-07-10 Uros Bizjak <ubizjak@gmail.com>
439 Backport from mainline
440 2012-07-03 Uros Bizjak <ubizjak@gmail.com>
443 * config/i386/i386.c (x86_output_mi_thunk): Check if fnaddr satisfies
444 sibcall_insn_operand. Move it to a temporary register if not.
446 2012-07-06 Uros Bizjak <ubizjak@gmail.com>
449 * config/i386/i386.c (x86_output_mi_thunk): For CM_LARGE_PIC model,
450 emit PIC sequence for fnaddr symbol reference in advance.
452 2012-07-09 Jason Merrill <jason@redhat.com>
455 * tree.c (type_contains_placeholder_1): Handle NULLPTR_TYPE.
456 (type_hash_eq): Likewise.
459 * tree.c (build_zero_cst): Handle NULLPTR_TYPE.
461 2012-07-07 Ulrich Weigand <ulrich.weigand@linaro.org>
463 * combine.c (force_to_mode) [LSHIFTRT]: Avoid undefined behaviour
464 due to negative shift amount.
466 2012-07-06 Kai Tietz <ktietz@redhat.com>
468 Backport from mainline.
470 * config/i386/mingw32.h (NATIVE_SYSTEM_HEADER_DIR): Define it always
473 2012-07-06 Nick Clifton <nickc@redhat.com>
475 * config/mn10300/mn10300.c (mn10300_encode_section_info): Call
476 default_encode_section_info.
478 2012-07-06 Richard Guenther <rguenther@suse.de>
480 Backport from mainline
481 2012-03-30 Richard Guenther <rguenther@suse.de>
484 * double-int.c (rshift_double): Remove not needed cast.
486 2012-03-28 Richard Guenther <rguenther@suse.de>
489 * double-int.h (rshift_double): Remove.
490 * double-int.c (lshift_double): Use absu_hwi to make count
492 (rshift_double): Make static, take unsigned count argument,
493 remove handling of negative count argument.
494 (double_int_rshift): Dispatch to lshift_double.
496 2012-07-06 Richard Guenther <rguenther@suse.de>
498 Backport from mainline
499 2012-06-18 Richard Guenther <rguenther@suse.de>
501 PR tree-optimization/53693
502 * tree-vect-patterns.c (vect_operation_fits_smaller_type):
503 Reject operands with more than one use.
505 2012-07-06 Richard Guenther <rguenther@suse.de>
507 Backport from mainline
508 2012-04-11 Richard Guenther <rguenther@suse.de>
511 * tree-chrec.c (evolution_function_is_invariant_rec_p): Properly
512 consider loop nesting.
513 (evolution_function_is_univariate_p): Properly check the remainder
516 2012-07-05 Pat Haugen <pthaugen@us.ibm.com>
518 Backport from mainline
519 2012-05-24 Pat Haugen <pthaugen@us.ibm.com>
521 * config/rs6000/rs6000.c (rs6000_option_override_internal): Change
522 rs6000_sched_costly_dep default to true_store_to_load_dep_costly.
523 (adjacent_mem_locations): Move some code to and call...
524 (get_memref_parts): ...new function.
525 (mem_locations_overlap): New function.
526 (rs6000_adjust_priority): Adjust calls to is_load_insn/is_store_insn.
527 (is_mem_ref): Rename to...
528 (find_mem_ref): ...this. Return MEM rtx.
529 (get_store_dest): Remove function.
530 (is_load_insn1, is_load_insn, is_store_insn1, is_store_insn): Add
531 new parameter and adjust calls.
532 (rs6000_is_costly_dependence): Update calls for extra arg. Make sure
533 mem refs overlap for true_store_to_load_dep_costly.
534 (rs6000_sched_reorder2): Update calls for extra arg. Adjust args
535 passed to adjacent_mem_locations.
536 (is_costly_group): Walk resolved dependency list.
537 (force_new_group): Emit group ending nop for Power6/Power7.
538 * config/rs6000/rs6000.md (UNSPEC_GRP_END_NOP): New enum value.
539 (group_ending_nop): New define_insn.
541 2012-07-04 Richard Guenther <rguenther@suse.de>
544 * gimple-fold.c (get_base_constructor): Do not return an
545 error_mark_node DECL_INITIAL.
547 2012-07-04 Uros Bizjak <ubizjak@gmail.com>
549 Backport from mainline
550 2012-07-03 Uros Bizjak <ubizjak@gmail.com>
552 * config/i386/i386.c (ix86_option_override_internal): Fix wrong
553 code model string in the error message.
555 2012-07-04 Tristan Gingold <gingold@adacore.com>
557 Backport from mainline.
558 2012-06-25 Tristan Gingold <gingold@adacore.com>
560 * config/i386/winnt.c (i386_pe_seh_end_prologue): Move code to ...
561 (seh_cfa_adjust_cfa): ... that function.
562 (seh_emit_stackalloc): Do not emit out of range values.
563 * config/i386/i386.md: Delete unused UNSPEC_REG_SAVE,
564 UNSPEC_DEF_CFA constants.
565 * config/i386/i386.h (SEH_MAX_FRAME_SIZE): Define.
566 * config/i386/i386.c (ix86_frame_pointer_required): Required
567 for very large frames on SEH target.
568 (ix86_compute_frame_layout): Save area is before frame pointer
569 on SEH target. Handle very large frames.
570 (ix86_expand_prologue): Likewise.
572 2012-07-04 Richard Guenther <rguenther@suse.de>
574 * tree.c (find_decls_types_r): Handle TYPE_CONTEXT the same
575 as in free_lang_data_in_type.
577 2012-07-02 Martin Jambor <mjambor@suse.cz>
579 Backport from mainline.
580 2012-07-02 Martin Jambor <mjambor@suse.cz>
583 * ipa-prop.c (compute_known_type_jump_func): Put BINFO check before a
584 dynamic type change check.
586 2012-06-29 Eric Botcazou <ebotcazou@adacore.com>
588 * tree-eh.c (lower_try_finally_switch): Really put the location of the
589 last statement of the finally block onto the switch.
591 2012-06-29 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
593 * configure: Regenerate.
595 Backport from mainline.
596 2012-03-15 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
598 * config.gcc (target_type_format_char): New. Document it. Set it for
600 * configure.ac (gnu_unique_option): Use target_type_format_char
601 in test. Comment rationale.
603 2012-06-29 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
605 Backport from mainline.
606 2012-05-30 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
608 * config/arm/arm.c (arm_evpc_neon_vrev): Adjust off by one error.
610 2012-06-28 Georg-Johann Lay <avr@gjlay.de>
612 Backport from 2012-06-28 mainline r189049
615 * config/avr/avr.c (avr_hard_regno_call_part_clobbered): New.
616 * config/avr/avr-protos.h (avr_hard_regno_call_part_clobbered): New.
617 * config/avr/avr.h (HARD_REGNO_CALL_PART_CLOBBERED): Forward to
618 avr_hard_regno_call_part_clobbered.
620 2012-06-28 Richard Guenther <rguenther@suse.de>
623 * expr.c (expand_expr_real_1): Verify if the type is complete
624 before inspecting its size.
626 2012-06-27 Nick Clifton <nickc@redhat.com>
628 * config/rx/rx.md (comparesi3_extend): Remove = modifier from
631 2012-06-26 Alexandre Oliva <aoliva@redhat.com>
634 * cselib.c (promote_debug_loc): Don't crash on NULL argument.
636 2012-06-26 Nick Clifton <nickc@redhat.com>
638 * config/rx/rx.md (simple_return): Use the simple_return rtx.
640 2012-06-25 Jakub Jelinek <jakub@redhat.com>
643 * config/i386/sse.md (sse_loadlps): Use x m x constraints instead
644 of x x x in the vmovlps load alternative.
646 2012-06-22 Richard Guenther <rguenther@suse.de>
648 * gcov-iov.c: Include bconfig.h and system.h.
650 2012-06-22 Richard Guenther <rguenther@suse.de>
652 PR gcov-profile/53744
653 * gcov-iov.c (main): Treat "" and "prerelease" the same.
655 2012-06-22 Eric Botcazou <ebotcazou@adacore.com>
657 * tree-ssa-live.c (remove_unused_scope_block_p): Remove again
658 DECL_IGNORED_P non-reg vars even if they are used.
660 2012-06-19 Jason Merrill <jason@redhat.com>
663 * dwarf2out.c (modified_type_die): Use scope_die_for.
664 (gen_type_die_with_usage, dwarf2out_finish): Likewise.
665 (uses_local_type_r, uses_local_type): New.
666 (scope_die_for): Keep a type that uses a local type in local scope.
667 Use get_context_die for namespace and type scope.
669 2012-06-19 Richard Guenther <rguenther@suse.de>
672 * tree.c (free_lang_data_in_type): Do not clear TYPE_CONTEXT but
673 replace it with the first non-BLOCK context.
675 2012-06-18 Vladimir Makarov <vmakarov@redhat.com>
677 PR rtl-optimization/53700
679 Backport from mainline
680 2012-03-29 Vladimir Makarov <vmakarov@redhat.com>
682 * ira-color.c (setup_left_conflict_sizes_p): Process all
685 2012-06-18 Venkataramanan Kumar <venkataramanan.kumar@amd.com>
687 Backport from mainline
688 2012-05-09 Uros Bizjak <ubizjak@gmail.com>
691 * config/i386/sse.md (vec_widen_smult_hi_v4si): Expand using
692 xop_pmacsdqh insn pattern instead of xop_mulv2div2di3_high.
693 (vec_widen_smult_lo_v4si): Expand using xop_pmacsdql insn pattern
694 instead of xop_mulv2div2di3_low.
695 (xop_p<macs>dql): Fix vec_select selector.
696 (xop_p<macs>dqh): Ditto.
697 (xop_mulv2div2di3_low): Remove insn_and_split pattern.
698 (xop_mulv2div2di3_high): Ditto.
700 2012-06-17 Uros Bizjak <ubizjak@gmail.com>
702 Backport from mainline:
703 2012-06-17 Uros Bizjak <ubizjak@gmail.com>
705 * config/i386/sse.md (vcvtph2ps): Fix vec_select selector.
707 2012-06-16 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
709 Backport from mainline:
710 2012-06-03 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
712 * config/pa/pa.h (MAX_PCREL17F_OFFSET): Define.
713 * config/pa/pa.c (pa_attr_length_millicode_call): Use
714 MAX_PCREL17F_OFFSET instead of fixed offset.
715 (pa_attr_length_call): Likewise.
716 (pa_attr_length_indirect_call): Likewise.
718 2012-06-15 Walter Lee <walt@tilera.com>
720 Backport from mainline:
721 2012-06-15 Walter Lee <walt@tilera.com>
723 * config/tilegx/sync.md (atomic_fetch_<fetchop_name><mode>): Fix typo.
725 2012-06-14 Maxim Kuvyrkov <maxim@codesourcery.com>
727 * config/tilegx/sync.md (atomic_fetch_sub<mode>): Fix typo.
729 2012-06-15 Aldy Hernandez <aldyh@redhat.com>
731 Backport from mainline:
733 2012-05-31 Aldy Hernandez <aldyh@redhat.com>
734 * tree-ssa-loop-im.c (execute_sm): Do not check flag_tm.
735 * gimple.h (block_in_transaction): Check for flag_tm.
737 2012-06-14 Aldy Hernandez <aldyh@redhat.com>
739 PR tree-optimization/52558
741 Backport from mainline:
742 2012-05-21 Aldy Hernandez <aldyh@redhat.com>
743 * gimple.h (gimple_set_in_transaction): Remove.
744 (gimple_in_transaction): Look in BB instead.
745 (gimple_statement_base): Remove in_transaction field.
746 * basic-block.h (enum bb_flags): Add BB_IN_TRANSACTION.
747 * trans-mem.c (compute_transaction_bits): Place transaction bit
748 information into basic blocks.
750 2012-05-31 Aldy Hernandez <aldyh@redhat.com>
752 PR tree-optimization/52558
753 * cfg.c (alloc_aux_for_edge): Fix comment.
754 (alloc_aux_for_edge): Remove static.
755 * basic-block.h (alloc_aux_for_edge): Protoize.
756 * tree-ssa-loop-im.c (execute_sm_if_changed): New.
757 (execute_sm_if_changed_flag): New.
758 (execute_sm_if_changed_flag_set): New.
759 (execute_sm): Do not generate data races unless requested.
760 (tree_ssa_lim_initialize): Call alloc_aux_for_edges.
761 (tree_ssa_lim_finalize): Call free_aux_for_edges.
762 * gimple.h (block_in_transaction): New.
763 (gimple_in_transaction): Use block_in_transaction.
765 2012-06-14 Jakub Jelinek <jakub@redhat.com>
767 Backported from mainline
768 2012-06-12 Jakub Jelinek <jakub@redhat.com>
770 PR rtl-optimization/53589
771 * cfgrtl.c (force_nonfallthru_and_redirect): Do asm_goto_edge
772 discovery even when e->dest != target. If any LABEL_REF points
773 to e->dest label, redirect it to target's label.
775 2012-06-07 Jakub Jelinek <jakub@redhat.com>
778 * omp-low.c (scan_omp_1_stmt): If check_omp_nesting_restrictions
779 returns false, replace stmt with GIMPLE_NOP.
780 (check_omp_nesting_restrictions): Instead of issuing warnings,
781 issue errors and return false if any errors were reported.
783 2012-06-14 Richard Guenther <rguenther@suse.de>
785 * BASE-VER: Set to 4.7.2.
786 * DEV-PHASE: Set to prerelease.
788 2012-06-12 Christian Bruel <christian.bruel@st.com>
791 * config/sh/sh.c (sh_option_override): Don't force
792 flag_omit_frame_pointer and maccumulate_outgoing_args.
793 * config/sh/sh.opt (maccumulate-outgoing-args): Init as Var.
795 2012-06-14 Release Manager
797 * GCC 4.7.1 released.
799 2012-06-13 Uros Bizjak <ubizjak@gmail.com>
801 * config/ia64/sync.md (fetchop_name): Change ior attribute to "or".
803 2012-06-13 Richard Henderson <rth@redhat.com>
805 * config/rs6000/sync.md (atomic_load, atomic_store): Use INT1 mode
806 iterator instead of INT.
808 2012-06-08 Richard Henderson <rth@redhat.com>
811 * combine-stack-adj.c (force_move_args_size_note): Add ARGS_SIZE
812 note to a clobber insn when no other insn is available.
814 2012-06-04 Paolo Carlini <paolo.carlini@oracle.com>
817 * doc/invoke.texi (Wenum-compare): Update documentation.
819 2012-06-04 Edmar Wienskoski <edmar@freescale.com>
822 * config/rs6000/altivec.md (altivec_stvlx): Change machine mode of
824 (altivec_stvlxl): Ditto.
825 (altivec_stvrx): Ditto.
826 (altivec_stvrxl): Ditto.
828 2012-06-04 Aldy Hernandez <aldyh@redhat.com>
831 * trans-mem.c (expand_block_edges): Do not skip the first
832 statement when resetting the BB.
834 2012-06-04 Richard Guenther <rguenther@suse.de>
837 * dwarf2out.c (dwarf2out_finish): If generating LTO do not
838 create new assembler names.
840 2012-06-04 Richard Guenther <rguenther@suse.de>
842 Backport from mainline
843 2012-04-25 Jakub Jelinek <jakub@redhat.com>
846 * stor-layout.c (get_best_mode): Don't return mode with bitsize
847 larger than maxbits. Don't compute maxbits modulo align.
848 Also check that unit bytes long store at bitpos / unit * unit
849 doesn't affect bits beyond bitregion_end.
850 * expmed.c (store_bit_field_1): Avoid trying insv if OP_MODE MEM
851 would not fit into bitregion_start ... bitregion_end + 1 bit
853 (store_split_bit_field): Decrease unit close to end of bitregion_end
854 if access is restricted in order to avoid mutual recursion.
856 2012-06-04 Georg-Johann Lay <avr@gjlay.de>
858 Backport from 2012-06-04 mainline r188172
861 * config/avr/avr-stdint.h: New file.
862 * config.gcc (avr-*-*,tm_file): Use avr/avr-stdint.h instead of
865 2012-06-04 Jakub Jelinek <jakub@redhat.com>
867 PR tree-optimization/53550
868 * tree-ssa-loop-niter.c (number_of_iterations_cond): If type
869 is POINTER_TYPE_P, use sizetype as step type instead of type.
871 2012-06-04 Richard Guenther <rguenther@suse.de>
872 Eric Botcazou <ebotcazou@adacore.com>
874 Backport from mainline
875 2012-04-03 Eric Botcazou <ebotcazou@adacore.com>
877 * expr.c (get_bit_range): Add OFFSET parameter and adjust BITPOS.
878 Change type of BITOFFSET to signed. Make sure the lower bound of
879 the computed range is non-negative by adjusting OFFSET and BITPOS.
880 (expand_assignment): Adjust call to get_bit_range.
882 2012-03-27 Eric Botcazou <ebotcazou@adacore.com>
884 * expr.c (get_bit_range): Return the null range if the enclosing record
885 is part of a larger bit field.
887 2012-03-20 Richard Guenther <rguenther@suse.de>
889 * stor-layout.c (finish_bitfield_representative): Fallback
890 to conservative maximum size if the padding up to the next
891 field cannot be computed as a constant.
892 (finish_bitfield_layout): If we cannot compute the distance
893 between the start of the bitfield representative and the
894 bitfield member start a new representative.
895 * expr.c (get_bit_range): The distance between the start of
896 the bitfield representative and the bitfield member is zero
897 if the field offsets are not constants.
899 2012-03-16 Richard Guenther <rguenther@suse.de>
901 * stor-layout.c (finish_bitfield_representative): Fall back
902 to the conservative maximum size if we cannot compute the
903 size of the tail padding.
905 2012-03-14 Richard Guenther <rguenther@suse.de>
907 * tree.h (DECL_BIT_FIELD_REPRESENTATIVE): New define.
908 * stor-layout.c (start_bitfield_representative): New function.
909 (finish_bitfield_representative): Likewise.
910 (finish_bitfield_layout): Likewise.
911 (finish_record_layout): Call finish_bitfield_layout.
912 * tree.c (free_lang_data_in_decl): Only free DECL_QUALIFIER
913 for QUAL_UNION_TYPE fields.
914 * tree-streamer-in.c (lto_input_ts_field_decl_tree_pointers):
915 Stream DECL_BIT_FIELD_REPRESENTATIVE.
916 * tree-streamer-out.c (write_ts_field_decl_tree_pointers): Likewise.
921 * expr.c (get_bit_range): Unconditionally extract bitrange
922 from DECL_BIT_FIELD_REPRESENTATIVE.
923 (expand_assignment): Adjust call to get_bit_range.
925 2012-06-01 Eric Botcazou <ebotcazou@adacore.com>
928 * fold-const.c (fold_binary_loc): Refine previous change.
930 2012-06-01 Oleg Endo <olegendo@gcc.gnu.org>
932 Backport from mainline
933 2012-03-27 Chung-Lin Tang <cltang@codesourcery.com>
936 * config/sh/sh.c (find_barrier): Add equality check of last_got to
937 avoid going above orig insn. Update comments.
939 2012-06-01 Oleg Endo <olegendo@gcc.gnu.org>
941 Backport from mainline
942 2012-03-21 Kaz Kojima <kkojima@gcc.gnu.org>
945 * config/sh/sh.c (sh_expand_prologue): Emit blockage at the end of
946 prologue for unwinder and profiler.
948 2012-06-01 Oleg Endo <olegendo@gcc.gnu.org>
950 Backport from mainline
951 2012-03-03 Kaz Kojima <kkojima@gcc.gnu.org>
953 * config/sh/sh.md (abssi2): Add TARGET_SH1 condition.
955 2012-06-01 Oleg Endo <olegendo@gcc.gnu.org>
957 Backport from mainline
958 2012-03-03 Kaz Kojima <kkojima@gcc.gnu.org>
960 * config/sh/sh.c (sh_dwarf_register_span): Don't apply
963 2012-06-01 Oleg Endo <olegendo@gcc.gnu.org>
965 Backport from mainline
966 2012-03-03 Kaz Kojima <kkojima@gcc.gnu.org>
968 * config/sh/sh.c (shiftcosts): Return MAX_COST when the first
969 operand is CONST_INT. Take COSTS_N_INSNS into account.
970 (sh_rtx_costs): Don't apply COSTS_N_INSNS to the return value of
973 2012-05-31 Georg-Johann Lay <avr@gjlay.de>
975 * config/avr/avr.opt (-msp8): Document it.
976 * doc/invoke.texi (AVR Options): Copy from trunk docu.
978 2012-05-31 Richard Guenther <rguenther@suse.de>
981 * expr.c (expand_assignment): Do not use movmisalign on
984 2012-05-30 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
987 * config/pa/pa.c (TARGET_SECTION_TYPE_FLAGS): Define.
988 (pa_section_type_flags): New.
989 (pa_legitimate_constant_p): Revert previous change.
991 2012-05-30 Aldy Hernandez <aldyh@redhat.com>
993 Backport from mainline
994 2012-05-25 Aldy Hernandez <aldyh@redhat.com>
997 * trans-mem.c (ipa_tm_create_version_alias): Output new_node if
999 (ipa_tm_create_version): Same.
1001 2012-05-30 Jason Merrill <jason@redhat.com>
1004 * c-typeck.c (array_to_pointer_conversion): Give -Wc++-compat warning
1005 about array compound literals.
1007 2012-05-30 Richard Guenther <rguenther@suse.de>
1010 * fold-const.c (fold_binary_loc): Make sure to call
1011 fold_plusminus_mult_expr with the original sign of operands.
1013 2012-05-30 Eric Botcazou <ebotcazou@adacore.com>
1015 * explow.c (probe_stack_range): Restore simple control flow and stop
1016 again when the probe cannot be generated if HAVE_check_stack.
1018 2012-05-30 Jakub Jelinek <jakub@redhat.com>
1020 PR rtl-optimization/53519
1021 * combine.c (simplify_shift_const_1) <case NOT>: Use constm1_rtx
1022 instead of GEN_INT (GET_MODE_MASK (mode)) as second operand of XOR.
1024 2012-05-29 Richard Guenther <rguenther@suse.de>
1026 PR tree-optimization/53516
1027 * tree-data-ref.c (stmt_with_adjacent_zero_store_dr_p): Reject
1029 * tree-vect-data-refs.c (vect_analyze_data_refs): Likewise.
1031 2012-05-28 Bill Schmidt <wschmidt@linux.ibm.com>
1033 Backport from mainline
1034 2012-05-28 Richard Guenther <rguenther@suse.de>
1036 PR tree-optimization/53438
1037 * tree-sra.c (analyze_access_subtree): Correct bitfield exclusion.
1039 2012-05-26 Eric Botcazou <ebotcazou@adacore.com>
1041 Backport from mainline
1042 2012-03-10 Chung-Lin Tang <cltang@codesourcery.com>
1044 PR rtl-optimization/52528
1045 * combine.c (can_combine_p): Add setting of subst_low_luid
1046 before call to expand_field_assignment().
1048 2012-05-26 Martin Jambor <mjambor@suse.cz>
1050 Backport from mainline
1051 2012-05-23 Martin Jambor <mjambor@suse.cz>
1053 * ipa-inline-analysis.c (inline_merge_summary): Free operand_map.
1055 2012-05-25 Eric Botcazou <ebotcazou@adacore.com>
1058 * tree-inline.c (remap_gimple_op_r): Fix handling of FIELD_DECL.
1059 * tree.c (RETURN_TRUE_IF_VAR): Do not return true for PLACEHOLDER_EXPR.
1061 2012-05-25 Alexander Ivchenko <alexander.ivchenko@intel.com>
1064 * config/i386/i386.c (ix86_expand_vec_perm): Use correct op.
1065 (ix86_expand_vec_perm): Use int mode instead of float.
1067 2012-05-25 Eric Botcazou <ebotcazou@adacore.com>
1070 * config.gcc (i[34567]86-*-mingw* | x86_64-*-mingw*): Set gas and
1071 gnu_ld variables to yes.
1072 * configure.ac (HAVE_GNU_LD): Move to after config.gcc inclusion.
1073 (HAVE_GNU_AS): Likewise.
1074 * config.in: Regenerate.
1075 * configure: Likewise.
1077 2012-05-25 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
1079 Backport from mainline
1080 2012-03-12 Richard Guenther <rguenther@suse.de>
1081 * config/arm/arm.c (neon_dereference_pointer): Do not call
1082 covert during RTL expansion.
1084 2012-05-24 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
1086 Backport from mainline
1087 2012-05-18 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
1090 * config/rs6000/rs6000.c (print_operand): Revise code that unsafely
1091 relied on signed overflow behavior.
1093 2012-05-24 Richard Guenther <rguenther@suse.de>
1096 * tree-profile.c (tree_profiling): Cleanup the CFG if
1097 execute_fixup_cfg requests it.
1099 2012-05-24 Jakub Jelinek <jakub@redhat.com>
1101 PR tree-optimization/53465
1102 * tree-vrp.c (extract_range_from_cond_expr): First copy_value_range
1103 vr0 into *vr, then vrp_meet that.
1104 (vrp_meet): If one vr type is VR_UNDEFINED, ensure the result doesn't
1105 have any equivalences.
1106 (vrp_visit_phi_node): Call copy_value_range instead of vrp_meet the
1109 2012-05-23 Eric Botcazou <ebotcazou@adacore.com>
1111 * gimple.c (gimple_types_compatible_p_1) <ARRAY_TYPE>: Remove bogus
1113 (gimple_canonical_types_compatible_p) <ARRAY_TYPE>: Likewise.
1114 (iterative_hash_gimple_type): Adjust comment.
1115 (iterative_hash_canonical_type): Likewise. Hash the bounds of the
1116 domain for an array type instead of the domain type itself.
1118 2012-05-23 Georg-Johann Lay <avr@gjlay.de>
1120 Backport from 2012-05-23 mainline r187803
1123 * config/avr/avr.h (ASM_OUTPUT_ALIGN): Don't inhibit .p2align 1.
1124 * config/avr/elf.h (ASM_OUTPUT_BEFORE_CASE_LABEL): Use
1127 2012-05-23 Ganesh Gopalasubramanian <Ganesh.Gopalasubramanian@amd.com>
1129 Backport from 2012-05-03 mainline r187075
1131 * config/i386/driver-i386.c (host_detect_local_cpu): Reset
1132 has_fma4 for AMD processors with both fma3 and fma4 support.
1134 2012-05-22 Richard Guenther <rguenther@suse.de>
1136 PR tree-optimization/53408
1137 * tree-vect-loop.c (vectorizable_induction): Properly check
1138 the restriction that we cannot handle induction results from
1139 the inner loop outside of the outer loop.
1141 2012-05-21 Jakub Jelinek <jakub@redhat.com>
1143 PR tree-optimization/53436
1144 * omp-low.c (omp_build_component_ref): New function.
1145 (build_receiver_ref, build_sender_ref, create_task_copyfn): Use it.
1147 PR tree-optimization/53366
1148 * tree-vect-slp.c (vect_supported_load_permutation_p): Don't shortcut
1149 tests if complex_numbers == 2, but there are non-complex number loads
1152 PR tree-optimization/53409
1153 * tree-vect-loop.c (vect_analyze_loop_operations): Don't check
1154 vinfo_for_stmt (op_def_stmt) if op_def_stmt isn't inside loop.
1156 PR tree-optimization/53410
1157 * fold-const.c (fold_binary_loc): Use build_zero_cst (type)
1158 instead of build_int_cst (type, 0) where vector types might be
1161 2012-05-21 Joseph Myers <joseph@codesourcery.com>
1164 * c-typeck.c (build_conditional_expr): Remove C_MAYBE_CONST_EXPR
1165 from folded operands before wrapping another around the
1166 conditional expression.
1168 2012-05-21 Dave Boutcher <daveboutcher@gmail.com>
1169 Patrick Marlier <patrick.marlier@gmail.com>
1171 * trans-mem.c (ipa_tm_transform_clone): Transform functions with
1174 2012-05-21 H.J. Lu <hongjiu.lu@intel.com>
1176 Backport from mainline
1177 2012-05-21 H.J. Lu <hongjiu.lu@intel.com>
1180 * config/i386/i386.md (UNSPEC_RDRAND): Renamed to ...
1181 (UNSPECV_RDRAND): This.
1182 (rdrand<mode>_1): Updated.
1184 2012-05-20 H.J. Lu <hongjiu.lu@intel.com>
1186 Backport from mainline
1187 2012-05-20 H.J. Lu <hongjiu.lu@intel.com>
1189 * config/i386/driver-i386.c (host_detect_local_cpu): Support
1190 RDRND, F16C and FSGSBASE.
1192 2012-05-19 Eric Botcazou <ebotcazou@adacore.com>
1194 Backport from mainline
1195 2012-05-14 Eric Botcazou <ebotcazou@adacore.com>
1197 * tree-ssa-pre.c (can_value_number_call): Delete.
1198 (compute_avail): Skip all statements with side effects.
1199 <GIMPLE_CALL>: Skip calls to internal functions.
1201 2012-05-18 David S. Miller <davem@davemloft.net>
1203 Backport r185385 from mainline
1204 2012-03-14 Richard Guenther <rguenther@suse.de>
1207 * tree-vect-generic.c (type_for_widest_vector_mode): Take
1208 element type instead of mode, use build_vector_type_for_mode
1209 instead of the langhook, build a vector of proper signedness.
1210 (expand_vector_operations_1): Adjust.
1212 2012-05-18 Olivier Hainque <hainque@adacore.com>
1214 * Makefile.in (FLAGS_TO_PASS): Pass $(libexecsubdir) instead of
1215 $(libsubdir) as libexecsubdir.
1217 2012-05-16 Andrew Pinski <apinski@cavium.com>
1219 * gimple-fold.c (get_maxval_strlen): Move COND_EXPR handling under
1222 2012-05-16 David S. Miller <davem@davemloft.net>
1224 * jump.c (delete_related_insns): If we remove a CALL, make sure
1225 we delete it's NOTE_INSN_CALL_ARG_LOCATION note too.
1227 2012-05-16 Richard Henderson <rth@redhat.com>
1230 * combine-stack-adj.c (prev_active_insn_bb): New.
1231 (next_active_insn_bb): New.
1232 (force_move_args_size_note): New.
1233 (combine_stack_adjustments_for_block): Use it.
1235 2012-05-16 Olivier Hainque <hainque@adacore.com>
1237 * Makefile.in (install-no-fixedincludes): New target, former toplevel
1238 gcc-no-fixedincludes. Stash "include-fixed" in addition to "include".
1239 Add comments and improve stamp preservation across the whole sequence.
1240 (stmp-int-hdrs): Use move-if-change + cp -p to setup fix_dir/limits.h.
1242 2012-05-16 Richard Guenther <rguenther@suse.de>
1244 PR tree-optimization/53364
1245 * tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Properly
1246 detect a view-conversion of the decl.
1248 2012-05-15 Jakub Jelinek <jakub@redhat.com>
1251 * config/i386/i386.md (*addqi_2 peephole with QImode addition): Check
1252 that operands[2] is either immediate, or q_regs_operand.
1254 2012-05-15 Bin Cheng <bin.cheng@arm.com>
1256 Backport r187139 from mainline.
1257 2012-05-04 Bin Cheng <bin.cheng@arm.com>
1259 PR rtl-optimization/52804
1260 * reload1.c (reload_reg_reaches_end_p): Check whether successor
1261 reload with type RELOAD_FOR_INPUT_ADDRESS kills reload register
1262 of current one with type RELOAD_FOR_INPADDR_ADDRESS.
1263 Same stands for reloads with type RELOAD_FOR_OUTPUT_ADDRESS and
1264 RELOAD_FOR_OUTADDR_ADDRESS.
1266 2012-05-14 Uros Bizjak <ubizjak@gmail.com>
1269 * config/i386/i386.c (ix86_expand_special_args_builtin): Always
1270 generate target register for "load" class builtins.
1273 2010-10-22 Uros Bizjak <ubizjak@gmail.com>
1276 * config/i386/sse.md (*avx_movu<ssemodesuffix><avxmodesuffix>):
1277 Rename from avx_movu<ssemodesuffix><avxmodesuffix>.
1278 (avx_movu<ssemodesuffix><avxmodesuffix>): New expander.
1279 (*<sse>_movu<ssemodesuffix>): Rename from <sse>_movu<ssemodesuffix>.
1280 (<sse>_movu<ssemodesuffix>): New expander.
1281 (*avx_movdqu<avxmodesuffix>): Rename from avx_movdqu<avxmodesuffix>.
1282 (avx_movdqu<avxmodesuffix>): New expander.
1283 (*sse2_movdqu): Rename from sse2_movdqu.
1284 (sse2_movdqu): New expander.
1286 2012-05-14 Jakub Jelinek <jakub@redhat.com>
1288 * dwarf2out.c (dwarf2out_define, dwarf2out_undef): Treat
1289 lineno 1 the same as lineno 0 before first start file directive.
1290 (optimize_macinfo_range): Likewise.
1292 * dwarf2out.c (have_macinfo): Define.
1293 (dwarf2out_finish): Don't emit DW_AT_GNU_macros or DW_AT_macro_info
1294 attribute, don't force empty compilation unit and don't emit any
1295 .debug_macinfo/.debug_macro section if macinfo_table is empty.
1297 2012-05-13 Uros Bizjak <ubizjak@gmail.com>
1299 Backport from mainline
1300 2012-05-12 Uros Bizjak <ubizjak@gmail.com>
1302 * config/alpha/alpha.c (alpha_emit_conditional_branch): Handle
1303 ORDERED and UNORDERED conditions.
1305 2012-05-12 Eric Botcazou <ebotcazou@adacore.com>
1307 * function.c (requires_stack_frame_p): If the function can throw
1308 non-call exceptions, return true if the insn can throw internally.
1310 2012-05-10 Eric Botcazou <ebotcazou@adacore.com>
1312 * gimplify.c (gimplify_decl_expr): For a TYPE_DECL, also gimplify the
1313 DECL_ORIGINAL_TYPE if it is present.
1315 2012-05-09 Georg-Johann Lay <avr@gjlay.de>
1317 Backport from 2012-05-12 mainline r187342.
1320 * config/avr/elf.h (ASM_DECLARE_FUNCTION_NAME): Remove.
1321 * config/avr/avr-protos.h (avr_asm_declare_function_name): Remove.
1322 * config/avr/avr.h (struct machine_function): Add attributes_checked_p.
1323 * config/avr/avr.c (avr_asm_declare_function_name): Remove.
1324 (expand_prologue): Move initialization of cfun->machine->is_naked,
1325 is_interrupt, is_signal, is_OS_task, is_OS_main from here to...
1326 (avr_set_current_function): ...this new static function.
1327 (TARGET_SET_CURRENT_FUNCTION): New define.
1328 (avr_function_ok_for_sibcall): Use cfun->machine->is_* instead of
1329 checking attributes of current_function_decl.
1330 (avr_regs_to_save): Ditto.
1331 (signal_function_p): Rename to avr_signal_function_p.
1332 (interrupt_function_p): Rename to avr_interrupt_function_p.
1334 * doc/extend.texi (Function Attributes): Better explanation of
1335 'interrupt' and 'signal' for AVR. Move 'ifunc' down to establish
1338 2012-05-09 Matthias Klose <doko@ubuntu.com>
1340 * gcc-ar.c (main): Don't check for execute bits for the plugin.
1342 2012-05-08 Hans-Peter Nilsson <hp@axis.com>
1345 * config/cris/cris.c (cris_normal_notice_update_cc): For TARGET_V32,
1346 when a constant source operand matches an "I" constraint, the "no
1347 CC0 change" applies to a register-destination only, not a
1348 strict_low_part-destination.
1350 2012-05-07 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
1352 Backport from mainline:
1353 2012-04-19 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
1355 * config/arm/sync.md (sync_optab): Change ior attribute to "or".
1357 2012-05-07 Jakub Jelinek <jakub@redhat.com>
1359 PR tree-optimization/53239
1360 * tree-vrp.c (get_value_range): Set VR of
1361 SSA_NAME_IS_DEFAULT_DEF of DECL_BY_REFERENCE RESULT_DECL
1364 2012-05-07 Richard Guenther <rguenther@suse.de>
1366 PR tree-optimization/53195
1367 * tree-inline.c (setup_one_parameter): Properly add referenced
1368 vars from the parameters new known value.
1370 2012-05-06 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1372 Backport from mainline:
1373 2012-04-27 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1376 * config/pa/pa.c (pa_legitimate_constant_p): Don't put function labels
1379 2012-05-04 Ian Lance Taylor <iant@google.com>
1381 * tree-vect-patterns.c (vect_single_imm_use): Correct return
1382 values from false to NULL.
1384 2012-05-04 Uros Bizjak <ubizjak@gmail.com>
1386 Backport from mainline
1387 2012-05-04 Uros Bizjak <ubizjak@gmail.com>
1390 * config/i386/i386.h (X86_ARCH_CMOV): Rename from X86_ARCH_CMOVE.
1391 (TARGET_CMOV): Rename from TARGET_CMOVE.
1392 (TARGET_CMOVE): New define.
1393 * config/i386/i386.c (ix86_option_override_internal): Use TARGET_CMOV.
1394 Do not set TARGET_CMOVE here.
1396 2012-05-04 Ulrich Weigand <ulrich.weigand@linaro.org>
1398 Backport from mainline:
1400 2012-05-04 Ulrich Weigand <ulrich.weigand@linaro.org>
1402 PR tree-optimization/52633
1403 * tree-vect-patterns.c (vect_vect_recog_func_ptrs): Swap order of
1404 vect_recog_widen_shift_pattern and vect_recog_over_widening_pattern.
1405 (vect_recog_over_widening_pattern): Remove handling of code that was
1406 already detected as over-widening pattern. Remove special handling
1407 of "unsigned" cases. Instead, support general case of conversion
1408 of the shift result to another type.
1410 2012-05-04 Ulrich Weigand <ulrich.weigand@linaro.org>
1412 * tree-vect-patterns.c (vect_single_imm_use): New function.
1413 (vect_recog_widen_mult_pattern): Use it instead of open-coding loop.
1414 (vect_recog_over_widening_pattern): Likewise.
1415 (vect_recog_widen_shift_pattern): Likewise.
1417 2012-04-10 Ulrich Weigand <ulrich.weigand@linaro.org>
1419 PR tree-optimization/52870
1420 * tree-vect-patterns.c (vect_recog_widen_mult_pattern): Verify that
1421 presumed pattern statement is within the same loop or basic block.
1423 2012-05-04 Richard Guenther <rguenther@suse.de>
1425 * common.opt (flto-report): Do not mark as Optimization.
1427 2012-05-04 Eric Botcazou <ebotcazou@adacore.com>
1430 * recog.c (constrain_operands): If extra constraints are present, also
1431 accept pseudo-registers with equivalent memory locations during reload.
1433 2012-05-03 Michael Meissner <meissner@linux.vnet.ibm.com>
1435 Backport from the mainline
1436 2012-05-03 Michael Meissner <meissner@linux.vnet.ibm.com>
1439 * config/rs6000/rs6000.md (bswapdi splitters): If
1440 -mavoid-indexed-addresses (or -mcpu=power6 which sets it by
1441 default) is used, generate an alternate sequence that does not
1442 depend on using indexed addressing.
1444 2012-05-03 David S. Miller <davem@davemloft.net>
1447 * config/sparc/sparc.c (emit_soft_tfmode_libcall): If we pass a
1448 MEM directly into a libcall, mark it's MEM_EXPR as addressable.
1449 (sparc_emit_float_lib_cmp): Likewise.
1451 2012-05-04 Martin Jambor <mjambor@suse.cz>
1453 Backport from mainline
1454 2012-05-02 Martin Jambor <mjambor@suse.cz>
1457 * dwarf2out.c (dwarf2out_decl): Only lookup die representing context
1458 of a variable when the contect is a function.
1460 2012-05-03 Jakub Jelinek <jakub@redhat.com>
1463 * gcc-ar.c (main): If GCC_EXEC_PREFIX is set in env,
1464 append program name to it and pass that as first argument
1465 to make_relative_prefix. Always pass standard_libexec_prefix
1466 as last argument to make_relative_prefix. If
1467 make_relative_prefix returns NULL, fall back to
1468 standard_libexec_prefix.
1471 * tree-predcom.c (remove_stmt): Call reset_debug_uses on stmts being
1475 * config/arm/arm.c (arm_select_cc_mode): If x has MODE_CC class
1476 mode, return that mode.
1478 2012-05-03 Richard Guenther <rguenther@suse.de>
1480 PR tree-optimization/53144
1481 * tree-ssa-sccvn.c (vn_reference_lookup_or_insert_constant_for_pieces):
1483 (vn_reference_lookup_or_insert_for_pieces): ... this. Properly deal
1484 with SSA name values.
1485 (vn_reference_lookup_3): Adjust callers.
1487 2012-05-02 Jakub Jelinek <jakub@redhat.com>
1489 PR tree-optimization/53163
1490 * tree-ssa-phiopt.c (cond_if_else_store_replacement): Don't ignore
1491 return value from compute_all_dependences.
1493 PR rtl-optimization/53160
1494 * ree.c (combine_reaching_defs): Handle the case where cand->insn
1495 has been modified by ree pass already.
1497 2012-05-01 Uros Bizjak <ubizjak@gmail.com>
1499 Backport from mainline
1500 2012-04-30 Uros Bizjak <ubizjak@gmail.com>
1503 * ipa-prop.c (ipa_print_node_jump_functions): Wrap multiple
1504 calls to cgraph_node_name in xstrdup.
1505 (ipa_make_edge_direct_to_target): Ditto.
1506 * tree-sra.c (convert_callers_for_node): Ditto.
1507 * lto-symtab.c (lto_cgraph_replace_node): Ditto.
1508 * ipa-cp.c (perhaps_add_new_callers): Ditto.
1509 * cgraphunit.c (cgraph_redirect_edge_call_stmt_to_callee): Ditto.
1510 (cgraph_materialize_all_clones): Ditto.
1511 * ipa-inline.c (report_inline_failed_reason): Ditto.
1512 (want_early_inline_function_p): Ditto.
1513 (edge_badness): Ditto.
1514 (update_edge_key): Ditto.
1515 (flatten_function): Ditto.
1516 (ipa_inline): Ditto.
1517 (inline_always_inline_functions): Ditto.
1518 (early_inline_small_functions): Ditto.
1520 2012-04-30 Andreas Tobler <andreast@fgznet.ch>
1522 Backport from mainline
1523 2012-03-21 Andreas Tobler <andreast@fgznet.ch>
1525 * configure.ac (HAVE_LD_NO_DOT_SYMBOLS): Add powerpc64-*-freebsd*.
1526 Introduce emul_name to select the right linker emulation for
1527 powerpc64-*-freebsd*.
1528 * configure: Regenerate.
1529 * config.gcc: Add bits to support powerpc64-*-freebsd*.
1530 * config/rs6000/freebsd.h (POWERPC_FREEBSD): Define.
1531 * config/rs6000/freebsd64.h: New file.
1532 * config/rs6000/rs6000.c (rs6000_option_override_internal): Use
1534 (rs6000_savres_strategy): Likewise.
1535 (rs6000_savres_routine_name): Likewise.
1536 (rs6000_elf_file_end): Likewise.
1537 * config/rs6000/t-freebsd64: New file.
1538 * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Set the
1539 rs6000_current_abi for 64-bit FreeBSD to ABI_AIX.
1541 2012-04-30 Uros Bizjak <ubizjak@gmail.com>
1543 Backport from mainline
1544 2012-04-27 Paolo Bonzini <bonzini@gnu.org>
1547 * config/i386/i386.md (x86_mov<mode>cc_0_m1_neg): Add clobber.
1549 2012-04-30 Eric Botcazou <ebotcazou@adacore.com>
1551 * config/i386/i386.c (ix86_handle_struct_attribute): Use the proper
1552 predicate to discriminate types.
1554 2012-04-27 Richard Guenther <rguenther@suse.de>
1557 * convert.c (convert_to_integer): Avoid infinite recursion for
1558 target-defined built-in types.
1560 2012-04-26 Hans-Peter Nilsson <hp@axis.com>
1563 * config/cris/cris.md ("*andhi_lowpart_v32")
1564 ("*andqi_lowpart_v32"): Change first input-only operand from
1565 a (match_operand ...) to (match_dup 0). Drop alternatives with
1566 const_int-matching constraints for redundancy.
1567 ("*andhi_lowpart_non_v32", "*andqi_lowpart_non_v32"): Ditto. Drop
1568 three-operand alternative.
1570 2012-04-26 Uros Bizjak <ubizjak@gmail.com>
1572 Backport from mainline
1573 2012-04-23 Uros Bizjak <ubizjak@gmail.com>
1575 * config/i386/i386.md (*add<mode>_2): Add r/r/0 alternative.
1576 (*addsi_2_zext): Ditto.
1577 (*add<mode>_3): Ditto.
1578 (*addsi_3_zext): Ditto.
1579 (*add<mode>_5): Ditto.
1581 2012-04-25 Jakub Jelinek <jakub@redhat.com>
1584 * c-typeck.c (set_nonincremental_init,
1585 set_nonincremental_init_from_string): Pass true instead of false
1586 as IMPLICIT to add_pending_init.
1588 2012-04-24 Georg-Johann Lay <avr@gjlay.de>
1590 Backport from 2012-04-24 mainline r186768.
1593 * config/avr/avr.h (HARD_REGNO_CALL_PART_CLOBBERED): New hook define.
1595 2012-04-24 Richard Guenther <rguenther@suse.de>
1597 PR tree-optimization/53085
1598 * tree-ssa-pre.c (eliminate): Do not eliminate volatile redundant
1601 2012-04-24 Jakub Jelinek <jakub@redhat.com>
1604 * varasm.c (compute_reloc_for_constant): Handle ADDR_EXPR
1606 (output_addressed_constants): Likewise.
1609 * varasm.c (get_section): Don't ICE for section conflicts with
1610 built-in section kinds.
1612 2012-04-23 David Edelsohn <dje.gcc@gmail.com>
1614 * config/rs6000/sync.md (fetchop_name): Change ior attribute to "or".
1616 2012-04-23 Georg-Johann Lay <avr@gjlay.de>
1618 * doc/extend.texi (AVR Named Address Spaces): Fix typos.
1620 2012-04-23 Richard Guenther <rguenther@suse.de>
1623 * c-typeck.c (build_binary_op): Fix typo.
1625 2012-04-23 Jakub Jelinek <jakub@redhat.com>
1627 PR tree-optimizations/52891
1628 * tree-vect-patterns.c (adjust_bool_pattern): Use
1629 build_nonstandard_type even if rhs1 has unsigned INTEGER_TYPE,
1630 but with non-standard precision.
1632 2012-04-22 Ian Lance Taylor <iant@google.com>
1634 * godump.c (go_output_typedef): Dump size of structs.
1636 2012-04-20 Ulrich Weigand <ulrich.weigand@linaro.org>
1638 Backport from mainline:
1640 * config/arm/arm.c (arm_print_operand): Fix invalid alignment
1641 hints for 'A' operand types.
1643 2012-04-19 Georg-Johann Lay <avr@gjlay.de>
1645 Backport from 2012-04-19 mainline r186588.
1648 * config/avr/avr.c (avr_out_load_psi): Fix assembler template for
1649 the case *(X+const).
1651 2012-04-18 Uros Bizjak <ubizjak@gmail.com>
1653 * config/alpha/sync.md (fetchop_name): Change ior attribute to "or".
1655 2012-04-17 Uros Bizjak <ubizjak@gmail.com>
1658 * config/i386/sync.md (atomic_<code><mode>): Rename to
1659 atomic_<logic><mode>.
1661 2012-04-16 Uros Bizjak <ubizjak@gmail.com>
1663 Backport from mainline
1664 2012-04-12 Uros Bizjak <ubizjak@gmail.com>
1667 * config/i386/avx2intrin.h (_mm256_permutevar8x32_ps): Change second
1668 argument type to __m256i. Update call to __builtin_ia32_permvarsf256.
1669 * config/i386/sse.md (avx2_permvarv8sf): Change operand 1 to V8SI.
1670 (avx2_permvarv8sf, avx2_permvarv8si): Switch operands 1 and 2.
1671 * config/i386/i386.c (bdesc_args) <__builtin_ia32_permvarsf256>:
1672 Update builtin type to V8SF_FTYPE_V8SF_V8SI.
1673 (ix86_expand_vec_perm): Update calls to gen_avx2_permvarv8si and
1674 gen_avx2_permvarv8sf.
1676 2012-04-16 Martin Jambor <mjambor@suse.cz>
1678 Backported from mainline
1680 2012-04-13 Martin Jambor <mjambor@suse.cz>
1683 * gimple-fold.c (gimple_get_virt_method_for_binfo): Bail out if
1684 fold_ctor_reference returns a zero constant.
1686 2012-04-13 H.J. Lu <hongjiu.lu@intel.com>
1688 Backported from mainline
1689 2012-04-13 H.J. Lu <hongjiu.lu@intel.com>
1691 * config/i386/i386-c.c (ix86_target_macros): Define _ILP32
1692 and __ILP32__ for x32.
1694 2012-04-13 Tom de Vries <tom@codesourcery.com>
1696 Backport from mainline r186418.
1698 2012-04-13 Tom de Vries <tom@codesourcery.com>
1700 * tree-ssa-tail-merge.c (gsi_advance_bw_nondebug_nonlocal): Add
1701 parameters vuse and vuse_escaped.
1702 (find_duplicate): Init vuse1, vuse2 and vuse_escaped. Pass to
1703 gsi_advance_bw_nondebug_nonlocal. Return if vuse_escaped and
1706 2012-04-13 Richard Guenther <rguenther@suse.de>
1708 PR tree-optimization/52969
1709 * tree-if-conv.c (predicate_mem_writes): Properly gimplify
1710 the condition for the COND_EXPR and handle predicate negation
1711 by swapping the COND_EXPR arms.
1713 2012-04-13 Richard Guenther <rguenther@suse.de>
1716 * convert.c (convert_to_pointer): Remove special-casing of
1719 2012-04-12 Michael Meissner <meissner@linux.vnet.ibm.com>
1721 Backport from mainline
1722 2012-04-12 Michael Meissner <meissner@linux.vnet.ibm.com>
1725 * config/rs6000/rs6000.h (TARGET_FCFID): Add TARGET_PPC_GPOPT to
1726 the list of options to enable the FCFID instruction.
1727 (TARGET_EXTRA_BUILTINS): Adjust comment.
1729 2012-04-12 Richard Guenther <rguenther@suse.de>
1731 PR tree-optimization/52943
1732 * tree-chrec.h (chrec_is_positive): Remove.
1733 * tree-scalar-evolution.c (chrec_is_positive): Move ...
1734 * tree-data-ref.c (chrec_is_positive): ... here. Make static.
1735 Return false for a constant zero instead of negative.
1736 (analyze_siv_subscript_cst_affine): Handle zero difference
1737 in the initial condition explicitely.
1739 2012-04-10 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1742 * varasm.c (process_pending_assemble_externals): Set
1743 pending_assemble_externals_processed true.
1744 (assemble_external): Call assemble_external_real if the pending
1745 assemble externals have been processed.
1747 2012-04-09 Eric Botcazou <ebotcazou@adacore.com>
1750 * config/sparc/sparc.c (sparc_file_end): Set TREE_PUBLIC explicitly on
1751 the DECL generated for the special GOT helper.
1753 2012-04-06 Walter Lee <walt@tilera.com>
1755 Backport from mainline
1756 2012-03-07 Walter Lee <walt@tilera.com>
1758 * config/tilegx/tilegx.c (tilegx_expand_prologue): Don't generate
1759 REG_CFA_* notes for the stack pointer.
1760 (tilegx_expand_epilogue): Restore stack pointer by adjusting it by
1761 EH_RETURN_STACKADJ_RTX.
1762 * config/tilepro/tilepro.c (tilepro_expand_prologue): Don't
1763 generate REG_CFA_* notes for the stack pointer.
1764 (tilepro_expand_epilogue): Restore stack pointer by adjusting it
1765 by EH_RETURN_STACKADJ_RTX.
1767 2012-04-06 Matt Turner <mattst88@gmail.com>
1769 * doc/install.texi: Correct typo "-mno-lsc" -> "-mno-llsc".
1771 2012-04-06 Eric Botcazou <ebotcazou@adacore.com>
1773 * config/ia64/ia64.c (ia64_load_pair_ok): Return 0 if the second member
1774 of the destination isn't also a FP_REGS register.
1776 2012-04-03 Richard Guenther <rguenther@suse.de>
1778 Backport from mainline
1779 2012-03-02 Richard Guenther <rguenther@suse.de>
1781 PR tree-optimization/52406
1782 * tree-data-ref.h: Update documentation about DR_BASE_OBJECT.
1783 (struct indices): Add unconstrained_base member.
1784 (struct dr_alias): Remove unused vops member.
1785 (DR_UNCONSTRAINED_BASE): New define.
1786 * tree-data-ref.c (dr_analyze_indices): For COMPONENT_REFs
1787 add indices to allow their disambiguation. Make DR_BASE_OBJECT
1788 be an artificial access that covers the whole indexed object,
1789 or mark it with DR_UNCONSTRAINED_BASE if we cannot do so. Canonicalize
1790 plain decl base-objects to their MEM_REF variant.
1791 (dr_may_alias_p): When the base-object of either data reference
1792 has unknown size use only points-to information.
1793 (compute_affine_dependence): Make dumps easier to read and
1795 * tree-vect-data-ref.c (vector_alignment_reachable_p): Use
1796 DR_REF when looking for packed references.
1797 (vect_supportable_dr_alignment): Likewise.
1799 2012-04-03 Richard Guenther <rguenther@suse.de>
1801 Backport from mainline
1802 2012-03-15 Richard Guenther <rguenther@suse.de>
1805 * tree-data-ref.c (subscript_dependence_tester_1): Check
1806 all dimensions for non-conflicting access functions.
1808 2012-04-03 Richard Guenther <rguenther@suse.de>
1810 Backport from mainline
1811 2012-03-06 Richard Guenther <rguenther@suse.de>
1814 * tree-ssa-alias.c (ptr_derefs_may_alias_p): Robustify.
1816 2012-03-23 Richard Guenther <rguenther@suse.de>
1818 PR tree-optimization/52678
1819 * tree-vectorizer.h (struct _stmt_vec_info): Add
1820 loop_phi_evolution_part member.
1821 (STMT_VINFO_LOOP_PHI_EVOLUTION_PART): New define.
1822 * tree-vect-loop.c (vect_analyze_scalar_cycles_1): Initialize
1823 STMT_VINFO_LOOP_PHI_EVOLUTION_PART.
1824 * tree-vect-loop-manip.c (vect_update_ivs_after_vectorizer):
1825 Use the cached evolution part and the PHI nodes value from
1826 the loop preheader edge instead of re-analyzing the evolution.
1828 2012-03-26 Richard Guenther <rguenther@suse.de>
1830 PR tree-optimization/52701
1831 * tree-vect-loop.c (vect_analyze_scalar_cycles_1): Always
1832 compute and set the evolution part of PHI nodes.
1834 2012-03-30 Richard Guenther <rguenther@suse.de>
1836 PR tree-optimization/52754
1837 * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Only
1838 propagate arbitrary addresses into really plain dereferences.
1840 2012-04-03 Jakub Jelinek <jakub@redhat.com>
1842 PR tree-optimization/52835
1843 * tree-data-ref.c (build_rdg): Return NULL if
1844 compute_data_dependences_for_loop failed.
1846 2012-03-31 Eric Botcazou <ebotcazou@adacore.com>
1848 * tree-cfg.c (call_can_make_abnormal_goto): New predicate.
1849 (stmt_can_make_abnormal_goto): Use it.
1850 (is_ctrl_altering_stmt): Likewise.
1852 2012-03-31 Martin Jambor <mjambor@suse.cz>
1854 Backported from mainline
1855 2012-03-30 Martin Jambor <mjambor@suse.cz>
1857 * tree-ssa-ccp.c (insert_clobbers_for_var): Do not assert that there
1858 is a builtin_stack_save in a dominating BB.
1860 2012-03-29 Uros Bizjak <ubizjak@gmail.com>
1862 * config/i386/sse.md (avx_h<plusminus_insn>v4df3): Fix results
1863 crossing 128bit lane boundary.
1865 2012-03-29 Uros Bizjak <ubizjak@gmail.com>
1867 Backported from mainline
1868 2012-03-27 Uros Bizjak <ubizjak@gmail.com>
1871 * config/i386/i386-protos.h (ix86_legitimize_reload_address):
1873 * config/i386/i386.h (LEGITIMIZE_RELOAD_ADDRESS): New define.
1874 * config/i386/i386.c: Include reload.h.
1875 (ix86_legitimize_reload_address): New function.
1877 2012-03-28 Martin Jambor <mjambor@suse.cz>
1879 Backported from mainline
1880 2012-03-27 Martin Jambor <mjambor@suse.cz>
1883 * tree-sra.c (sra_modify_assign): Do not call
1884 load_assign_lhs_subreplacements when working with an unscalarizable
1887 2012-03-28 Jakub Jelinek <jakub@redhat.com>
1890 * tree-ssa-ccp.c (optimize_stdarg_builtin): Optimize
1891 __builtin_va_start to __builtin_next_arg if the latter is
1892 builtin_decl_explicit_p rather than when it is not.
1895 * tree-vect-generic.c (vector_element): Perform multiplication
1896 for pos in bitsizetype type instead of idx type.
1898 2012-03-28 Georg-Johann Lay <avr@gjlay.de>
1900 Backport from 2012-03-28 mainline r185910.
1903 * config/avr/avr.c (TARGET_BUILTIN_DECL): New define.
1904 (avr_builtin_decl): New static function.
1905 (struct avr_builtin_description, avr_bdesc): Move up.
1906 Add GTY marker. Add field fndecl. Remove redundant field id.
1907 (avr_init_builtins): Initialize avr_bdesc[ID].fndecl.
1908 (avr_expand_builtin): Code cleanup because .id is removed.
1910 2012-03-28 Aurelien Buhrig <aurelien.buhrig.gcc@gmail.com>
1913 * expmed.c (store_bit_field_1): Fix wordnum value for big-endian
1916 2012-03-28 Georg-Johann Lay <avr@gjlay.de>
1918 Backport from 2012-03-28 mainline r185907.
1921 * config.gcc (tm_file): Remove avr/multilib.h.
1923 * doc/invoke.texi (AVR Options): Adjust
1924 documentation of -mtiny-stack.
1926 * config/avr/genmultilib.awk: Remove code to generate multilib.h.
1927 (BEGIN): Use -msp8 as multilib option instead of -mtiny-stack.
1928 * config/avr/t-avr: Remove generation of multilib.h.
1929 * config/avr/t-multilib: Regenerate.
1930 * config/avr/multilib.h: Remove.
1931 * config/avr/avr.opt (-msp8): New option.
1932 (avr_sp8): New variable.
1933 * config/avr/driver-avr.c (avr_device_to_sp8): New function.
1934 * config/avr/avr.h (AVR_HAVE_SPH): New define.
1935 (AVR_HAVE_8BIT_SP): Also set by avr_sp8 i.e. -msp8.
1936 (avr_device_to_sp8): New prototype.
1937 (EXTRA_SPEC_FUNCTIONS): Add { "device_to_sp8", avr_device_to_sp8 }
1938 (DRIVER_SELF_SPECS): New define.
1939 * config/avr/avr-c.c (avr_cpu_cpp_builtins): New built-in defines:
1940 __AVR_SP8__, __AVR_HAVE_SPH__.
1941 * config/avr/avr.c (output_movhi): Use AVR_HAVE_SPH instead of
1942 AVR_HAVE_8BIT_SP to decide if SP_H is present.
1943 (avr_file_start): Ditto.
1945 2012-03-28 Jakub Jelinek <jakub@redhat.com>
1948 * config/i386/sse.md (sse2_loadlpd splitter): Use offset 0
1949 instead of 8 in adjust_address.
1951 2012-03-27 Eric Botcazou <ebotcazou@adacore.com>
1953 * expmed.c (store_bit_field): Assert that BITREGION_START is a multiple
1954 of a unit before computing the offset in units.
1956 2012-03-27 Richard Guenther <rguenther@suse.de>
1959 * fold-const.c (try_move_mult_to_index): Handle &x.array more
1962 2012-03-24 Eric Botcazou <ebotcazou@adacore.com>
1965 * config/sparc/sparc.h (ASM_CPU_SPEC): Pass -Av8 if -mcpu=leon.
1967 2012-03-24 Steven Bosscher <steven@gcc.gnu.org>
1970 * varasm.c: Include pointer-set.h.
1971 (pending_assemble_externals_set): New pointer set.
1972 (process_pending_assemble_externals): Destroy the pointer set.
1973 (assemble_external): See if decl is in pending_assemble_externals_set,
1974 and add it to pending_assemble_externals if necessary.
1975 (init_varasm_once): Allocate pending_assemble_externals_set.
1977 2012-03-23 Michael Meissner <meissner@linux.vnet.ibm.com>
1979 Backported from mainline
1980 2012-03-06 Michael Meissner <meissner@linux.vnet.ibm.com>
1983 * config/rs6000/vector.md (vector_uneq<mode>): Add support for
1984 UNEQ, LTGT, ORDERED, and UNORDERED IEEE vector comparisons.
1985 (vector_ltgt<mode>): Likewise.
1986 (vector_ordered<mode>): Likewise.
1987 (vector_unordered<mode>): Likewise.
1988 * config/rs6000/rs6000.c (rs6000_emit_vector_compare_inner): Likewise.
1990 2012-03-23 Joern Rennecke <joern.rennecke@embecosm.com>
1992 * config/epiphany/epiphany.c (epiphany_function_value_regno_p):
1995 2012-03-22 Kaz Kojima <kkojima@gcc.gnu.org>
1997 Backported from mainline
1998 2012-03-02 Kaz Kojima <kkojima@gcc.gnu.org>
2002 * config/sh/sh.c (sh_register_move_cost): Increase cost between
2003 GENERAL_REGS and FP_REGS for SImode.
2005 2012-03-22 Jakub Jelinek <jakub@redhat.com>
2008 * tree-nested.c (convert_tramp_reference_stmt): Call declare_vars
2009 on any new_local_var_chain vars declared during recursing on
2010 GIMPLE_OMP_PARALLEL or GIMPLE_OMP_TASK body.
2012 2012-03-22 Georg-Johann Lay <avr@gjlay.de>
2014 Backport from 2012-03-22 mainline r185692.
2017 * config/avr/avr.md (unspec): Remove UNSPEC_MEMORY_BARRIER.
2018 (unspecv): Add UNSPECV_MEMORY_BARRIER.
2019 (cli_sei): Use unspec_volatile instead of unspec for memory barrier.
2020 (delay_cycles_1, delay_cycles_2): Ditto.
2021 (delay_cycles_3, delay_cycles_4): Ditto.
2022 (nopv, *nopv): Ditto.
2023 (sleep, *sleep): Ditto.
2026 Backport from 2012-03-21 mainline r185605.
2028 PR rtl-optimization/52543
2030 * config/avr/avr-protos.h (avr_load_lpm): New prototype.
2031 * config/avr/avr.c (avr_mode_dependent_address_p): New function.
2032 (TARGET_MODE_DEPENDENT_ADDRESS_P): New define.
2033 (avr_load_libgcc_p): Restrict to __flash loads.
2034 (avr_out_lpm): Only handle 1-byte loads from __flash.
2035 (avr_load_lpm): New function.
2036 (avr_find_unused_d_reg): Remove.
2037 (avr_out_lpm_no_lpmx): Remove.
2038 (adjust_insn_length): Handle ADJUST_LEN_LOAD_LPM.
2039 * config/avr/avr.md (unspec): Add UNSPEC_LPM.
2040 (load_<mode>_libgcc): Use UNSPEC_LPM instead of MEM.
2041 (load_<mode>, load_<mode>_clobber): New insns.
2042 (mov<mode>): For multi-byte move from non-generic
2043 16-bit address spaces: Expand to load_<mode> resp.
2044 load_<mode>_clobber.
2045 (load<mode>_libgcc): Remove expander.
2046 (split-lpmx): Remove split.
2048 Backport from 2012-03-13 mainline r185329.
2051 * config/avr/avr.c (avr_prologue_setup_frame): Cut down stack
2052 offset (size) to a value the insns can deal with.
2053 (expand_epilogue): Ditto.
2055 Backport from 2012-03-12 mainline r185256.
2058 * config/avr/avr.c (avr_mode_code_base_reg_class): Change return
2059 type from reg_class_t to enum reg_class.
2060 * config/avr/avr-protos.h (avr_mode_code_base_reg_class): Ditto.
2062 Backport from 2012-03-12 mainline r185253.
2065 * config/avr/avr.c (avr_out_movmem): Fix typo in output template
2066 for the case ADDR_SPACE_FLASH and AVR_HAVE_LPMX introduced in
2067 r184615 from 2012-02-28.
2069 Backport from 2012-03-08 mainline r185105.
2071 * config/avr/avr.md (*addhi3, addhi3_clobber): Add "w" alternative
2072 for constants in [-63,63].
2074 Backport from 2012-03-08 mainline r185100.
2077 * config/avr/avr.c (avr_mem_clobber): New static function.
2078 (avr_expand_delay_cycles): Add memory clobber operand to
2079 delay_cycles_1, delay_cycles_2, delay_cycles_3, delay_cycles_4.
2080 * config/avr/avr.md (unspec): Add UNSPEC_MEMORY_BARRIER.
2081 (enable_interrupt, disable_interrupt): New expander.
2082 (nopv, sleep, wdr): New expanders.
2083 (delay_cycles_1): Add memory clobber.
2084 (delay_cycles_2): Add memory clobber.
2085 (delay_cycles_3): Add memory clobber.
2086 (delay_cycles_4): Add memory clobber.
2087 (cli_sei): New insn from former "enable_interrupt",
2088 "disable_interrupt" with memory clobber.
2089 (*wdt): New insn from former "wdt" with memory clobber.
2090 (*nopv): Similar, but for "nopv".
2091 (*sleep): Similar, but for "sleep".
2093 Backport from 2012-03-07 mainline r185043.
2096 * config/avr/avr.md (xload<mode>_A): Add R22... to register footprint.
2098 Backport from 2012-03-07 mainline r185032.
2101 * gcc/config/avr/avr.c (expand_epilogue): Fix order of restoration
2102 to: RAMPZ, RAMPY, RAMPX, RAMPD.
2103 (expand_prologue): Only clear RAMPZ if it has effect on RAM-read.
2105 Backport from 2012-03-07 mainline r185031.
2108 * config/avr/avr.c (avr_out_xload): Don't read unintentionally
2110 * config/avr/avr.md (xload_8): Adjust insn length.
2112 Backport from 2012-03-07 mainline r185030.
2115 * gcc/config/avr/avr.c (avr_out_lpm): Clear RAMPZ after usage
2116 if RAMPZ affects reading from RAM.
2118 Backport from 2012-03-05 mainline r184919.
2120 * config/avr/avr.md (*umaddqihi4.2): New insn-and-split.
2122 2012-03-22 Georg-Johann Lay <avr@gjlay.de>
2124 Backport from mainline r185259.
2127 * output.h (SECTION_EXCLUDE, SECTION_MACH_DEP): Don't use
2128 SECTION_MACH_DEP reserved bits for SECTION_EXCLUDE.
2130 2012-03-22 Jakub Jelinek <jakub@redhat.com>
2132 Backported from mainline
2133 2012-03-13 Jakub Jelinek <jakub@redhat.com>
2136 * c-parser.c (c_parser_postfix_expression)
2137 <case RID_BUILTIN_SHUFFLE>: Call mark_exp_read on argument values.
2139 * config/i386/smmintrin.h: Avoid /* within a comment.
2140 * config/i386/nmmintrin.h: Likewise.
2142 2012-03-22 Richard Guenther <rguenther@suse.de>
2144 * BASE-VER: Set to 4.7.1.
2145 * DEV-PHASE: Set to prerelease.
2147 2012-03-22 Release Manager
2149 * GCC 4.7.0 released.
2151 2012-03-16 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2153 * doc/install.texi (Specific, *-*-solaris2*): Improve wording.
2155 2012-03-15 Jakub Jelinek <jakub@redhat.com>
2156 Andrew Pinski <apinski@cavium.com>
2159 * builtins.c (expand_builtin_int_roundingfn_2): If expanding
2160 BUILT_IN_IR{INT,OUND}* using optab fails, emit lr{int,ound}*
2161 calls instead of __builtin_ir{int,ound}*.
2163 2012-03-14 Jakub Jelinek <jakub@redhat.com>
2166 * config/rs6000/rs6000.c (call_ABI_of_interest): Return true
2169 2012-03-13 Joseph Myers <joseph@codesourcery.com>
2171 * doc/invoke.texi (-std=c99), doc/standards.texi (C language):
2172 Refer to GCC 4.7 version of c99status.html.
2174 2012-03-12 Michael Meissner <meissner@linux.vnet.ibm.com>
2176 Backport from mainline
2177 2012-03-09 Michael Meissner <meissner@linux.vnet.ibm.com>
2179 * config/rs6000/linux64.h (OPTION_TARGET_CPU_DEFAULT): Do not
2180 redefine to be NULL if the current bit-size is different from the
2181 configured bit-size.
2183 * config/rs6000/rs6000.c (rs6000_option_override_internal): If the
2184 cpu is defaulted, use PROCESSOR_DEFAULT and PROCESSOR_DEFAULT64 to
2185 set the default tuning. Add asserts to make sure the cpu and tune
2186 indexes are defined. Fix tests for cpu/tune index to use >= 0 to
2187 test whether the index is set, instead of > 0.
2188 (rs6000_file_start): Do not reset the default cpu if the current
2189 bit-size is different from the configured bit-size.
2191 2012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2193 * doc/install.texi (Specific, i?86-*-solaris2.[89]): Update
2195 (Specific, i?86-*-solaris2.10): Remove GCC 4.0 reference.
2196 Update binutils references.
2197 (Specific, *-*-solaris2*): Mention bundled GCC in Solaris 10 and 11.
2198 Update binutils reference.
2199 Update Sun as/GNU ld caveat.
2200 Document binutils largefile requirement for LTO plugin.
2201 Remove reference to alternate libpthread.
2203 2012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2205 * doc/install.texi (Specific, alpha*-dec-osf5.1): Update binutils
2207 (Specific, mips-sgi-irix6): Likewise.
2209 2012-03-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2211 * configure.ac (gcc_cv_as_ix86_tlsldmplt): Add label.
2212 * configure: Regenerate.
2214 2012-03-07 Richard Henderson <rth@redhat.com>
2216 * config/m68k/m68k.h (ISA_HAS_TAS): New.
2217 * config/m68k/sync.md (atomic_test_and_set): Use it.
2218 (atomic_test_and_set_1): Likewise.
2220 2012-03-07 Ralf Corsépius <ralf.corsepius@rtems.org>
2223 * Makefile.in: Let install-gcc-ar depend on installdirs,
2224 gcc-ar$(exeext), gcc-nm$(exeext), gcc-ranlib$(exeext).
2225 Don't double canonicalize if cross-compiling.
2227 2012-03-06 Aldy Hernandez <aldyh@redhat.com>
2229 * trans-mem.c: New typedef for tm_region_p.
2230 Define vector types for tm_region_p.
2231 (tm_region_init): Replace region_worklist to a vector called
2234 2012-03-06 Aldy Hernandez <aldyh@redhat.com>
2237 * trans-mem.c (tm_region_init): Use last_basic_block.
2239 2012-03-05 Richard Henderson <rth@redhat.com>
2242 Revert: 2011-11-26 Richard Henderson <rth@redhat.com>
2243 * omp-low.c (expand_omp_atomic): Assume anything aligned to
2244 BIGGEST_ALIGNMENT is aligned.
2246 2012-03-05 Oleg Endo <olegendo@gcc.gnu.org>
2248 * config/sh/sh.c (TARGET_ATOMIC_TEST_AND_SET_TRUEVAL): New hook.
2250 2012-03-05 Richard Henderson <rth@redhat.com>
2253 * config/m68k/sync.md (atomic_test_and_set): Use expand_simple_unop
2254 instead of calling negqi2 directly.
2256 2012-03-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2258 * config/mips/iris6.h [!USED_FOR_TARGET] (long_intmax): Declare.
2259 (INTMAX_TYPE): Use it.
2260 (UINTMAX_TYPE): Likewise.
2261 (SUBTARGET_OVERRIDE_OPTIONS): Define.
2262 (irix6_c_common_override_options): Declare.
2263 (C_COMMON_OVERRIDE_OPTIONS): Define.
2264 * config/mips/mips.c [TARGET_IRIX6] (long_intmax): Define.
2265 * config/mips/irix6-c.c: New file.
2266 * config/mips/t-irix6 (irix6-c.o): New target.
2267 * config.gcc (mips-sgi-irix6.5): Set c_target_objs,
2270 2012-03-02 Richard Henderson <rth@redhat.com>
2272 * optabs.c (expand_atomic_test_and_set): Honor
2273 atomic_test_and_set_trueval even when atomic_test_and_set
2274 optab is not in use.
2276 2012-03-02 Peter Bergner <bergner@vnet.ibm.com>
2278 Backport from mainline
2279 2012-03-02 Peter Bergner <bergner@vnet.ibm.com>
2281 * config/rs6000/vsx.md (vsx_set_<mode>): Reorder operands.
2283 2012-03-02 Richard Guenther <rguenther@suse.de>
2285 * DEV-PHASE: Set to prerelease.
2287 2012-03-01 Richard Earnshaw <rearnsha@arm.com>
2289 * config.gcc (obsolete): Add all ARM targets using the FPA.
2290 (with_fpu): Obsolete selection of the FPA or Maverick on ARM.
2291 * doc/install.texi: Avoid references to obsolete ARM ports.
2293 2012-03-01 Joern Rennecke <joern.rennecke@embecosm.com>
2295 * config/epiphany/epiphany.md (movmisalign<mode>): New patterns.
2297 2012-03-01 Jeremy Bennett <jeremy.bennett@embecosm.com>
2298 Joern Rennecke <joern.rennecke@embecosm.com>
2300 * doc/extend.texi: Expand and update information on interrupt
2301 attribute for Epiphany.
2303 2012-03-01 Oleg Endo <olegendo@gcc.gnu.org>
2305 * config/sh/sh-protos.h: Update copyright notice dates.
2306 * config/sh/sh.h: Likewise.
2307 * config/sh/sh.md: Likewise.
2308 * config/sh/constraints.md: Likewise.
2309 * config/sh/predicates.md: Likewise.
2311 2012-03-01 Oleg Endo <olegendo@gcc.gnu.org>
2313 * config/sh/sh-protos.h (tertiary_reload_operand): Remove dead function.
2314 * config/sh/sh.c (tertiary_reload_operand): Likewise.
2316 2012-03-01 Oleg Endo <olegendo@gcc.gnu.org>
2318 * config/sh/constraints.md: Fix comment typo.
2320 2012-03-01 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2323 * config/pa/pa.md (zvdep_imm32): Change type of variable x from int to
2324 unsigned HOST_WIDE_INT.
2325 (zvdep_imm64): Likewise.
2326 (vdepi_ior): Change type of variable x from int to HOST_WIDE_INT.
2327 (vdepi_and): Likewise.
2328 Likewise for unamed 64-bit patterns.
2329 * config/pa/predicates.md (lhs_lshift_cint_operand): Update comment.
2331 2012-03-01 Alexandre Oliva <aoliva@redhat.com>
2334 PR rtl-optimization/52417
2335 * cselib.c (cselib_any_perm_equivs): New variable.
2336 (cselib_reset_table): Check that it's not set when not
2337 preserving constants.
2338 (cselib_add_permanent_equiv): Set it.
2339 (cselib_have_permanent_equivalences): New.
2340 (cselib_init, cselib_finish): Reset it.
2341 * cselib.h (cselib_have_permanent_equivalences): Declare.
2342 * alias.c (get_addr): Restore earlier behavior when there
2343 aren't permanent equivalences.
2345 2012-03-01 Steven Bosscher <steven@gcc.gnu.org>
2347 * config/mn10300/mn10300-modes.def: Fix copyright notice.
2348 * config/v850/v850-modes.def: Fix copyright notice.
2350 2012-03-01 Georg-Johann Lay <avr@gjlay.de>
2352 * doc/extend.texi (AVR Built-in Functions): Document
2353 __builtin_avr_flash_segment.
2355 * config/avr/builtins.def (__builtin_avr_flash_segment): New entry.
2356 * config/avr/avr.md (flash_segment, flash_segment1): New expanders.
2357 (*split.flash_segment): New insn-and-split.
2358 * config/avr/avr.c (avr_init_builtins): Add local variables:
2359 const_memx_void_node, const_memx_ptr_type_node,
2360 char_ftype_const_memx_ptr.
2362 2012-03-01 Jakub Jelinek <jakub@redhat.com>
2364 PR tree-optimization/52445
2365 * tree-ssa-phiopt.c (struct name_to_bb): Remove ssa_name field,
2366 add ssa_name_ver, offset and size fields and change store field
2368 (name_to_bb_hash, name_to_bb_eq): Adjust for the above changes.
2369 (add_or_mark_expr): Likewise. Only consider previous stores
2370 with the same size and offset.
2371 (nt_init_block): Only look at gimple_assign_single_p stmts,
2372 doesn't look at rhs2.
2374 2012-03-01 Richard Guenther <rguenther@suse.de>
2377 * tree-cfg.c (verify_gimple_assign_unary): Allow any
2378 conversions from integral types to pointer types.
2380 2012-03-01 Georg-Johann Lay <avr@gjlay.de>
2382 * config/avr/avr-c.c (avr_cpu_cpp_builtins): Restore built-in
2383 defines for __UINT24_MAX__, __INT24_MAX__, __INT24_MIN__
2384 unintentionally removed in r184616.
2386 2012-03-01 Venkataramanan Kumar <venkataramanan.kumar@amd.com>
2388 * doc/invoke.texi: Document AMD bdver2 and remove mentioning
2391 2012-02-29 Jakub Jelinek <jakub@redhat.com>
2392 Uros Bizjak <ubizjak@gmail.com>
2395 * config/i386/sse.md (vec_set<mode>_0): Swap "*r" and "fF"
2396 alternatives, add "e" constraint to the new last alternative
2397 and ! to last 3 alternatives.
2399 2012-02-29 Eric Botcazou <ebotcazou@adacore.com>
2401 * dwarf2out.c (modified_type_die): Set DW_AT_GNAT_descriptive_type and
2402 DW_AT_artificial attributes at the end of the processing.
2403 (gen_array_type_die): Likewise.
2404 (gen_enumeration_type_die): Likewise.
2405 (gen_struct_or_union_type_die): Likewise.
2406 (add_gnat_descriptive_type_attribute): Do not suppress debug info for
2409 2012-02-29 Jakub Jelinek <jakub@redhat.com>
2412 * expr.c (expand_assignment): If doing misaligned store that doesn't
2413 cover all mode bits, perform a RMW cycle.
2415 PR tree-optimization/52429
2416 * tree-parloops.c (separate_decls_in_region_debug): Return early
2417 if var is LABEL_DECL.
2419 2012-02-29 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
2421 PR tree-optimization/52424
2422 * tree-ssa-dom.c (dom_opt_leave_block): Push a marker before
2423 calling dom_thread_across_edge.
2425 2012-02-29 Georg-Johann Lay <avr@gjlay.de>
2427 * config/avr/avr.c: Move definition of TARGET macros to end of file.
2429 2012-02-29 Georg-Johann Lay <avr@gjlay.de>
2431 * config/avr/avr-protos.h (avr_output_bld): Remove unused prototype.
2432 * config/avr/avr.c (avr_output_bld): Remove unused function.
2433 (avr_out_sbxx_branch): Use "%T" to print bit position.
2435 2012-02-29 Georg-Johann Lay <avr@gjlay.de>
2437 * config/avr/avr.md: Untabify.
2439 2012-02-29 Georg-Johann Lay <avr@gjlay.de>
2441 * config/avr/avr.md (eqne): New code iterator.
2442 (*dec-and-branchsi): Use it in text peephole's condition.
2443 (*dec-and-branchhi): Ditto.
2444 (*dec-and-branchqi): Ditto.
2446 2012-02-29 Georg-Johann Lay <avr@gjlay.de>
2449 * config/avr/avr.h (ASM_SPEC): Add -mno-skip-bug if we know that
2450 the device does not have the skip-bug.
2452 2012-02-29 Oleg Endo <olegendo@gcc.gnu.org>
2454 * doc/invoke.texi (-msoft-atomic): Add more detailed description.
2455 (-mbranch-cost, -mcbranchdi -mcmpeqdi -mfused-madd
2456 -mpretend-cmove): New.
2458 2012-02-29 Jakub Jelinek <jakub@redhat.com>
2461 * df.h (struct df_d): Adjust comment that hard_regs_live_count
2462 doesn't count DEBUG_INSN refs.
2463 * df-scan.c (df_ref_create_structure): Don't set DF_HARD_REG_LIVE
2464 for DEBUG_INSN refs.
2466 2012-02-28 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
2470 2012-02-20 Richard Guenther <rguenther@suse.de>
2471 PR tree-optimization/52298
2472 * tree-vect-stmts.c (vectorizable_load): Properly use
2473 STMT_VINFO_DR_STEP instead of DR_STEP when vectorizing
2476 2012-02-28 Aldy Hernandez <aldyh@redhat.com>
2479 * gimple.h (gimple_in_transaction): New.
2480 (gimple_set_in_transaction): New.
2481 (struct gimple_statement_base): Add in_transaction field.
2482 * tree-ssa-loop-im.c: (movement_possibility): Restrict movement of
2484 (tree_ssa_lim_initialize): Compute transaction bits.
2485 * tree.h (compute_transaction_bits): Protoize.
2486 * trans-mem.c (tm_region_init): Use the heap to store BB
2488 (compute_transaction_bits): New.
2490 2012-02-28 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
2492 * gcc.c (display_help): Document --help=common and sort entries
2495 2012-02-28 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
2497 * doc/install.texi: Document check-$LANG specific shortcuts
2499 2012-02-28 Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
2502 * config/arm/arm.c (neon_builtin_data): Add entries for vcgeu
2504 * config/arm/arm_neon.h: Regenerate.
2505 * config/arm/neon.md (unspec): Add UNSPEC_VCGEU, and UNSPEC_VCGTU.
2506 (neon_vcgeu): New insn.
2507 (neon_vcgtu): Likewise.
2508 * config/arm/neon.ml (s_8_32, u_8_32): New lists.
2509 (ops): Unsigned comparison intrinsics call a different
2512 2012-02-28 Richard Guenther <rguenther@suse.de>
2515 * config/i386/i386.c (ix86_expand_vector_set): Fix element
2516 ordering for the VEC_CONCAT for two element vectors for
2517 V2SFmode, V2SImode and V2DImode.
2519 2012-02-28 Richard Earnshaw <rearnsha@arm.com>
2522 * config.gcc (arm*-*-linux*): Use an unambiguous pattern for
2523 detecting big-endian triplets.
2525 2012-02-28 Richard Earnshaw <rearnsha@arm.com>
2527 * arm.c (aapcs_vfp_is_call_or_return_candidate): Only use the machine
2528 mode if there is no type information available.
2530 2012-02-28 Thomas Koenig <tkoenig@gcc.gnu.org>
2532 PR tree-optimization/53207
2533 * doc/invoke.texi: Document as experimental and relying on graphite.
2535 2012-02-28 Georg-Johann Lay <avr@gjlay.de>
2537 * config/avr/avr-devices.c (avr_mcu_type): Adjust NULL part
2538 of initializer to changes from r184614.
2540 2012-02-28 Richard Guenther <rguenther@suse.de>
2542 PR tree-optimization/52395
2543 * tree-sra.c (build_ref_for_offset): Also look at the base
2544 TYPE_ALIGN when figuring out the alignment of the replacement.
2546 2012-02-28 Richard Guenther <rguenther@suse.de>
2548 PR tree-optimization/52402
2549 * ipa-prop.c (ipa_modify_call_arguments): Properly use
2550 mis-aligned types when creating the accesses at the call site.
2552 2012-02-28 Georg-Johann Lay <avr@gjlay.de>
2554 * config/avr/builtins.def: New file.
2555 * config/avr/t-avr (avr.o, avr-c.o): Depend on it.
2556 * config/avr/avr.c (enum avr_builtin_id): Use it.
2557 (avr_init_builtins): Use it. And use avr_bdesc.
2558 (bdesc_1arg): Remove.
2559 (bdesc_2arg): Remove.
2560 (bdesc_3arg): Remove.
2561 (struct avr_builtin_description): Add field n_args.
2562 (avr_bdesc): New static variable using builtins.def.
2563 (avr_expand_builtin): Use it.
2564 Don't call avr_expand_delay_cycles if op0 is not CONST_INT.
2565 (avr_fold_builtin): Fold AVR_BUILTIN_SWAP.
2566 Don't fold AVR_BUILTIN_INSERT_BITS if arg0 is not INTEGER_CST.
2568 2012-02-28 Georg-Johann Lay <avr@gjlay.de>
2571 * config/avr/avr.md (movmem_<mode>): Replace match_operand that
2572 match only one single hard register with respective hard reg rtx.
2573 (movmemx_<mode>): Ditto.
2574 * config/avr/avr.c (avr_emit_movmemhi): Adapt expanding to new
2575 insn anatomy of movmem[x]_<mode>.
2576 (avr_out_movmem): Same for printing assembler and operand usage.
2578 2012-02-28 Georg-Johann Lay <avr@gjlay.de>
2582 * doc/extend.texi (AVR Named Address Spaces): No more try to fix
2583 address spaces located outside of device flash.
2585 * config/avr/avr.h (base_arch_s): Remove field n_segments.
2586 (mcu_type_s): Add field n_flash.
2587 * config/avr/avr-devices.c (avr_arch_types): Remove .n_segments.
2588 Set .have_elpm and .have_elpmx to 1 for avrxmega4 and avrxmega5.
2589 (AVR_MCU): Add N_FLASH argument.
2590 * config/avr/avr-mcus.def (AVR_MCU): Add initializer for .n_flash.
2591 * config/avr/avr-c.c (avr_cpu_cpp_builtins): Only define built-in
2592 macro __FLASH<n> if that address space makes sense for the device.
2593 * config/avr/avr.c (avr_out_lpm): Don't try to fix address spaces
2594 outside of target flash.
2595 (avr_asm_named_section): Ditto.
2596 (avr_asm_select_section): Ditto.
2597 (avr_addr_space_convert): Ditto.
2598 (avr_emit_movmemhi): Ditto.
2599 (avr_nonconst_pointer_addrspace, avr_pgm_check_var_decl): Error if
2600 address space is outside of device flash.
2601 (avr_insert_attributes): Ditto.
2602 (avr_xload_libgcc_p): Use avr_current_device->n_flash instead of
2603 avr_current_arch->n_segments.
2605 2012-02-27 H.J. Lu <hongjiu.lu@intel.com>
2608 * config/i386/i386.md (*movabs<mode>_1): Enable only for
2610 (*movabs<mode>_2): Likewise.
2612 2012-02-27 Jakub Jelinek <jakub@redhat.com>
2615 * config/arm/neon.md (vashr<mode>3, vlshr<mode>3): Use
2616 s_register_operand in the test instead of REG_P. Don't call
2617 gen_reg_rtx if it won't be used.
2619 PR tree-optimization/52376
2620 * ipa-split.c (split_function): Ignore CLOBBER stmts.
2622 2012-02-27 Stuart Henderson <shenders@gcc.gnu.org>
2624 * ifcvt.c (noce_get_condition): Check condition variable is not
2625 small_register_classes_for_mode_p before accepting.
2627 2012-02-27 Uros Bizjak <ubizjak@gmail.com>
2629 * config/i386/i386.md (*movabs<mode>_1): Fix operand 1 constraints.
2631 2012-02-27 Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
2634 2012-01-09 Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
2635 * config/arm/arm-cores.def (cortex-a15): Use cortex_a15_tune for
2637 * config/arm/arm.c (arm_cortex_a15_tune): New static variable.
2639 2012-02-27 Oleg Endo <olegendo@gcc.gnu.org>
2641 * config/sh/sh.h: Delete dead GO_IF_LEGITIMATE_INDEX macro.
2643 2012-02-26 Oleg Endo <olegendo@gcc.gnu.org>
2645 * config/sh/predicates.md: Remove blank lines.
2646 * config/sh/sh.c: Fix typos in comments.
2647 * config/sh/constraints.md: Likewise.
2648 * config/sh/sh.md: Remove blank lines.
2649 Fix typos in comments. Use ;; as comment characters.
2651 2012-02-26 Walter Lee <walt@tilera.com>
2653 * config/tilegx/tilegx.c (match_pcrel_step2): Fix instruction pattern.
2654 (replace_mov_pcrel_step2): Ditto.
2656 2012-02-25 Alexandre Oliva <aoliva@redhat.com>
2659 * alias.c (refs_newer_value_cb, refs_newer_value_p): New.
2660 (get_addr): Walk canonical value's locs. Avoid returning VALUEs
2661 and locs that reference values newer than the non-canonical value
2662 at hand. Return the canonical value as a worst case.
2663 (memrefs_conflict_p): Walk canonical value's locs.
2666 * cselib.c (preserve_only_constants): Rename to...
2667 (preserve_constants_and_equivs): ... this. Split out...
2668 (invariant_or_equiv_p): ... this. Preserve plus expressions
2669 of other preserved expressions too.
2670 (cselib_reset_table): Adjust.
2671 * var-tracking.c (reverse_op): Use canonical value to build
2674 2012-02-23 Kai Tietz <ktietz@redhat.com>
2676 * config/i386/i386.c (ix86_delegitimize_address): Handle
2677 UNSPEC_PCREL plus displacement.
2679 2012-02-24 Georg-Johann Lay <avr@gjlay.de>
2682 * config/avr/avr.c (avr_out_movhi_mr_r_xmega): Use base
2683 to test for unusedness in st X addressing.
2685 2012-02-24 Richard Guenther <rguenther@suse.de>
2688 * gimple.c (walk_gimple_op): Use predicates with less redundant tests.
2689 (is_gimple_reg_type): Move inline ...
2690 * gimple.h (is_gimple_reg_type): ... here.
2692 2012-02-24 Richard Guenther <rguenther@suse.de>
2695 * passes.c (execute_function_todo): When verifying SSA form
2696 verify gimple form first.
2697 * tree-ssa.c (verify_ssa): Do not verify gimple form here.
2699 2012-02-24 Richard Guenther <rguenther@suse.de>
2702 * fold-const.c (fold_addr_of_array_ref_difference): New function.
2703 (fold_binary_loc): Use it to extend the existing &a[i] - &a[j] folding.
2705 2012-02-13 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
2707 * tree-if-conv (predicate_scalar_phi): Commentary typo fix.
2709 2012-02-23 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
2711 * tree-phinodes.c (make_phi_node): Mark static.
2712 * tree-flow.h (make_phi_node): Remove extern decl.
2713 * doc/gimple.texi (make_phi_node): Remove documentation.
2715 2012-02-23 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
2717 * tree-into-ssa (update_ssa): Avoid trailing whitespace in dump_file.
2718 * tree-ssa-sccvn.c (print_scc): Ditto.
2720 2012-02-23 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
2722 * doc/passes.texi (Full redundancy elimination): Fix typo.
2724 2012-02-23 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
2726 * doc/invoke.texi (-fdse, -fdce): Remove duplicate entries.
2728 2012-02-23 Eric Botcazou <ebotcazou@adacore.com>
2731 * haifa-sched.c (rank_for_schedule): Stabilize sort for debug insns.
2733 2012-02-23 Uros Bizjak <ubizjak@gmail.com>
2736 * c-decl.c (start_function): Exit early if decl1 is not FUNTION_DECL.
2738 2012-02-23 Georg-Johann Lay <avr@gjlay.de>
2740 * config/avr/avr.md (code_stdname): Add ior, xor.
2741 (xior): New code iterator.
2742 (*<code_stdname><mode>qi.byte0): Use xior instead of ior.
2743 (*<code_stdname><mode>qi.byte1-3): Ditto.
2745 2012-02-23 Jakub Jelinek <jakub@redhat.com>
2747 PR tree-optimization/52019
2748 * ipa-split.c (find_return_bb, find_retval, visit_bb): Ignore
2751 2012-02-23 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
2753 * acinclude.m4: Use HAVE_INITFINI_ARRAY_SUPPORT instead of
2754 HAVE_INITFINI_ARRAY to work around namespace pollution in
2755 certain versions of newlib system headers.
2756 * config.in: Regenerate.
2757 * configure: Regenerate.
2758 * config/initfini-array.h: Use HAVE_INITFINI_ARRAY_SUPPORT
2759 instead of HAVE_INITFINI_ARRAY.
2761 2012-02-22 Uros Bizjak <ubizjak@gmail.com>
2764 * config/i386/i386.c (ix86_print_operand) <case 'H'>: Error out if x
2765 is not offsettable memory reference.
2767 2012-02-22 Georg-Johann Lay <avr@gjlay.de>
2770 * config/avr/avr.c (avr_asm_output_aligned_decl_common): Skip
2771 setting avr_need_clear_bss_p for __gnu_lto* symbols.
2773 2012-02-22 Georg-Johann Lay <avr@gjlay.de>
2775 * config/avr/avr.h (avr_accumulate_outgoing_args): Return int.
2776 * config/avr/avr.c (avr_accumulate_outgoing_args): Return int.
2778 2012-02-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2780 * configure.ac (LIB_TLS_SPEC): Enforce use of alternate thread
2781 library on Solaris 8 even without TLS support.
2782 * configure: Regenerate.
2784 2012-02-22 Richard Guenther <rguenther@suse.de>
2787 * gimple-fold.c (fold_stmt_1): Also canonicalize ADDR_EXPRs
2788 for GIMPLE_DEBUG stmts.
2790 2012-02-22 Martin Jambor <mjambor@suse.cz>
2793 * emit-rtl.c (set_mem_attributes_minus_bitpos): Set address space
2794 according to the base object.
2796 2012-02-22 Georg-Johann Lay <avr@gjlay.de>
2798 PR rtl-optimization/50063
2799 * config/avr/avr.md (movhi_sp_r): Handle -1 (unknown IRQ state)
2800 and 2 (8-bit SP) in operand 2.
2801 * config/avr/avr.c (avr_prologue_setup_frame): Adjust prologue
2802 setup to use movhi_sp_r instead of vanilla move to write SP.
2803 Adjust REG_CFA notes to superseed unspec.
2804 (expand_epilogue): Adjust epilogue setup to use movhi_sp_r instead
2806 As function body might contain CLI or SEI: Use irq_state 0 (IRQ
2807 known to be off) only with TARGET_NO_INTERRUPTS. Never use
2808 irq_state 1 (IRQ known to be on) here.
2810 2012-02-21 Bernd Schmidt <bernds@codesourcery.com>
2812 * ira.c (check_allocation): Use REG_WORDS_BIG_ENDIAN, not
2814 * ira-color.c (setup_profitable_hard_regs, check_hard_reg_p,
2815 assign_hard_reg): Likewise.
2817 2012-02-21 Georg-Johann Lay <avr@gjlay.de>
2819 * config/avr/avr.md (neghi2): Remove "!d,0" alternative. Tweak "r,0".
2821 2012-02-21 Georg-Johann Lay <avr@gjlay.de>
2824 (*dec-and-branchhi!=-1.d.clobber): New text peephole.
2825 (*dec-and-branchhi!=-1.l.clobber): New text peephole.
2827 2012-02-21 Georg-Johann Lay <avr@gjlay.de>
2829 * config/avr/avr-protos.h (avr_accumulate_outgoing_args): Move
2830 prototype from here to...
2831 * config/avr/avr.h: ...here.
2833 2012-02-21 Richard Earnshaw <rearnsha@arm.com>
2836 * thumb2.md (thumb2_shiftsi3_short): Split register and
2837 immediate shifts. For register shifts tie operands 0 and 1.
2838 (peephole2 for above): Check that register-controlled shifts
2839 have suitably tied operands.
2841 2012-02-21 Quentin Neill <quentin.neill@amd.com>
2844 * config/i386/bdver1.md (bdver1_call, bdver1_push,
2845 bdver1_pop, bdver1_leave, bdver1_lea, bdver1_imul_DI, bdver1_imul,
2846 bdver1_imul_mem_DI, bdver1_imul_mem, bdver1_idiv, bdver1_idiv_mem,
2847 bdver1_str, bdver1_idirect, bdver1_ivector, bdver1_idirect_loadmov,
2848 bdver1_idirect_load, bdver1_ivector_load, bdver1_idirect_movstore,
2849 bdver1_idirect_both, bdver1_ivector_both, bdver1_idirect_store,
2850 bdver1_ivector_store, bdver1_fldxf, bdver1_fld, bdver1_fstxf,
2851 bdver1_fst, bdver1_fist, bdver1_fmov_bdver1, bdver1_fadd_load,
2852 bdver1_fadd, bdver1_fmul_load, bdver1_fmul, bdver1_fsgn,
2853 bdver1_fdiv_load, bdver1_fdiv, bdver1_fpspc_load, bdver1_fpspc,
2854 bdver1_fcmov_load, bdver1_fcmov, bdver1_fcomi_load,
2855 bdver1_fcomi, bdver1_fcom_load, bdver1_fcom,
2856 bdver1_fxch, bdver1_ssevector_avx128_unaligned_load,
2857 bdver1_ssevector_avx256_unaligned_load,
2858 bdver1_ssevector_sse128_unaligned_load,
2859 bdver1_ssevector_avx128_load, bdver1_ssevector_avx256_load,
2860 bdver1_ssevector_sse128_load, bdver1_ssescalar_movq_load,
2861 bdver1_ssescalar_vmovss_load, bdver1_ssescalar_sse128_load,
2862 bdver1_mmxsse_load, bdver1_sse_store_avx256, bdver1_sse_store,
2863 bdver1_mmxsse_store_short, bdver1_ssevector_avx256,
2864 bdver1_movss_movsd, bdver1_mmxssemov, bdver1_sselog_load_256,
2865 bdver1_sselog_256, bdver1_sselog_load, bdver1_sselog,
2866 bdver1_ssecmp_load, bdver1_ssecmp, bdver1_ssecomi_load,
2867 bdver1_ssecomi, bdver1_vcvtX2Y_avx256_load, bdver1_vcvtX2Y_avx256,
2868 bdver1_ssecvt_cvtss2sd_load, bdver1_ssecvt_cvtss2sd,
2869 bdver1_sseicvt_cvtsi2sd_load, bdver1_sseicvt_cvtsi2sd,
2870 bdver1_ssecvt_cvtpd2ps_load, bdver1_ssecvt_cvtpd2ps,
2871 bdver1_ssecvt_cvtdq2ps_load, bdver1_ssecvt_cvtdq2ps,
2872 bdver1_ssecvt_cvtdq2pd_load, bdver1_ssecvt_cvtdq2pd,
2873 bdver1_ssecvt_cvtps2pd_load, bdver1_ssecvt_cvtps2pd,
2874 bdver1_ssecvt_cvtsX2si_load, bdver1_ssecvt_cvtsX2si,
2875 bdver1_ssecvt_cvtpd2pi_load, bdver1_ssecvt_cvtpd2pi,
2876 bdver1_ssecvt_cvtpd2dq_load, bdver1_ssecvt_cvtpd2dq,
2877 bdver1_ssecvt_cvtps2pi_load, bdver1_ssecvt_cvtps2pi,
2878 bdver1_ssemuladd_load_256, bdver1_ssemuladd_256,
2879 bdver1_ssemuladd_load, bdver1_ssemuladd, bdver1_sseimul_load,
2880 bdver1_sseimul, bdver1_sseiadd_load, bdver1_sseiadd,
2881 bdver1_ssediv_double_load_256, bdver1_ssediv_double_256,
2882 bdver1_ssediv_single_load_256, bdver1_ssediv_single_256,
2883 bdver1_ssediv_double_load, bdver1_ssediv_double,
2884 bdver1_ssediv_single_load, bdver1_ssediv_single, bdver1_sseins):
2885 Add "bdver2" attribute.
2887 2012-02-21 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
2889 * config/s390/s390.c (s390_option_override): Make -mhard-dfp the
2890 default if possible and not specified otherwise.
2892 2012-02-21 Richard Guenther <rguenther@suse.de>
2895 * gimplify.c (create_tmp_from_val): Use the main variant type
2896 for the type of the temporary we create.
2898 2012-02-21 Richard Guenther <rguenther@suse.de>
2900 PR tree-optimization/52324
2901 * gimplify.c (gimplify_expr): When re-gimplifying expressions
2902 do not gimplify a MEM_REF address operand if it is already
2905 2012-02-21 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
2907 * config/s390/s390.md ("fixuns_trunc<mode>si2"): Replace
2908 TARGET_HARD_FLOAT with TARGET_HARD_DFP.
2910 2012-02-21 Richard Guenther <rguenther@suse.de>
2912 * tree-vect-stmts.c (vectorizable_load): Use pre-computed
2913 nested_in_vect_loop.
2915 2012-02-21 Jakub Jelinek <jakub@redhat.com>
2917 PR tree-optimization/52318
2918 * gimple-fold.c (gimplify_and_update_call_from_tree): Add
2919 vdef also to non-pure/const call stmts in the sequence.
2921 2012-02-20 David S. Miller <davem@davemloft.net>
2923 * config/sparc/sparc.md (load_pcrel_sym<P:mode>): Explain why we
2924 don't use the "rd %pc" instruction on v9 for PIC register loads.
2926 2012-02-20 Aldy Hernandez <aldyh@redhat.com>
2929 * trans-mem.c (ipa_tm_scan_irr_block): Error out on GIMPLE_ASM's
2930 in a transaction safe function.
2932 2012-02-20 Kai Tietz <ktietz@redhat.com>
2935 * stor-layout.c (place_field): Handle desired_align for
2938 2012-02-20 Richard Guenther <rguenther@suse.de>
2940 PR tree-optimization/52298
2941 * tree-vect-stmts.c (vectorizable_store): Properly use
2942 STMT_VINFO_DR_STEP instead of DR_STEP when vectorizing
2944 (vectorizable_load): Likewise.
2945 * tree-vect-data-refs.c (vect_analyze_data_ref_access):
2946 Access DR_STEP after ensuring it is not NULL.
2948 2012-02-20 Jakub Jelinek <jakub@redhat.com>
2950 PR tree-optimization/52286
2951 * fold-const.c (fold_binary_loc): For (X & C1) | C2
2952 optimization use double_int_to_tree instead of build_int_cst_wide,
2953 rewrite to use double_int vars.
2955 2012-02-20 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2958 * acinclude.m4 (gcc_AC_INITFINI_ARRAY): Require gcc_SUN_LD_VERSION.
2960 Remove -e 0 from $gcc_cv_ld invocation.
2961 Only use __GLIBC_PREREQ if defined.
2962 Enable on Solaris since Solaris 8 patch.
2963 (gcc_SUN_LD_VERSION): New macro.
2964 * configure.ac (ld_ver) <*-*-solaris2*>: Refer to
2965 gcc_SUN_LD_VERSION for version number format.
2966 * configure: Regenerate.
2967 * varasm.c (get_elf_initfini_array_priority_section): Set
2968 SECTION_NOTYPE for non-default priority.
2969 Use get_section instead of get_unnamed_section to emit
2970 .init_array/.fini_array with default priority.
2972 2012-02-19 Richard Sandiford <rdsandiford@googlemail.com>
2974 * config/mips/mips.c (mips_need_mips16_rdhwr_p): New variable.
2975 (mips_get_tp): Set it. Record that __mips16_rdhwr binds locally.
2976 (mips_start_unique_function, mips_output_mips16_rdhwr)
2977 (mips_code_end): New functions.
2978 (TARGET_ASM_CODE_END): Define.
2980 2012-02-19 Richard Sandiford <rdsandiford@googlemail.com>
2982 * config/mips/mips.c (mips16_build_call_stub): Add CFI information
2983 to stubs with non-sibling calls.
2985 2012-02-18 Sandra Loosemore <sandra@codesourcery.com>
2987 * doc/invoke.texi (-fira-* options): Copy-edit.
2988 (ira-* parameters): Copy-edit.
2990 2012-02-17 Sandra Loosemore <sandra@codesourcery.com>
2992 * doc/invoke.texi: Minor copy-edits to bring into conformance with
2993 GCC coding conventions.
2995 2012-02-17 Sandra Loosemore <sandra@codesourcery.com>
2997 * doc/invoke.texi: Consistently hyphenate "big-endian"/"little-endian"
2998 when used as adjectives.
3000 2012-02-16 Sandra Loosemore <sandra@codesourcery.com>
3002 * doc/invoke.texi: Clean up "that"/"which" confusion.
3004 2012-02-17 Steven Bosscher <steven@gcc.gnu.org>
3006 * system.h: Poison SMALL_REGISTER_CLASSES
3007 * config/rl78/rl78.h: Replace SMALL_REGISTER_CLASSES with hook.
3008 * config/rx/rx.h: Remove SMALL_REGISTER_CLASSES.
3010 2012-02-16 Jakub Jelinek <jakub@redhat.com>
3012 PR tree-optimization/52285
3013 * tree-tailcall.c (find_tail_calls): Ignore gimple_clobber_p stmts
3014 when deciding if a call is a tail call or tail recursion.
3016 2012-02-16 Kai Tietz <ktietz@redhat.com>
3018 * config/i386/i386.c (legitimate_pic_address_disp_p): Allow
3019 interger-constant displacement for UNSPEC_PCREL.
3021 2012-02-16 Jakub Jelinek <jakub@redhat.com>
3023 PR rtl-optimization/52208
3024 * ira-costs.c (scan_one_insn): Don't decrease mem_cost
3025 for MEMs with REG_EQUIV, if the MEM isn't general_operand.
3027 PR tree-optimization/52255
3028 * tree-vect-loop-manip.c (slpeel_tree_peel_loop_to_edge): If
3029 loop->header has virtual PHI, but exit_e->dest doesn't, add
3030 virtual PHI to exit_e->dest and adjust all uses after the loop.
3033 * dwarf2out.c (copy_decls_walk): Fill in *slot before traversing
3034 children with clone_tree_hash, not after it.
3036 2012-02-16 Iain Sandoe <iains@gcc.gnu.org>
3038 * config/darwin.h (ASM_OUTPUT_LABELREF): Add user label prefix for
3039 extended identifiers.
3041 2012-02-16 Jakub Jelinek <jakub@redhat.com>
3044 * cgraphunit.c (verify_edge_corresponds_to_fndecl): If node is
3045 a same_body_alias, also test whether e->callee isn't a former
3046 or current clone of the decl this is a same body alias of.
3048 PR translation/52264
3049 * cgraphunit.c (verify_cgraph_node): Fix a typo.
3051 2012-02-15 Sandra Loosemore <sandra@codesourcery.com>
3053 * doc/invoke.texi: Clean up "n-bit/byte/word" modifiers.
3055 2012-02-15 Michael Meissner <meissner@linux.vnet.ibm.com>
3058 * config/rs6000/rs6000.c (rs6000_expand_vector_init): Use
3059 force_reg instead of copy_to_reg for better optimization. Force
3060 non-register or memory operands into a register.
3062 2012-02-15 Andrew MacLeod <amacleod@redhat.com>
3064 * extend.texi: Reserve upper bits of memory model for future use.
3066 2012-01-15 Georg-Johann Lay <avr@gjlay.de>
3067 Anatoly Sokolov <aesok@post.ru>
3068 Eric Weddington <eric.weddington@atmel.com>
3071 * config/avr/avr-devices.c (avr_arch_types): Add avrxmega2,
3072 avrxmega4, avrxmega5, avrxmega6, avrxmega7.
3073 Rewrite initializers for .macro.
3074 * config/avr/avr-mcus.def (AVR_MCU): Add known MCUs:
3075 avrxmega2: atxmega16a4, atxmega16d4, atxmega16x1, atxmega32a4
3076 atxmega32d4, atxmega32x1.
3077 avrxmega4: atxmega64a3, atxmega64d3.
3078 avrxmega5: atxmega64a1, atxmega64a1u.
3079 avrxmega6: atxmega128a3, atxmega128d3, atxmega192a3, atxmega192d3,
3080 atxmega256a3, atxmega256a3b, atxmega256a3bu, atxmega256d3.
3081 avrxmega7: atxmega128a1, atxmega128a1u.
3082 * config/avr/avr.h (enum avr_arch): Add: ARCH_AVRXMEGA2,
3083 ARCH_AVRXMEGA4, ARCH_AVRXMEGA5, ARCH_AVRXMEGA6, ARCH_AVRXMEGA7.
3084 (struct base_arch_s): Rename reserved to xmega_p.
3085 Rename reserved2 to have_rampd.
3086 (AVR_XMEGA): New define.
3087 (AVR_HAVE_RAMPD, AVR_HAVE_RAMPX, AVR_HAVE_RAMPY): New defines.
3088 (AVR_HAVE_RAMPZ): Change definition to fit xmega.
3089 * config/avr/predicates.md (io_address_operand): Take into
3091 (low_io_address_operand): Ditto.
3092 (high_io_address_operand): Ditto.
3093 * config/avr/avr.md (isa): Add alternatives no_xmega, xmega.
3094 (enabled, movhi_sp_r): Use them.
3095 * config/avr/avr-c.c (avr_cpu_cpp_builtins): Use
3096 cpp_define_formatted to built-in define __AVR_ARCH__.
3097 (__AVR_XMEGA__): New built-in define.
3098 (__AVR_HAVE_RAMPD__): New built-in define.
3099 (__AVR_HAVE_RAMPX__): New built-in define.
3100 (__AVR_HAVE_RAMPY__): New built-in define.
3101 (__AVR_HAVE_RAMPZ__): Change condition when to built-in define it.
3103 * config/avr/avr.c (avr_addr_t): Add ccp, rampd, rampx, rampy.
3104 (avr_option_override): Initialize them.
3105 (sreg_rtx, rampd_rtx, rampx_rtx, rampy_rtx): New GTY rtx.
3106 (avr_init_expanders): Initialize them. No more block several calls.
3107 (emit_push_sfr): New static function.
3108 (avr_prologue_setup_frame): Use it to push SREG, RAMPD/X/Y/Z as needed.
3110 (expand_epilogue): Handle AVR_XMEGA. Pop RAMPD/X/Y/Z as needed.
3111 (avr_print_operand): Print addreeses as symbols for
3112 RAMPX, RAMPY, RAMPD, CCP.
3113 (output_movhi): Handle AVR_XMEGA when writing to SP.
3114 (avr_out_movhi_mr_r_xmega): New static function.
3115 (out_movhi_mr_r): Forward to avr_out_movhi_mr_r_xmega for AVR_XMEGA.
3116 (avr_file_start): Print symbol defines for __RAMPX__, __RAMPY__,
3117 __RAMPD__, __CCP__ as needed.
3119 * config/avr/multilib.h: Regenerate.
3120 * config/avr/t-multilib: Regenerate.
3121 * config/avr/avr-tables.opt: Regenerate.
3123 2012-02-15 Tobias Grosser <grosser@fim.uni-passau.de>
3125 PR tree-optimization/50561
3126 * graphite-flattening.c (lst_project_loop): Do not
3127 remove old scattering dimensions after flattening.
3128 (lst_do_flatten): Likewise.
3130 2012-02-15 Georg-Johann Lay <avr@gjlay.de>
3132 * doc/extend.texi (AVR Built-in Functions): Remove doc for
3133 __builtin_avr_map8, __builtin_avr_map16.
3134 Document __builtin_avr_insert_bits.
3136 * config/avr/avr.md (map_bitsqi, map_bitshi): Remove.
3137 (insert_bits): New insn.
3138 (adjust_len.map_bits): Rename to insert_bits.
3139 (UNSPEC_MAP_BITS): Rename to UNSPEC_INSERT_BITS.
3140 * avr-protos.h (avr_out_map_bits): Remove.
3141 (avr_out_insert_bits, avr_has_nibble_0xf): New.
3142 * config/avr/constraints.md (Cxf,C0f): New.
3143 * config/avr/avr.c (avr_cpu_cpp_builtins): Remove built-in
3144 defines __BUILTIN_AVR_MAP8, __BUILTIN_AVR_MAP16.
3145 New built-in define __BUILTIN_AVR_INSERT_BITS.
3146 * config/avr/avr.c (TARGET_FOLD_BUILTIN): New define.
3147 (enum avr_builtin_id): Add AVR_BUILTIN_INSERT_BITS.
3148 (avr_move_bits): Rewrite.
3149 (avr_fold_builtin, avr_map_metric, avr_map_decompose): New static
3151 (avr_map_op_t): New typedef.
3152 (avr_map_op): New static variable.
3153 (avr_out_insert_bits, avr_has_nibble_0xf): New functions.
3154 (adjust_insn_length): Handle ADJUST_LEN_INSERT_BITS.
3155 (avr_init_builtins): Add definition for __builtin_avr_insert_bits.
3156 (bdesc_3arg, avr_expand_triop_builtin): New.
3157 (avr_expand_builtin): Use them. And handle AVR_BUILTIN_INSERT_BITS.
3158 (avr_revert_map, avr_swap_map, avr_id_map, avr_sig_map): Remove.
3159 (avr_map_hamming_byte, avr_map_hamming_nonstrict): Remove.
3160 (avr_map_equal_p, avr_map_sig_p): Remove.
3161 (avr_out_swap_bits, avr_out_revert_bits, avr_out_map_bits): Remove.
3162 (bdesc_2arg): Remove AVR_BUILTIN_MAP8, AVR_BUILTIN_MAP16.
3163 (adjust_insn_length): Remove handling for ADJUST_LEN_MAP_BITS.
3164 (enum avr_builtin_id): Remove AVR_BUILTIN_MAP8, AVR_BUILTIN_MAP16.
3165 (avr_init_builtins): Remove __builtin_avr_map8, __builtin_avr_map16.
3166 (avr_expand_builtin): Remove AVR_BUILTIN_MAP8, AVR_BUILTIN_MAP16.
3168 2012-02-14 Bernd Schmidt <bernds@codesourcery.com>
3170 * config/c6x/c6x.md (reserve_cycles): New attribute.
3171 * config/c6x/c6x.c (c6x_sched_reorder_1): Ensure insns we predicate
3172 don't reserve functional units after the branch occurs.
3174 2012-02-14 Aldy Hernandez <aldyh@redhat.com>
3177 * ipa-inline.c (can_inline_edge_p): Do not inline tm_pure
3178 functions into non-tm_pure functions.
3180 2012-02-14 Eric Botcazou <ebotcazou@adacore.com>
3183 * gimple.c (iterative_hash_gimple_type): Use RECORD_OR_UNION_TYPE_P.
3184 (iterative_hash_canonical_type): Likewise.
3185 * tree-ssa-pre.c (fini_pre): Clean up the CFG only after purging all
3188 2012-02-14 Bernd Schmidt <bernds@codesourcery.com>
3190 * haifa-sched.c (prune_ready_list): Ensure that if there is a
3191 sched-group insn, it either remains alone or the entire list is pruned.
3193 2012-02-14 Jonathan Wakely <jwakely.gcc@gmail.com>
3195 * doc/install.texi (Prerequisites): Fix grammar.
3196 (Configuration): Likewise.
3198 2012-02-14 Jonathan Wakely <jwakely.gcc@gmail.com>
3200 * doc/install.texi (Prerequisites): Suggest building GMP, MPFR and
3201 MPC as part of GCC before describing configuring with --with-gmp etc.
3202 (Installing GCC: Configuration): --with-gmp etc. aren't needed if
3203 sources are present.
3205 2012-02-14 Jakub Jelinek <jakub@redhat.com>
3208 * dwarf2out.c (clone_tree_hash): New function.
3209 (copy_decls_walk): Use it instead of clone_tree.
3211 2012-02-14 Richard Guenther <rguenther@suse.de>
3213 PR tree-optimization/52244
3214 PR tree-optimization/51528
3215 * tree-sra.c (analyze_access_subtree): Only create INTEGER_TYPE
3216 replacements for integral types.
3218 2012-02-14 Walter Lee <walt@tilera.com>
3220 * config.gcc: Handle tilegx and tilepro.
3221 * configure.ac (gcc_cv_as_dwarf2_debug_line): Enable test for
3223 Add HAVE_AS_TLS check for tilegx and tilepro.
3224 * configure: Regenerate.
3225 * doc/contrib.texi: Add Mat Hostetter and self.
3226 * doc/extend.texi (TILE-Gx Built-in Functions): New node.
3227 Document instruction intrinsics and network accessing intrinsics.
3228 (TILEPro Built-in Functions): New node. Document instruction
3229 intrinsics and network accessing intrinsics.
3230 * doc/install.texi (Specific, tilegx-*-linux*): Document it.
3231 (Specific, tilepro-*-linux*): Likewise.
3232 * doc/invoke.texi (TILE-Gx Options): New section.
3233 (TILEPro Options): New section.
3234 * doc/md.texi (TILE-Gx): New section.
3235 (TILEPro): New section.
3236 * common/config/tilegx/tilegx-common.c: New file.
3237 * common/config/tilepro/tilepro-common.c: New file.
3238 * config/tilegx/constraints.md: New file.
3239 * config/tilegx/linux.h: New file.
3240 * config/tilegx/mul-tables.c: New file.
3241 * config/tilegx/predicates.md: New file.
3242 * config/tilegx/sync.md: New file.
3243 * config/tilegx/t-tilegx: New file.
3244 * config/tilegx/tilegx-builtins.h: New file.
3245 * config/tilegx/tilegx-c.c: New file.
3246 * config/tilegx/tilegx-generic.md: New file.
3247 * config/tilegx/tilegx-modes.def: New file.
3248 * config/tilegx/tilegx-multiply.h: New file.
3249 * config/tilegx/tilegx-protos.h: New file.
3250 * config/tilegx/tilegx.c: New file.
3251 * config/tilegx/tilegx.h: New file.
3252 * config/tilegx/tilegx.md: New file.
3253 * config/tilegx/tilegx.opt: New file.
3254 * config/tilepro/constraints.md: New file.
3255 * config/tilepro/gen-mul-tables.cc: New file.
3256 * config/tilepro/linux.h: New file.
3257 * config/tilepro/mul-tables.c: New file.
3258 * config/tilepro/predicates.md: New file.
3259 * config/tilepro/t-tilepro: New file.
3260 * config/tilepro/tilepro-builtins.h: New file.
3261 * config/tilepro/tilepro-c.c: New file.
3262 * config/tilepro/tilepro-generic.md: New file.
3263 * config/tilepro/tilepro-modes.def: New file.
3264 * config/tilepro/tilepro-multiply.h: New file.
3265 * config/tilepro/tilepro-protos.h: New file.
3266 * config/tilepro/tilepro.c: New file.
3267 * config/tilepro/tilepro.h: New file.
3268 * config/tilepro/tilepro.md: New file.
3269 * config/tilepro/tilepro.opt: New file.
3271 2012-02-14 Jakub Jelinek <jakub@redhat.com>
3273 PR tree-optimization/52210
3274 * tree-vect-slp.c (vect_get_and_check_slp_defs): Call
3275 vect_model_simple_cost with two entry vect_def_type array instead
3276 of an address of dt.
3278 2012-02-14 Richard Guenther <rguenther@suse.de>
3281 * tree-streamer-in.c (lto_input_ts_field_decl_tree_pointers):
3282 Do not stream DECL_QUALIFIER.
3283 * tree-streamer-out.c (write_ts_field_decl_tree_pointers): Likewise.
3284 * tree.c (free_lang_data_in_decl): Free DECL_QUALIFIER.
3285 (find_decls_types_r): Do not walk DECL_QUALIFIER.
3287 2012-02-14 Jakub Jelinek <jakub@redhat.com>
3290 * c-decl.c (merge_decls): Copy DECL_USER_ALIGN bit from olddecl to
3293 2012-02-13 Jakub Jelinek <jakub@redhat.com>
3296 * cselib.h (cselib_subst_to_values_from_insn): New prototype.
3297 * cselib.c (cselib_subst_to_values_from_insn): New function.
3298 * sched-deps.c (add_insn_mem_dependence,
3299 sched_analyze_1, sched_analyze_2): Use it.
3301 2012-02-13 Jan Hubicka <jh@suse.cz>
3304 * predict.c (predict_paths_for_bb): Fix thinko in prevoius patch.
3306 2012-02-13 Eric Botcazou <ebotcazou@adacore.com>
3308 * gcc.c (LINK_COMMAND_SPEC): Deal with -fgnu-tm.
3309 (GTM_SELF_SPECS): Define if not already defined.
3310 (driver_self_specs): Add GTM_SELF_SPECS.
3311 * config/darwin.h (LINK_COMMAND_SPEC_A): Deal with -fgnu-tm.
3312 (GTM_SELF_SPECS): Define.
3313 * config/i386/cygwin.h (GTM_SELF_SPECS): Likewise.
3314 * config/i386/mingw32.h (GTM_SELF_SPECS): Likewise.
3316 2012-02-13 Jakub Jelinek <jakub@redhat.com>
3318 * cselib.c (expand_loc): Return sp, fp, hfp or cfa base reg right
3321 * cselib.c (dump_cselib_val): Don't assume l->setting_insn is non-NULL.
3324 * omp-low.c (expand_omp_for): If a static schedule without chunk size
3325 has NULL region->cont, force fd.chunk_size to be integer_zero_node.
3327 2012-02-13 Andrew MacLeod <amacleod@redhat.com>
3330 * doc/extend.texi : Fix another __atomic_compare_exchange typo.
3332 2012-02-13 Richard Guenther <rguenther@suse.de>
3334 PR translation/52211
3335 * passes.c (enable_disable_pass): Fix typo.
3337 2012-02-13 Jakub Jelinek <jakub@redhat.com>
3340 * expr.c (expand_expr_real_2) <case BIT_NOT_EXPR>: Only expand using
3341 XOR for reduce_bit_field if type is unsigned.
3343 2012-02-12 Eric Botcazou <ebotcazou@adacore.com>
3345 * config/sparc/sparc.h (CANNOT_CHANGE_MODE_CLASS): In 64-bit mode,
3346 disallow changes from SFmode to mode with different size in FP regs.
3348 2012-02-12 Robert Millan <rmh@gnu.org>
3349 Gerald Pfeifer <gerald@pfeifer.com>
3351 * ginclude/stddef.h [__FreeBSD_kernel__] (__size_t): Do not define.
3354 2012-02-11 Richard Sandiford <rdsandiford@googlemail.com>
3356 PR rtl-optimization/52175
3357 * reorg.c (fill_slots_from_thread): Don't apply add/sub optimization
3358 to frame-related instructions.
3360 2012-02-10 Jason Merrill <jason@redhat.com>
3363 * tlink.c (demangled_hash_entry): Change mangled to a VEC.
3364 (demangle_new_symbols): Fill it.
3365 (scan_linker_output): Walk it.
3366 (start_tweaking): Split out from scan_linker_output.
3367 (maybe_tweak): Update sym->chosen.
3368 * Makefile.in (COLLECT2_OBJS): Add vec.o and gcc-none.o
3370 2012-02-11 Jakub Jelinek <jakub@redhat.com>
3373 * reg-stack.c (subst_stack_regs_in_debug_insn): Don't use get_true_reg.
3375 2012-02-11 Uros Bizjak <ubizjak@gmail.com>
3377 * compare-elim.c (find_comparisons_in_bb): Eliminate only compares
3378 having the same mode as previous compare.
3380 2012-02-10 Eric Botcazou <ebotcazou@adacore.com>
3382 * config/sparc/sparc.c (sparc_flat_expand_prologue): Use emit_use.
3383 * config/sparc/sparc.md (UNSPECV_GOTO): Delete.
3384 (nonlocal_goto_internal): Likewise.
3385 (nonlocal_goto): Emit a use and an indirect jump directly.
3387 2012-02-10 Andrew MacLeod <amacleod@redhat.com>
3390 * doc/extend.texi : Update comments for __atomic_compare_exchange and
3391 __atomic_{is,always}_lock_free.
3393 2012-02-10 Uros Bizjak <ubizjak@gmail.com>
3396 * config/i386/i386.c (ix86_legitimate_address_p): Disallow
3397 negative constant address for x32.
3399 2012-02-10 Richard Henderson <rth@redhat.com>
3401 * tree-ssa-dce.c (propagate_necessity): Handle GIMPLE_TRANSACTION.
3402 * tree-ssa-operands.c (parse_ssa_operands): Add virtual operands
3403 for GIMPLE_TRANSACTION. Tidy if's into a switch.
3405 2012-02-10 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
3406 Ira Rosen <irar@il.ibm.com>
3408 PR tree-optimization/50031
3409 * targhooks.c (default_builtin_vectorization_cost): Handle
3411 * target.h (enum vect_cost_for_stmt): Add vec_promote_demote.
3412 * tree-vect-loop.c (vect_get_single_scalar_iteraion_cost): Handle
3413 all types of reduction and pattern statements.
3414 (vect_estimate_min_profitable_iters): Likewise.
3415 * tree-vect-stmts.c (vect_model_promotion_demotion_cost): New function.
3416 (vect_get_load_cost): Use vec_perm for permutations; add dump logic
3417 for explicit realigns.
3418 (vectorizable_conversion): Call vect_model_promotion_demotion_cost.
3419 * config/spu/spu.c (spu_builtin_vectorization_cost): Handle
3421 * config/i386/i386.c (ix86_builtin_vectorization_cost): Likewise.
3422 * config/rs6000/rs6000.c (rs6000_builtin_vectorization_cost): Update
3423 vec_perm for VSX and handle vec_promote_demote.
3425 2012-02-10 Jakub Jelinek <jakub@redhat.com>
3428 * builtins.c (fold_builtin_atomic_always_lock_free,
3429 expand_builtin_atomic_always_lock_free,
3430 fold_builtin_atomic_is_lock_free, expand_builtin_atomic_is_lock_free):
3431 Return and/or test boolean_true_node/boolean_false_node instead of
3432 integer_one_node/integer_zero_node.
3434 2012-02-10 Jan Hubicka <jh@suse.cz>
3437 * predict.c (predict_paths_for_bb): Prevent looping.
3438 (predict_paths_leading_to_edge, predict_paths_leading_to): Update.
3440 2012-02-10 Roman Zhuykov <zhroma@ispras.ru>
3442 * config/arm/arm.c (output_move_double): In one case properly
3443 count number of instructions that will be emitted.
3445 2012-02-10 Richard Guenther <rguenther@suse.de>
3447 PR translation/52193
3448 * cgraphunit.c (cgraph_mark_functions_to_output): Fix typo.
3450 2012-02-09 Peter Bergner <bergner@vnet.ibm.com>
3453 * dojump.c (do_compare_rtx_and_jump): Use SCALAR_FLOAT_MODE_P.
3455 2012-02-09 Jakub Jelinek <jakub@redhat.com>
3458 * var-tracking.c (emit_note_insn_var_location): If
3459 EMIT_NOTE_BEFORE_INSN and insn is NOTE_INSN_CALL_ARG_LOCATION,
3460 emit it before next non-NOTE_INSN_CALL_ARG_LOCATION
3461 non-NOTE_DURING_CALL_P insn.
3463 2012-02-09 Bin Cheng <bin.cheng@arm.com>
3466 * builtins.c (expand_builtin): Don't check DECL_ASSEMBLER_NAME_SET_P.
3468 2012-02-08 Magnus Granberg <zorry@gentoo.org>
3471 * gcc.c (switch_matches) Support switches with separated form,
3474 2012-02-08 Georg-Johann Lay <avr@gjlay.de>
3476 * config/avr/avr.md (SREG_ADDR): Remove constant definition.
3478 (RAMPZ_ADDR): Ditto.
3479 * config/avr/avr.c (avr_addr_t): New typedef.
3480 (avr_addr): New struct to hold RAM address of SPL, SPH, RAMPZ, SREG.
3481 (avr_init_expanders): Initialize it.
3482 (expand_prologue): Use avr_addr instead of RAMPZ_ADDR, SP_ADDR,
3484 (expand_epilogue): Ditto.
3485 (avr_print_operand): Ditto.
3486 (avr_file_start): Ditto.
3487 (avr_emit_movmemhi): Ditto.
3489 2012-02-08 Richard Guenther <rguenther@suse.de>
3491 PR tree-optimization/46886
3492 * tree-flow.h (do_while_loop_p): Declare.
3493 * tree-ssa-loop-ch.c (do_while_loop_p): Export.
3494 * tree-parloops.c (parallelize_loops): Only parallelize do-while loops.
3496 2012-02-08 Andrew MacLeod <amacleod@redhat.com>
3498 * optabs.c (expand_atomic_load): Do not assume compare_and_swap will
3499 always succeed for integers larger than a native word.
3501 2012-02-08 Richard Guenther <rguenther@suse.de>
3503 PR rtl-optimization/52170
3504 * simplify-rtx.c (simplify_plus_minus): Use CONSTM1_RTX to
3505 properly handle integer vector modes.
3507 2012-02-08 Jakub Jelinek <jakub@redhat.com>
3509 PR gcov-profile/52150
3510 * coverage.c: Include target.h.
3511 (build_var): Call targetm.strip_name_encoding on the assembler name.
3512 Change one _ into . or $ if the target allows it.
3513 * Makefile.in (coverage.o): Depend on $(TARGET_H).
3515 PR rtl-optimization/52139
3516 * cfgrtl.c (cfg_layout_merge_blocks): If BB_END
3517 is a BARRIER after emit_insn_after_noloc, move BB_END
3518 to the last non-BARRIER insn before it.
3520 2012-02-07 Richard Sandiford <rdsandiford@googlemail.com>
3523 * config/mips/mips.c (mips_std_gimplify_va_arg_expr): New function.
3524 (mips_gimplify_va_arg_expr): Call it instead of
3525 std_gimplify_va_arg_expr.
3527 2012-02-07 Michael Meissner <meissner@linux.vnet.ibm.com>
3529 * config/rs6000/rs6000.c (rs6000_trampoline_init): Fix error
3530 message for -mno-pointers-to-nested-function.
3532 2012-02-07 Eric Botcazou <ebotcazou@adacore.com>