1 2011-06-27 Release Manager
5 2011-06-17 Hans-Peter Nilsson <hp@axis.com>
8 2011-06-17 Hans-Peter Nilsson <hp@axis.com>
10 PR rtl-optimization/48542
11 * reload.c (find_equiv_reg): Stop looking when finding a
13 * reload1.c (reload_as_needed): Invalidate all reload
14 registers when crossing a setjmp-type call.
16 2011-06-05 Kaz Kojima <kkojima@gcc.gnu.org>
18 Backport from mainline
19 2011-05-30 Kaz Kojima <kkojima@gcc.gnu.org>
22 * config/sh/sh.c (expand_cbranchdi4): Set msw_skip when the high
23 part of the second operand is 0.
25 2011-05-24 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
27 Backport from mainline:
28 2010-09-20 Eric Botcazou <ebotcazou@adacore.com>
30 PR rtl-optimization/42775
31 * cfgrtl.c (rest_of_pass_free_cfg): Recompute notes if delay slot
32 scheduling is enabled.
34 PR rtl-optimization/49007
35 Backport from mainline:
36 2009-11-30 Hans-Peter Nilsson <hp@axis.com>
38 PR rtl-optimization/40086
39 * reorg.c (relax_delay_slots): When looking for redundant insn at
40 the branch target, use next_real_insn, not next_active_insn.
42 2011-05-14 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
44 PR rtl-optimization/48932
45 Backport from mainline:
46 2010-09-15 Eric Botcazou <ebotcazou@adacore.com>
48 PR rtl-optimization/45593
49 * reorg.c (relax_delay_slots): Use emit_copy_of_insn_after to re-emit
50 insns that were in delay slots as stand-alone insns.
52 2011-05-05 Julian Brown <julian@codesourcery.com>
54 * config/arm/neon.md (vec_set<mode>_internal): Fix misplaced
55 parenthesis in D-register case.
57 2011-02-26 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
59 Backport from mainline:
60 2010-08-22 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
63 * gthr-posix.h (__gthread_active_init): Delete.
64 (__gthread_active_p): Do activity check here.
65 Don't include errno.h on hppa-hpux. Update comment.
66 * gthr-posix95.h (__gthread_active_init): Delete.
67 (__gthread_active_p): Do activity check here.
68 Don't include errno.h on hppa-hpux. Update comment.
70 2011-02-24 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
72 * config.gcc (hppa[12]*-*-hpux11*): Set extra_parts.
73 * config/pa/stublib.c (pthread_default_stacksize_np, pthread_mutex_lock,
74 pthread_mutex_unlock, pthread_once): New pthread stubs.
75 * config/pa/t-pa-hpux11: Add rules to build pthread stubs.
76 * config/pa/t-pa64: Likewise.
77 * config/pa/pa-hpux11.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
78 (LIB_SPEC): In static links, link against shared libc if not linking
80 * config/pa/pa64-hpux.h (LIB_SPEC): Likewise.
82 2010-12-30 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
84 * config/pa/pa.md: Add ",*" condition to 64-bit add/subtract boolean
87 2010-12-22 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
89 Backport from mainline:
90 2010-12-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
93 * config/pa/pa.c (branch_to_delay_slot_p): Use next_active_insn instead
94 of next_real_insn. Search forward checking for both ASM_INPUT and
95 ASM_OPERANDS asms until exit condition is found.
96 (branch_needs_nop_p): Likewise.
97 (use_skip_p): New function.
98 (output_cbranch): Use use_skip_p.
99 (output_bb, output_bvb): Likewise.
101 2009-06-25 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
104 * pa.c (branch_to_delay_slot_p, branch_needs_nop_p): New functions.
105 (output_cbranch): Use new functions.
106 (output_bb, output_bvb, output_dbra, output_movb): Likewise.
108 2010-12-05 Richard Guenther <rguenther@suse.de>
109 Ira Rosen <irar@il.ibm.com>
111 PR tree-optimization/46663
112 * tree-vect-patterns.c (vect_recog_pow_pattern): Check that
113 FUNCTION_DECL exists and that it's a builtin.
115 2010-11-29 Eric Botcazou <ebotcazou@adacore.com>
117 PR rtl-optimization/46337
118 Backport from mainline
119 2009-04-20 Ian Lance Taylor <iant@google.com>
121 * dse.c (replace_inc_dec): Reverse parameters to gen_int_mode.
123 2010-10-22 Uros Bizjak <ubizjak@gmail.com>
126 * config/i386/i386.md (*pushti2): New insn pattern.
127 (pushti2 splitter): New insn splitter.
129 2010-10-09 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
132 * config/pa/pa.c (pa_secondary_reload): Handle symbolic operands
135 2010-09-18 Richard Guenther <rguenther@suse.de>
137 PR tree-optimization/45709
138 * tree-inline.c (copy_phis_for_bb): Delay commit of edge
139 insertions until after all PHI nodes of the block are processed.
141 2010-09-01 Eric Botcazou <ebotcazou@adacore.com>
143 * gimplify.c (gimplify_init_constructor): Do not create a temporary for
144 a volatile LHS if the constructor has only one element.
146 2010-08-14 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
149 2010-08-10 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
152 * gthr-posix.h (__gthread_start): Delete.
153 (__gthread_active_init): Use pthread_default_stacksize_np instead of
154 pthread_create to determine if hpux pthreads are active.
155 * gthr-posix95.h (__gthread_start): Delete.
156 (__gthread_active_init): Likewise use pthread_default_stacksize_np.
158 2010-08-11 Richard Guenther <rguenther@suse.de>
161 * c-common.c (c_common_truthvalue_conversion): Remove
162 premature and wrong optimization concering ADDR_EXPRs.
164 2010-08-10 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
167 * gthr-posix.h (__gthread_start): Delete.
168 (__gthread_active_init): Use pthread_default_stacksize_np instead of
169 pthread_create to determine if hpux pthreads are active.
170 * gthr-posix95.h (__gthread_start): Delete.
171 (__gthread_active_init): Likewise use pthread_default_stacksize_np.
173 2010-08-08 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
175 * config/pa/pa.c (override_options): Fix warning.
177 2010-08-06 Uros Bizjak <ubizjak@gmail.com>
179 * expmed.c (expand_mult_const) <case alg_shift>: Expand shift into
180 temporary. Emit move from temporary to accum, so REG_EQUAL note will
181 be attached to this insn in correct mode.
183 2010-08-06 Uros Bizjak <ubizjak@gmail.com>
185 * config/i386/i386.c (ix86_decompose_address): Check for SI_REG
186 using REGNO of base_reg directly.
188 2010-08-05 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
190 * config/spu/spu.c (spu_emit_branch_hint): Do not access NOTE_KIND of
193 2010-07-03 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
196 * config/pa/predicates.md (prefetch_cc_operand): Remove.
197 (prefetch_nocc_operand): Likewise.
198 * config/pa/pa.md (prefetch): Revise expander to use prefetch_20.
199 (prefetch_20): New insn.
200 (prefetch_cc): Remove.
201 (prefetch_nocc): Likewise.
204 * config/pa/pa.h (GO_IF_LEGITIMATE_ADDRESS): Reject LABEL_REF.
206 2010-06-21 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
209 * config/pa/pa.c (override_options): Disable
210 -freorder-blocks-and-partition.
212 2010-06-17 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
215 config/pa/pa.c (emit_move_sequence): Don't infer REG_POINTER flag for
216 SET source operand from SET destination operand.
218 2010-06-13 Uros Bizjak <ubizjak@gmail.com>
221 * config/i386/i386.md (UNSPEC_PARITY): New unspec.
222 (paritydi2_cmp): Use UNSPEC_PARITY unspec insted of parity RTX.
223 (partiysi2_cmp): Ditto.
224 (*partiyhi2_cmp): Ditto.
225 (*parityqi2_cmp): Remove.
227 2010-06-08 Uros Bizjak <ubizjak@gmail.com>
229 * config/i386/i386.md (*movsi_1) <TYPE_LEA>: Use %a modifier
231 (ashift_zext lea splitter): Use DImode for multiplication.
233 2010-06-04 Uros Bizjak <ubizjak@gmail.com>
235 * config/i386/i386.md (*addqi_4): Check for incdec_operand in QImode.
237 2010-06-04 Alan Modra <amodra@gmail.com>
240 * gcc/config/rs6000/rs6000.c (struct machine_function): Reorder
241 fields for better packing. Add lr_save_state.
242 (rs6000_ra_ever_killed): Return lr_save_state if set.
243 (rs6000_emit_eh_reg_restore): Set lr_save_state.
245 2010-05-24 Uros Bizjak <ubizjak@gmail.com>
247 Backport from mainline:
248 2010-05-20 Uros Bizjak <ubizjak@gmail.com>
251 * configure.ac (gcc_cv_as_ix86_sahf): Switch to 64bit mode.
252 * configure: Regenerate.
253 * config.in: Regenerate.
254 * config/i386/i386.md (x86_sahf_1): Conditionally output 0x9e
255 instead of sahf only for 64bit targets.
257 2010-05-22 Richard Guenther <rguenther@suse.de>
259 * BASE-VER: Set to 4.3.6.
260 * DEV-PHASE: Set to prerelease.
262 2010-05-22 Release Manager
264 * GCC 4.3.5 released.
266 2010-05-20 Hans-Peter Nilsson <hp@axis.com>
269 * config/cris/cris.md ("*addsi3_v32"): Correct "cc"
270 settings for 16-bit-constant "addo" alternative.
272 2010-05-14 Richard Guenther <rguenther@suse.de>
275 * Makefile.in (graph.o): Add missing $(CONFIG_H) dependency.
276 (sparseset.o): Likewise.
278 2010-04-30 Eric Botcazou <ebotcazou@adacore.com>
280 * tree-ssa-loop-ivopts.c (may_be_unaligned_p): Check the alignment of
281 the variable part of the offset as well.
283 2010-04-27 Richard Guenther <rguenther@suse.de>
286 Backport from mainline
287 2008-12-29 Richard Guenther <rguenther@suse.de>
290 * fold-const.c (fold_comparison): Use the correct result type.
292 2010-04-27 Richard Guenther <rguenther@suse.de>
294 Backport from mainline:
295 2010-03-19 Michael Matz <matz@suse.de>
298 * attribs.c (decl_attributes): When rebuilding a function pointer
299 type use the same qualifiers as the original pointer type.
301 2010-04-20 Richard Guenther <rguenther@suse.de>
303 Backport from mainline
304 2008-12-30 Steven Bosscher <steven@gcc.gnu.org>
307 * ipa-inline.c (compute_inline_parameters): When not optimizing,
308 don't compute the inline parameters, just set them to 0 instead.
310 2010-04-20 Richard Guenther <rguenther@suse.de>
312 Backport from mainline:
313 2010-03-01 Richard Guenther <rguenther@suse.de>
315 PR tree-optimization/43220
316 * tree-ssa-ccp.c (optimize_stack_restore): Do not optimize
317 BUILT_IN_STACK_{SAVE,RESTORE} around alloca.
319 2008-12-03 Jakub Jelinek <jakub@redhat.com>
322 * tree-ssa-ccp.c (ccp_fold_builtin): Bail out if the builtin doesn't
323 have the right number of arguments.
325 2010-04-20 Richard Guenther <rguenther@suse.de>
327 Backport from mainline
328 2009-01-24 Jakub Jelinek <jakub@redhat.com>
331 * c-typeck.c (c_finish_return): Handle POINTER_PLUS_EXPR the same way
334 2010-04-20 Richard Guenther <rguenther@suse.de>
336 Backport from mainline
337 2008-12-08 Jakub Jelinek <jakub@redhat.com>
339 * c-pretty-print.c (pp_c_expression): Handle BIND_EXPR.
341 2009-01-09 Jakub Jelinek <jakub@redhat.com>
344 * c-pretty-print.c (pp_c_expression): Handle GOTO_EXPR like
347 2010-04-20 Richard Guenther <rguenther@suse.de>
349 PR rtl-optimization/43438
350 * combine.c (make_extraction): Properly zero-/sign-extend an
351 extraction of the low part of a CONST_INT.
353 2010-04-20 Richard Guenther <rguenther@suse.de>
355 PR tree-optimization/43629
356 * tree-ssa-ccp.c (likely_value): Scan for literal constants
357 as well. Reset all_undefined_operands if we have seen a
360 2010-04-18 Eric Botcazou <ebotcazou@adacore.com>
362 PR tree-optimization/43769
363 * tree-sra.c (bitfield_overlaps_p): If the length of the element is
364 self-referential, try to compute an upper bound.
366 2010-04-09 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
368 Backport from mainline:
369 2009-12-05 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
372 * pa/linux-unwind.h (pa32_fallback_frame_state): Set fs->signal_frame
374 * pa/hpux-unwind.h (pa32_fallback_frame_state): Likewise.
376 2010-03-31 Uros Bizjak <ubizjak@gmail.com>
378 Backport from mainline:
379 2010-03-27 Uros Bizjak <ubizjak@gmail.com>
381 PR tree-optimization/43528
382 * stor-layout.c (place_field): Check that constant fits into
383 unsigned HWI when skipping calculation of MS bitfield layout.
385 2010-03-26 Uros Bizjak <ubizjak@gmail.com>
388 * config/i386/i386.c (ix86_expand_prologue) [TARGET_STACK_PROBE]:
389 Remove invalid assert and wrong comment.
391 2010-03-30 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
393 * config/s390/s390.c (s390_emit_prologue): Omit issuing a dynamic
394 stack check if the mask would be zero.
396 2010-03-27 Uros Bizjak <ubizjak@gmail.com>
399 * config/alpha/alpha.md (*cmp_sadd_si): Change mode
400 of scratch register to DImode. Split to DImode comparison operator.
401 Use SImode subreg of scratch register in the multiplication.
402 (*cmp_sadd_sidi): Ditto.
403 (*cmp_ssub_si): Ditto.
404 (*cmp_ssub_sidi): Ditto.
406 2010-03-23 Kaz Kojima <kkojima@gcc.gnu.org>
408 Backport from mainline:
409 2010-01-08 DJ Delorie <dj@redhat.com>
411 * config/sh/sh.c (sh_expand_epilogue): Fix interrupt handler
412 register popping order.
414 2010-03-21 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
417 * pa.md (movmemsi): Set align to one if zero.
418 (movmemdi): Likewise.
420 2010-03-18 H.J. Lu <hongjiu.lu@intel.com>
422 Backport from mainline:
423 2010-03-18 Steven Bosscher <steven@gcc.gnu.org>
424 Eric Botcazou <ebotcazou@adacore.com>
426 PR rtl-optimization/43360
427 * loop-invariant.c (move_invariant_reg): Remove the REG_EQUAL
428 note if we don't know its invariant status.
430 2010-03-02 Uros Bizjak <ubizjak@gmail.com>
432 * config/alpha/alpha.c (override_options): Fix -mtune error message.
434 2010-02-18 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
436 * config/spu/spu-c.c (spu_resolve_overloaded_builtin): Call
437 lang_hooks.types_compatible_p instead of comptypes.
439 2010-02-17 Mikael Pettersson <mikpe@it.uu.se>
441 * config/sparc/gas.h: New file. Restore
442 TARGET_ASM_NAMED_SECTION to its ELF default.
443 * config/sparc/sysv4.h (TARGET_ASM_NAMED_SECTION): Do not
445 * config/sparc/sparc.c (sparc_elf_asm_named_section):
446 Likewise. Add ATTRIBUTE_UNUSED to prototype.
447 * config.gcc (sparc*-*-linux*): Include sparc/gas.h
450 2010-02-16 Paolo Bonzini <bonzini@gnu.org>
452 PR rtl-optimization/41917
453 * rtlanal.c (num_sign_bit_copies1) <case UMOD>: If sign bit of second
454 operand isn't known to be 0, return 1.
456 2010-02-04 Richard Guenther <rguenther@suse.de>
458 PR rtl-optimization/42952
459 * dse.c (const_or_frame_p): Remove MEM handling.
461 2010-01-31 Eric Botcazou <ebotcazou@adacore.com>
464 Backport from mainline:
465 2009-04-23 Eric Botcazou <ebotcazou@adacore.com>
467 * gimplify.c (gimplify_modify_expr_rhs) <VAR_DECL>: Do not do a direct
468 assignment from the constructor either if the target is volatile.
470 2010-01-31 Richard Guenther <rguenther@suse.de>
473 * gimplify.c (gimplify_init_constructor): For volatile LHS
474 initialize a temporary.
476 2010-01-26 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
478 * config/sparc/sparc.c (sparc_elf_asm_named_section): Test for
480 * config/sparc/sysv4.h [HAVE_GNU_AS] (TARGET_ASM_NAMED_SECTION):
481 Test for HAVE_GNU_AS value.
483 2010-01-25 Christian Bruel <christian.bruel@st.com>
486 * config/sh/sh.c (find_barrier): Increase length for non delayed
487 conditional branches.
488 (sh_insn_length_adjustment): Use JUMP_TABLE_DATA_P.
490 2010-01-24 David S. Miller <davem@davemloft.net>
492 * config/sparc/sysv4.h (TARGET_ASM_NAMED_SECTION): Only
493 define if not using GAS.
494 * config/sparc/sparc.c (sparc_elf_asm_named_section):
495 Likewise. Delete SECTION_MERGE code, which is only applicable
498 2010-01-21 Felyza Wishbringer <fwishbringer@gmail.com>
501 * config.gcc (i[34567]86-*-*): Fix handling of athlon64 and athlon-fx
502 cpu types. Add support for *-sse3 cpu types.
505 2010-01-20 Richard Guenther <rguenther@suse.de>
507 PR tree-optimization/41826
508 * tree-ssa-structalias.c (get_constraint_for_ptr_offset): Avoid
509 access to re-allocated vector fields.
511 2010-01-18 Uros Bizjak <ubizjak@gmail.com>
514 * config/alpha/predicates.md (aligned_memory_operand): Return 0 for
515 memory references with unaligned offsets. Remove CQImode handling.
516 (unaligned_memory_operand): Return 1 for memory references with
517 unaligned offsets. Remove CQImode handling.
519 2010-01-17 H.J. Lu <hongjiu.lu@intel.com>
521 Backport from mainline:
522 2010-01-13 Steve Ellcey <sje@cup.hp.com>
525 * config/ia64/ia64.c (ia64_expand_vecint_compare): Convert GTU to GT
526 for V2SI by subtracting (-(INT MAX) - 1) from both operands to make
529 2010-01-07 H.J. Lu <hongjiu.lu@intel.com>
531 Backport from mainline
532 2010-01-05 Paolo Bonzini <bonzini@gnu.org>
533 H.J. Lu <hongjiu.lu@intel.com>
536 * config/i386/i386.c (ix86_expand_int_vcond): Convert GTU to GT
537 for V4SI and V2DI by subtracting (-(INT MAX) - 1) from both
538 operands to make them signed.
540 2010-01-07 Uros Bizjak <ubizjak@gmail.com>
542 * ifcvt.c (if_convert): Output slim multiple dumps with TDF_SLIM.
545 * ifcvt.c (dead_or_predicable): Also remove REG_EQUAL note when
546 note itself is not function_invariant_p.
548 2010-01-05 Eric Botcazou <ebotcazou@adacore.com>
551 * config/sparc/sparc.h (SPARC_SYMBOL_REF_TLS_P): Delete.
552 * config/sparc/sparc-protos.h (legitimize_pic_address): Likewise.
553 (legitimize_tls_address): Likewise.
554 (sparc_tls_referenced_p): Likewise.
555 * config/sparc/sparc.c (sparc_expand_move): Use legitimize_tls_address
556 and adjust calls to legitimize_pic_address.
557 (legitimate_constant_p) Use sparc_tls_referenced_p.
558 (legitimate_pic_operand_p): Likewise.
559 (sparc_legitimate_address_p): Do not use SPARC_SYMBOL_REF_TLS_P.
560 (sparc_tls_symbol_ref_1): Delete.
561 (sparc_tls_referenced_p): Make static, recognize specific patterns.
562 (legitimize_tls_address): Make static, handle CONST patterns.
563 (legitimize_pic_address): Make static, remove unused parameter and
564 adjust recursive calls.
565 (sparc_legitimize_address): Make static, use sparc_tls_referenced_p
566 and adjust call to legitimize_pic_address.
567 (sparc_output_mi_thunk): Likewise.
569 2010-01-02 Uros Bizjak <ubizjak@gmail.com>
572 * config/alpha/predicates.md (aligned_memory_operand): Return false
574 (unaligned_memory_operand): Return true for CQImode.
575 * config/alpha/alpha.c (get_aligned_mem): Assert that location
576 doesn not cross aligned SImode word boundary.
578 2009-12-30 Ian Lance Taylor <iant@google.com>
581 * expmed.c (expand_divmod): Don't shift HOST_WIDE_INT value more
582 than HOST_BITS_PER_WIDE_INT.
584 2009-12-30 Uros Bizjak <ubizjak@gmail.com>
587 * config/i386/mmx.md (*mmx_subv2sf3): Fix insn operand number for
590 2009-12-07 Uros Bizjak <ubizjak@gmail.com>
592 * config/i386/i386.md (*iorqi_ext_2): Fix insn mnemonic typo.
594 2009-11-23 Uros Bizjak <ubizjak@gmail.com>
597 * config/alpha/alpha.md (*cmp_sadd_si): Change mode
598 of scratch register to SImode.
599 (*cmp_sadd_sidi): Ditto.
600 (*cmp_ssub_si): Ditto.
601 (*cmp_ssub_sidi): Ditto.
603 2009-11-17 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
605 * config/spu/spu.c (get_pic_reg): Use LAST_ARG_REGNUM as PIC
606 registers in leaf functions if possible.
608 2009-11-14 Uros Bizjak <ubizjak@gmail.com>
610 * config/i386/predicates.md (call_register_no_elim_operand):
611 New predicate. Reject stack register as valid call operand
613 (call_insn_operand): Use call_register_no_elim_operand.
615 2009-11-13 Uros Bizjak <ubizjak@gmail.com>
618 (*call_pop_1, *call_1, *call_value_pop_1, *call_value_1): Use "lsm"
619 as operand 1 constraint.
620 * config/i386/predicates.md (call_insn_operand): Depend on
621 index_register_operand to avoid %esp register.
623 2009-11-13 Uros Bizjak <ubizjak@gmail.com>
626 2009-11-05 Uros Bizjak <ubizjak@gmail.com>
629 * config/i386/i386.h (ix86_arch_indices) <X86_ARCH_CALL_ESP>: New.
630 (TARGET_CALL_ESP): New define.
631 * config/i386/i386.c (initial_ix86_tune_features): Initialize
633 * config/i386/i386.md (*call_pop_1_esp, *call_1_esp,
634 *call_value_pop_1_esp, *call_value_1_esp): Rename from *call_pop_1,
635 *call_1, *call_value_pop_1 and *call_value_1. Depend on
637 (*call_pop_1, *call_1, *call_value_pop_1, *call_value_1):
638 New patterns, use "lsm" as operand 1 constraint.
639 * config/i386/predicates.md (call_insn_operand): Depend on
640 index_register_operand for !TARGET_CALL_ESP to avoid %esp register.
642 2009-11-04 Jason Merrill <jason@redhat.com>
645 * varasm.c (initializer_constant_valid_p): A PLUS_EXPR
646 or MINUS_EXPR of REAL_TYPE is not a valid constant initializer.
647 (output_constant): Avoid crash after error.
649 2009-11-05 Uros Bizjak <ubizjak@gmail.com>
652 * config/i386/i386.h (ix86_arch_indices) <X86_ARCH_CALL_ESP>: New.
653 (TARGET_CALL_ESP): New define.
654 * config/i386/i386.c (initial_ix86_tune_features): Initialize
656 * config/i386/i386.md (*call_pop_1_esp, *call_1_esp,
657 *call_value_pop_1_esp, *call_value_1_esp): Rename from *call_pop_1,
658 *call_1, *call_value_pop_1 and *call_value_1. Depend on
660 (*call_pop_1, *call_1, *call_value_pop_1, *call_value_1):
661 New patterns, use "lsm" as operand 1 constraint.
662 * config/i386/predicates.md (call_insn_operand): Depend on
663 index_register_operand for !TARGET_CALL_ESP to avoid %esp register.
665 2009-10-23 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
667 Backport from mainline:
668 2009-08-19 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
670 * pa.md (reload_inhi, reload_outhi, reload_inqi, reload_outqi): New
672 * pa.c (emit_move_sequence): Check if address of operand1 is valid
673 for mode mode of operand0 when doing secondary reload for SAR.
675 2009-10-20 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
677 Backport from mainline:
678 2009-10-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
681 * pa.md (casesi): Use sign extended index in call to
683 (casesi64p): Update pattern to reflect above.
685 2009-10-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
687 Backport from mainline
688 2009-09-17 Michael Haubenwallner <michael.haubenwallner@salomon.at>
691 * config/pa/t-hpux-shlib: Set soname in libgcc_s.sl.
693 2009-10-14 Hans-Peter Nilsson <hp@axis.com>
696 * config/cris/cris.h (SECONDARY_RELOAD_CLASS): Handle reload
697 requests between special registers.
699 2009-10-12 Hans-Peter Nilsson <hp@axis.com>
702 * config/cris/cris.md (andu): Check that operand 1 is one of the
703 general registers. Fix typo in head comment.
705 2009-10-07 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
707 * config/s390/tpf.h (TARGET_DEFAULT): Remove MASK_HARD_FLOAT and
710 2009-09-30 Uros Bizjak <ubizjak@gmail.com>
713 * config/alpha/alpha.md (unaligned_storehi_be): Force operand
714 of plus RTX into register.
716 2009-09-25 Alan Modra <amodra@bigpond.net.au>
718 * config/rs6000/rs6000.md (load_toc_v4_PIC_3c): Correct POWER
721 2009-09-23 Alan Modra <amodra@bigpond.net.au>
724 * config/rs6000/rs6000.c (rs6000_output_function_prologue): Don't
725 call final to emit non-scheduled prologue, instead insert at entry.
727 2009-09-23 Uros Bizjak <ubizjak@gmail.com>
730 * c-typeck.c (build_binary_op) <short_shift>: Check that integer
731 constant is more than zero.
733 2009-09-21 Janis Johnson <janis187@us.ibm.com>
736 * real.c decimal_from_integer, decimal_integer_string): New.
737 (real_from_integer): Use them as special case for decimal float.
738 * config/dfp-bit.c (_si_to_sd, _usi_to_sd): Use default rounding.
739 (_di_to_sd, _di_to_dd, _di_to_td, _udi_to_sd, _udi_to_dd, _udi_to_td):
740 Do not append zero after the decimal point in string to convert.
742 2009-09-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
745 Backport from mainline
746 2009-03-10 Richard Guenther <rguenther@suse.de>
747 Nathan Froyd <froydnj@codesourcery.com>
750 * libgcc2.c (__mulMODE3): Use explicit assignments to form the result.
751 (__divMODE3): Likewise.
753 2009-09-15 Uros Bizjak <ubizjak@gmail.com>
755 * config/alpha/alpha.md (smaxsf3): Disable for IEEE mode.
758 2009-09-12 Gerald Pfeifer <gerald@pfeifer.com>
760 * doc/install.texi (avr): Remove obsolete reference site.
762 2009-09-10 Peter Bergner <bergner@vnet.ibm.com>
764 Backport from mainline:
765 2008-09-03 Anton Blanchard <anton@samba.org>
767 * config/rs6000/rs6000.c (rs6000_split_lock_test_and_set): Do not
768 emit memory barrier before operation.
770 2009-08-31 Chris Demetriou <cgd@google.com>
772 * config/i386/i386.c (ix86_vectorize_builtin_conversion): Never
773 vectorize if not TARGET_SSE2.
775 2009-08-28 Uros Bizjak <ubizjak@gmail.com>
777 * global.c (global_alloc): Do not calculate bitmatrix percentages
780 2009-08-28 Uros Bizjak <ubizjak@gmail.com>
782 Backport from mainline:
783 2009-08-26 Uros Bizjak <ubizjak@gmail.com>
785 * config/alpha/sync.md: Update comment about unpredictable LL/SC lock
786 clearing by a taken branch.
787 (sync_<fetchop_name><mode>): Split when epilogue_completed is set,
788 effectively after bbro pass.
789 (sync_nand<mode>): Ditto.
790 (sync_old_<fetchop_name><mode>): Ditto.
791 (sync_old_nand<mode>): Ditto.
792 (sync_new_<fetchop_name><mode>): Dito.
793 (sync_new_nand<mode>): Ditto.
794 (sync_compare_and_swap<mode>_1): Ditto.
795 (*sync_compare_and_swap<mode>): Ditto.
796 (sync_lock_test_and_set<mode>_1): Ditto.
797 ("sync_lock_test_and_set<mode>): Ditto.
799 2009-08-25 Uros Bizjak <ubizjak@gmail.com>
801 * config/alpha/alpha.md (*cmpdf_ieee_ext[123]): Remove.
802 (*cmpdf_internal): Enable for all ALPHA_FPTM levels.
803 (*movdfcc_ext[1234]): Disable for IEEE mode.
805 2009-08-16 Uros Bizjak <ubizjak@gmail.com>
807 * config/alpha/alpha.c (alpha_end_function): Handle NULL_RTX returned
808 from prev_active_insn.
810 2009-08-24 Richard Guenther <rguenther@suse.de>
813 * builtins.c (fold_builtin_pow): Fold pow(pow(x,y),z) to
814 pow(x,y*z) only if x is nonnegative.
816 2009-08-23 Uros Bizjak <ubizjak@gmail.com>
819 * config/i386/i386.c (*call_pop_1): Disable for sibling calls.
820 (*call_value_pop_1): Ditto.
821 (*sibcall_pop_1): New insn pattern.
822 (*sibcall_value_pop_1): Ditto.
824 2009-08-16 Uros Bizjak <ubizjak@gmail.com>
826 Backport from mainline:
827 2009-08-14 Uros Bizjak <ubizjak@gmail.com>
830 * config/i386/sse.md (SSEMODE124C8): New mode iterator.
831 (vcond<SSEMODEF2P:mode>): Assert that operation is supported by
832 ix86_expand_fp_vcond.
833 (vcond<SSEMODE124C8:mode>): Use SSEMODE124C8 instead of SSEMODE124.
834 Assert that operation is supported by ix86_expand_int_vcond.
835 (vcondu<SSEMODE124C8:mode>): Ditto.
837 2009-08-14 Uros Bizjak <ubizjak@gmail.com>
839 Backport from mainline:
840 2009-08-11 Uros Bizjak <ubizjak@gmail.com>
843 * config/alpha/alpha.md (addsi3): Remove expander.
844 (addsi3): Rename from *addsi3_internal insn pattern.
845 (subsi3): Remove expander.
846 (subsi3): Rename from *subsi3_internal insn pattern.
848 2009-08-13 Andrey Belevantsev <abel@ispras.ru>
850 PR rtl-optimization/41033
851 * alias.c (nonoverlapping_component_refs_p): Punt when strict
852 aliasing is disabled.
854 2009-08-05 Uros Bizjak <ubizjak@gmail.com>
855 Mikulas Patocka <mikulas@artax.karlin.mff.cuni.cz>
858 * config/i386/i386.c (ix86_split_long_move): Fix push of multi-part
861 2009-08-04 Uros Bizjak <ubizjak@gmail.com>
863 Backport from mainline:
864 2009-08-03 Uros Bizjak <ubizjak@gmail.com>
866 * config/alpha/alpha.c (alpha_legitimate_constant_p): Reject CONST
867 constants referencing TLS symbols.
869 2009-07-29 Uros Bizjak <ubizjak@gmail.com>
872 * config/alpha/alpha.c (alpha_expand_unaligned_store): Convert src
873 to DImode when generating insq_le insn.
875 2008-08-04 Richard Guenther <rguenther@suse.de>
877 * BASE-VER: Set to 4.3.5.
878 * DEV-PHASE: Set to prerelease.
880 2009-08-04 Release Manager
882 * GCC 4.3.4 released.
884 2009-08-03 Janis Johnson <janis187@us.ibm.com>
887 * simplify-rtx.c (simplify_binary_operation_1): Disable
888 simplifications for decimal float operations.
891 * tree.c (real_zerop, real_onep, real_twop, real_minus_onep):
892 Special-case decimal float constants.
894 2009-07-27 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
896 Backport from mainline:
897 2009-07-20 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
899 * pa.c (compute_zdepwi_operands): Limit deposit length to 32 - lsb.
900 Cast "1" to unsigned HOST_WIDE_INT.
901 (compute_zdepdi_operands): Limit maximum length to 64 bits. Limit
902 deposit length to the maximum length - lsb. Extend length if
903 HOST_BITS_PER_WIDE_INT is 32.
905 2009-07-23 Uros Bizjak <ubizjak@gmail.com>
908 * config/i386/i386.c (output_387_ffreep): Rewrite to use
909 ASM_SHORT instead of .word.
910 * config/i386/i386.md (*tls_global_dynamic_64): Use ASM_SHORT
911 instead of .word in asm template.
913 2009-07-21 Uros Bizjak <ubizjak@gmail.com>
915 Backport from mainline:
916 2009-04-29 Richard Guenther <rguenther@suse.de>
919 * config/i386/i386.c (ix86_vectorize_builtin_conversion): Only
920 allow conversion to signed integers.
922 2009-07-18 Eric Botcazou <ebotcazou@adacore.com>
924 PR rtl-optimization/40710
925 * resource.c (mark_target_live_regs): Reset DF problem to LR.
927 2009-07-14 Richard Guenther <rguenther@suse.de>
929 Backport from mainline
930 2009-02-05 Paolo Bonzini <bonzini@gnu.org>
932 PR rtl-optimization/39110
933 * rtlanal.c (rtx_addr_can_trap_p_1): Shortcut unaligned
934 addresses, not aligned ones.
936 2009-02-04 Paolo Bonzini <bonzini@gnu.org>
937 Hans-Peter Nilsson <hp@axis.com>
939 PR rtl-optimization/37889
940 * rtlanal.c (rtx_addr_can_trap_p_1): Add offset and size arguments.
941 Move offset handling from PLUS to before the switch. Use new
942 arguments when considering SYMBOL_REFs too.
943 (rtx_addr_can_trap_p): Pass dummy offset and size.
944 (enum may_trap_p_flags): Remove.
945 (may_trap_p_1): Pass size from MEM_SIZE.
947 PR rtl-optimization/38921
948 * loop-invariant.c (find_invariant_insn): Use may_trap_or_fault_p.
949 * rtl.h (may_trap_after_code_motion_p): Delete prototype.
950 * rtlanal.c (may_trap_after_code_motion_p): Delete.
951 (may_trap_p, may_trap_or_fault_p): Pass 0/1 as flags.
953 2009-07-10 Richard Guenther <rguenther@suse.de>
955 Backport from mainline
956 2009-06-30 Jakub Jelinek <jakub@redhat.com>
959 * convert.c (convert_to_integer) <case COND_EXPR>: Don't convert
960 to type arguments that have void type.
962 2009-07-10 Richard Guenther <rguenther@suse.de>
964 Backport from mainline
965 2009-05-29 Jakub Jelinek <jakub@redhat.com>
968 * builtins.c (expand_builtin_memcmp): Convert len to sizetype
971 2009-07-10 Richard Guenther <rguenther@suse.de>
973 Backport from mainline
974 2009-01-28 Jakub Jelinek <jakub@redhat.com>
977 * tree-vrp.c (extract_range_from_assert): For LE_EXPR and LT_EXPR
978 set to varying whenever max has TREE_OVERFLOW set, similarly
979 for GE_EXPR and GT_EXPR and TREE_OVERFLOW min.
981 2009-07-07 Richard Guenther <rguenther@suse.de>
984 PR tree-optimization/40669
985 * tree-tailcall.c (adjust_accumulator_values): Properly
986 set DECL_GIMPLE_REG_P.
987 (adjust_return_value): Likewise.
988 (tree_optimize_tail_calls_1): Likewise.
989 * fold-const.c (fold_convert): Fold the built COMPLEX_EXPR.
991 2009-07-02 Richard Guenther <rguenther@suse.de>
994 * tree-cfg.c (gimple_can_duplicate_bb_p): Disallow duplicating
995 basic blocks with GIMPLE_RESX.
997 2009-07-01 Ben Elliston <bje@au.ibm.com>
999 Backport from mainline:
1001 2008-10-04 Anton Blanchard <anton@samba.org>
1003 * config/rs6000/rs6000.c (rs6000_emit_sync): Use gen_lwsync().
1004 (rs6000_split_atomic_op): Same.
1005 (rs6000_split_compare_and_swap): Same.
1006 (rs6000_split_compare_and_swapqhi): Same.
1008 2009-06-30 Ira Rosen <irar@il.ibm.com>
1010 PR tree-optimization/40542
1011 * tree-vect-analyze.c (vect_determine_vectorization_factor): Don't
1012 vectorize volatile types.
1014 2009-06-29 Richard Guenther <rguenther@suse.de>
1016 PR tree-optimization/40579
1017 * tree-vrp.c (vrp_evaluate_conditional_warnv): Bail out early if
1018 the IL to simplify has constants that overflowed.
1020 2009-06-28 Uros Bizjak <ubizjak@gmail.com>
1022 PR tree-optimization/40550
1023 * tree-vect-generic.c (expand_vector_operations_1): Compute in
1024 vector_compute_type only when the size of vector_compute_type is
1025 less than the size of type.
1027 2009-06-27 Kai Tietz <kai.tietz@onevision.com>
1029 Merged from trunk rev/148061
1030 2009-06-01 Jakub Jelinek <jakub@redhat.com>
1032 * emutls.c (__emutls_get_address): Change arr->size to mean number
1033 of allocated arr->data entries instead of # of slots + 1.
1035 2009-06-25 Richard Guenther <rguenther@suse.de>
1037 * c-parser.c (c_parser_postfix_expression): Fix merge glitch.
1039 2009-06-25 Richard Guenther <rguenther@suse.de>
1041 Backport from mainline
1042 2009-01-07 Richard Guenther <rguenther@suse.de>
1045 * fold-const.c (extract_muldiv): Remove obsolete comment.
1046 (fold_plusminus_mult_expr): Undo MINUS_EXPR
1047 to PLUS_EXPR canonicalization for the canonicalization.
1049 2009-06-25 Richard Guenther <rguenther@suse.de>
1051 Backport from mainline
1052 2009-01-12 Jakub Jelinek <jakub@redhat.com>
1055 * c-parser.c (c_parser_postfix_expression): Allow `->' in
1056 offsetof member-designator, handle it as `[0].'.
1058 2008-09-28 Andrew Pinski <andrew_pinski@playstation.sony.com>
1059 Kaushal Kantawala <kaushal_kantawala@playstation.sony.com>
1061 PR tree-optimization/36891
1062 * tree-ssa-loop-im.c (rewrite_reciprocal): Set DECL_GIMPLE_REG_P on
1063 the newly created variable.
1064 Create a VECTOR_CST of all 1s for vector types.
1066 2009-06-22 Steven Bosscher <steven@gcc.gnu.org>
1067 Matthias Klose <doko@ubuntu.com>
1070 * c-parser.c (c_parser_objc_message_args): Return error_mark_node
1071 instead of NULL if a parser error occurs.
1073 2009-06-19 Richard Guenther <rguenther@suse.de>
1075 Backport from mainline:
1076 2009-02-03 Andrew Pinski <andrew_pinski@playstation.sony.com>
1079 * convert.c (convert_to_integer): Treat OFFSET_TYPE like INTEGER_TYPE.
1081 2009-05-20 Jakub Jelinek <jakub@redhat.com>
1084 * fold-const.c (fold_binary) <case BIT_AND_EXPR>: Avoid infinite
1085 recursion if build_int_cst_type returns the same INTEGER_CST as
1088 2009-02-03 Jakub Jelinek <jakub@redhat.com>
1091 * function.c (match_asm_constraints_1): Skip over
1092 initial optional % in the constraint.
1094 2009-06-19 Richard Guenther <rguenther@suse.de>
1096 Backport from mainline:
1097 2009-02-20 Jakub Jelinek <jakub@redhat.com>
1100 * calls.c (expand_call): Clear try_tail_call if caller and callee
1101 disagree in promotion of function return value.
1103 2009-06-19 Richard Guenther <rguenther@suse.de>
1105 Backport from mainline:
1106 2009-01-30 Jakub Jelinek <jakub@redhat.com>
1109 * c-decl.c (pop_scope): Set DECL_EXTERNAL for functions declared
1110 inline but never defined.
1112 2009-04-22 Jakub Jelinek <jakub@redhat.com>
1115 * fold-const.c (fold_binary) <case LSHIFT_EXPR>: When optimizing
1116 into 0, use omit_one_operand.
1118 2009-06-18 H.J. Lu <hongjiu.lu@intel.com>
1120 Backport from mainline:
1121 2009-06-18 H.J. Lu <hongjiu.lu@intel.com>
1124 * config/i386/i386.h (CLASS_LIKELY_SPILLED_P): Add SSE_FIRST_REG.
1126 2009-06-18 Tobias Burnus <burnus@net-b.de>
1127 Mikael Pettersson <mikpe@it.uu.se>
1130 * dwarf2out.c (add_subscript_info): Fix build for
1131 MIPS_DEBUGGING_INFO.
1133 2009-06-17 Richard Guenther <rguenther@suse.de>
1135 Backport from mainline
1136 2009-03-16 Jakub Jelinek <jakub@redhat.com>
1138 PR tree-optimization/39455
1139 * tree-ssa-loop-niter.c (number_of_iterations_lt_to_ne): Fix types
1140 mismatches for POINTER_TYPE_P (type).
1141 (number_of_iterations_le): Likewise.
1143 2009-05-19 Zdenek Dvorak <ook@ucw.cz>
1145 PR tree-optimization/40087
1146 * tree-ssa-loop-niter.c (number_of_iterations_ne_max,
1147 number_of_iterations_ne): Rename never_infinite argument.
1148 (number_of_iterations_lt_to_ne, number_of_iterations_lt,
1149 number_of_iterations_le): Handle pointer-type ivs when
1150 exit_must_be_taken is false.
1151 (number_of_iterations_cond): Do not always assume that
1152 exit_must_be_taken if the control variable is a pointer.
1154 2009-06-17 Richard Guenther <rguenther@suse.de>
1157 * fold-const.c (fold_binary): Verify the type precision of the
1158 stripped arguments of the comparison are the same before
1159 folding the comparison.
1161 2009-06-17 Richard Guenther <rguenther@suse.de>
1164 * tree-ssa-operands.c (get_modify_stmt_operands): Add NRV
1165 results to the addresses taken bitmap.
1166 * tree-scalar-evolution.c (scev_const_prop): Do not insert
1167 incomplete stmts into the instruction stream.
1169 2009-06-17 Richard Guenther <rguenther@suse.de>
1172 * tree-chrec.h (build_polynomial_chrec): If we cannot determine
1173 if there is no evolution of left in the loop bail out.
1174 * tree-chrec.c (chrec_fold_multiply_poly_poly): CSE one
1175 chrec_fold_multiply.
1177 2009-06-11 Uros Bizjak <ubizjak@gmail.com>
1179 Backport from mainline:
1180 2008-11-22 Uros Bizjak <ubizjak@gmail.com>
1183 * config/i386/i386.md (SWI248): New mode iterator.
1184 (popcount<mode>2): Rename from popcounthi2, popcountsi2 and
1185 popcounthi2 insn patterns. Macroize pattern using SWI248 mode
1186 iterator. Generate popcnt mnemonic without mode extensions
1187 for Darwin x86 targets.
1188 (*popcount<mode>2_cmp): Ditto.
1189 (*popcountsi2_cmp_zext): Generate popcnt mnemonic without mode
1190 extensions for Darwin x86 targets.
1193 2009-05-26 Richard Guenther <rguenther@suse.de>
1195 Backport from mainline
1196 2008-12-12 Zdenek Dvorak <ook@ucw.cz>
1198 PR tree-optimization/32044
1199 * tree-scalar-evolution.h (expression_expensive_p): Declare.
1200 * tree-scalar-evolution.c (expression_expensive_p): New function.
1201 (scev_const_prop): Avoid introducing expensive expressions.
1202 * tree-ssa-loop-ivopts.c (may_eliminate_iv): Ditto.
1204 2009-05-23 Eric Botcazou <ebotcazou@adacore.com>
1206 * doc/passes.texi: Standardize spelling of RTL, Tree and Tree SSA.
1207 Remove outdated reference to flow.c and fix nits.
1208 * doc/gccint.texi: Tweak RTL description.
1209 * doc/rtl.texi: Likewise.
1211 2009-05-21 Kaz Kojima <kkojima@gcc.gnu.org>
1213 PR rtl-optimization/40105
1214 Backport from mainline:
1216 2009-04-29 Eric Botcazou <ebotcazou@adacore.com>
1217 Steven Bosscher <steven@gcc.gnu.org>
1219 * Makefile.in (cfgrtl.o): Add $(INSN_ATTR_H).
1220 * cfgrtl.c: Include insn-attr.h.
1221 (rest_of_pass_free_cfg): New function.
1222 (pass_free_cfg): Use rest_of_pass_free_cfg as execute function.
1224 2009-04-27 Richard Sandiford <rdsandiford@googlemail.com>
1225 Eric Botcazou <ebotcazou@adacore.com>
1227 * resource.c (find_basic_block): Use BLOCK_FOR_INSN to look up
1228 a label's basic block.
1229 (mark_target_live_regs): Tidy and rework obsolete comments.
1230 Change back DF problem to LIVE. If a label starts a basic block,
1231 assume that all registers that used to be live then still are.
1232 (init_resource_info): If a label starts a basic block, set its
1233 BLOCK_FOR_INSN accordingly.
1234 (free_resource_info): Undo the setting of BLOCK_FOR_INSN.
1236 2009-05-21 Jakub Jelinek <jakub@redhat.com>
1239 * config/i386/x86-64.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Don't emit second
1240 .p2align 3 if MAX_SKIP is smaller than 7.
1241 * config/i386/linux.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Likewise.
1243 2009-05-18 Dodji Seketeli <dodji@redhat.com>
1246 * dwarf2out.c (gen_type_die_with_usage): Generate the DIE as a
1247 child of the containing namespace's DIE.
1249 2009-05-16 Richard Earnshaw <rearnsha@arm.com>
1252 * arm.md (cstoresi_nltu_thumb1): Use a neg of ltu as the pattern name
1255 2009-05-16 Richard Earnshaw <rearnsha@arm.com>
1257 * arm.md (movdi2): Copy non-reg values to DImode registers.
1259 2009-05-16 Richard Earnshaw <rearnsha@arm.com>
1262 * arm.md (movsfcc): Disable if not TARGET_HARD_FLOAT.
1263 * testsuite/gcc.c-torture/execute/pr39501.c: New file.
1264 * testsuite/gcc.c-torture/execute/pr39501.x: New file.
1266 2009-05-14 H.J. Lu <hongjiu.lu@intel.com>
1268 Backport from mainline:
1269 2009-05-14 H.J. Lu <hongjiu.lu@intel.com>
1272 * ipa-utils.h (memory_identifier_string): Moved to ...
1273 * tree.h (memory_identifier_string): Here. Add GTY(()).
1275 2009-05-14 Uros Bizjak <ubizjak@gmail.com>
1278 * config/i386/driver-i386.c (vendor_signatures): New enum.
1279 (processor_signatures): Ditto.
1280 (host_detect_local_cpu): Use vendor_signatures and
1281 processor_signatures enums. For SIG_AMD vendor, check for
1282 SIG_GEODE processor signature to detect geode processor.
1284 2009-05-12 Tobias Burnus <burnus@net-b.de>
1287 * dwarf2.out.c (add_subscript_info): Initialize dimension for
1288 MIPS_DEBUGGING_INFO.
1290 2009-05-08 Richard Guenther <rguenther@suse.de>
1292 PR tree-optimization/40062
1293 * tree-scalar-evolution.c (follow_ssa_edge_in_condition_phi):
1294 Avoid exponential behavior.
1296 2009-05-07 Janis Johnson <janis187@us.ibm.com>
1299 * dfp.c (encode_decimal32, decode_decimal32, encode_decimal64,
1300 decode_decimal64, encode_decimal128, decode_decimal128): Avoid
1301 32-bit copy into long.
1303 2009-05-07 Jakub Jelinek <jakub@redhat.com>
1306 * dojump.c (prefer_and_bit_test): Use immed_double_const instead of
1307 GEN_INT for 1 << bitnum.
1308 (do_jump) <case BIT_AND_EXPR>: Use build_int_cst_wide_type instead of
1311 2009-04-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1313 * toplev.c (print_version): Update GMP version string calculation.
1315 2009-04-24 Tobias Burnus <burnus@net-b.de>
1318 Backport from mainline:
1320 2008-08-22 Jakub Jelinek <jakub@redhat.com>
1322 * dwarf2out.c (add_subscript_info): Stop on Fortran TYPE_STRING_FLAG
1324 (gen_array_type_die): Emit DW_TAG_string_type for Fortran character
1327 2009-04-23 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
1329 * config/spu/spu-builtins.h: Delete file.
1331 * config/spu/spu.h (enum spu_builtin_type): Move here from
1333 (struct spu_builtin_description): Likewise. Add GTY marker.
1334 Do not use enum spu_function_code or enum insn_code.
1335 (spu_builtins): Add extern declaration.
1337 * config/spu/spu.c: Do not include "spu-builtins.h".
1338 (enum spu_function_code, enum spu_builtin_type_index,
1339 V16QI_type_node, V8HI_type_node, V4SI_type_node, V2DI_type_node,
1340 V4SF_type_node, V2DF_type_node, unsigned_V16QI_type_node,
1341 unsigned_V8HI_type_node, unsigned_V4SI_type_node,
1342 unsigned_V2DI_type_node): Move here from spu-builtins.h.
1343 (spu_builtin_types): Make static. Add GTY marker.
1344 (spu_builtins): Add extern declaration with GTY marker.
1347 * config/spu/spu-c.c: Do not include "spu-builtins.h".
1348 (spu_resolve_overloaded_builtin): Do not use spu_function_code.
1349 Check programmatically whether all parameters are scalar.
1351 * config/spu/t-spu-elf (spu.o, spu-c.o): Update dependencies.
1353 2009-04-22 Richard Guenther <rguenther@suse.de>
1355 Backport from mainline:
1357 * config/i386/i386.c (ix86_function_regparm): Don't optimize
1358 local functions using regparm calling conventions when not
1360 (ix86_function_sseregparm): Similarly for sseregparm calling
1363 2009-04-14 Uros Bizjak <ubizjak@gmail.com>
1365 Backport from mainline:
1366 2009-04-12 Uros Bizjak <ubizjak@gmail.com>
1369 * config/alpha/predicates.md (local_symbolic_operand): Return 1 for
1370 offseted label references.
1372 2009-04-07 Alan Modra <amodra@bigpond.net.au>
1375 * config.gcc (powerpc-*-linux*): Include soft-fp/t-softfp after
1378 2009-04-02 David Ayers <ayers@fsfe.org>
1381 * c-typeck.c (build_conditional_expr): Emit ObjC warnings
1382 by calling objc_compare_types and surpress warnings about
1383 incompatible C pointers that are compatible ObjC pointers.
1385 2009-04-01 Eric Botcazou <ebotcazou@adacore.com>
1387 PR rtl-optimization/39588
1388 * combine.c (merge_outer_ops): Do not set the constant when this
1390 (simplify_shift_const_1): Do not modify it either in this case.
1392 2009-03-26 Ben Elliston <bje@au.ibm.com>
1394 Backport from mainline:
1395 2009-02-19 Jakub Jelinek <jakub@redhat.com>
1398 * c-common.c (c_determine_visibility): If visibility changed and
1399 DECL_RTL has been already set, call make_decl_rtl to update symbol
1402 2009-03-24 Ralf Corsépius <ralf.corsepius@rtems.org>
1404 * config/m68k/t-rtems: Add m5329 multilib.
1406 2009-03-23 Uros Bizjak <ubizjak@gmail.com>
1408 Backport from mainline:
1409 2009-03-17 Uros Bizjak <ubizjak@gmail.com>
1412 * config/i386/i386.md (*truncdfsf_mixed): Avoid combining registers
1413 from different units in a single alternative.
1414 (*truncdfsf_i387): Ditto.
1415 (*truncxfsf2_mixed): Ditto.
1416 (*truncxfdf2_mixed): Ditto.
1418 2009-03-17 H.J. Lu <hongjiu.lu@intel.com>
1420 Backport from mainline:
1421 2009-03-17 H.J. Lu <hongjiu.lu@intel.com>
1424 * doc/extend.texi: Correct register behavior for regparm on Intel 386.
1426 2009-03-12 H.J. Lu <hongjiu.lu@intel.com>
1428 Backport from mainline:
1429 2009-03-12 H.J. Lu <hongjiu.lu@intel.com>
1432 * config/i386/sse.md (sse3_addsubv4sf3): Correct item bits.
1433 (sse3_addsubv2df3): Likewise.
1435 2009-03-09 Denis Chertykov <denisc@overta.ru>
1437 * config/avr/avr.md ("andsi3"): Fix wrong cc attribute.
1439 2009-03-02 Richard Sandiford <rdsandiford@googlemail.com>
1441 * config/mips/mips.c (mips_mdebug_abi_name): Fix the handling
1444 2009-03-02 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
1446 * config/spu/spu.c (TARGET_SECTION_TYPE_FLAGS): Define.
1447 (spu_section_type_flags): New function.
1449 2009-02-28 Martin Jambor <mjambor@suse.cz>
1451 Backport from mainline:
1452 2008-12-02 Martin Jambor <mjambor@suse.cz>
1455 * tree-ssa-forwprop.c
1456 (forward_propagate_addr_into_variable_array_index): Check that the
1457 offset is not computed from a MULT_EXPR if element size is one.
1459 2009-02-28 Uros Bizjak <ubizjak@gmail.com>
1461 Backport from mainline:
1462 2009-02-26 Uros Bizjak <ubizjak@gmail.com>
1464 * config/alpha/alpha.h (alpha_expand_mov): Return false if
1465 force_const_mem returns NULL_RTX.
1467 2009-02-26 Uros Bizjak <ubizjak@gmail.com>
1469 Backport from mainline:
1470 2009-02-02 Jakub Jelinek <jakub@redhat.com>
1473 * recog.h (asm_operand_ok): Add constraints argument.
1474 * recog.c (asm_operand_ok): Likewise. If it is set, for digits
1475 recurse on matching constraint.
1476 (check_asm_operands): Pass constraints as 3rd argument to
1477 asm_operand_ok. Don't look up matching constraint here.
1478 * stmt.c (expand_asm_operands): Pass NULL as 3rd argument
1481 2009-02-25 Janis Johnson <janis187@us.ibm.com>
1483 Backport from mainline:
1484 2008-10-29 Joseph Myers <joseph@codesourcery.com>
1487 * convert.c (convert_to_real): Do not optimize conversions of
1488 binary arithmetic operations between binary and decimal
1489 floating-point types. Consider mode of target type in determining
1490 decimal type for arithmetic. Unless
1491 flag_unsafe_math_optimizations, do not optimize binary conversions
1492 where this may change rounding behavior.
1493 * real.c (real_can_shorten_arithmetic): New.
1494 * real.h (real_can_shorten_arithmetic): Declare.
1496 2009-02-21 Uros Bizjak <ubizjak@gmail.com>
1498 Backport from mainline:
1499 2009-02-20 Jaka Mocnik <jaka@xlab.si>
1501 * calls.c (emit_library_call_value_1): Use slot_offset instead of
1502 offset when calculating bounds for indexing stack_usage_map. Fixes
1503 a buffer overflow with certain target setups.
1505 2009-02-20 Steve Ellcey <sje@cup.hp.com>
1508 * config/ia64/ia64.c (ia64_function_ok_for_sibcall): Check
1511 2009-02-19 Uros Bizjak <ubizjak@gmail.com>
1514 * config/i386/i386.md (isinfxf2): Split from isinf<mode>2.
1515 (UNSPEC_FXAM_MEM): New unspec.
1516 (fxam<mode>2_i387_with_temp): New insn and split pattern.
1517 (isinf<mode>2): Use MODEF mode iterator. Force operand[1] through
1518 memory using fxam<mode>2_i387_with_temp to remove excess precision.
1520 2009-02-17 Uros Bizjak <ubizjak@gmail.com>
1522 * config/soft-fp/double.h: Update from glibc CVS.
1524 2009-02-17 Joseph Myers <joseph@codesourcery.com>
1527 * c-parser.c (c_parser_braced_init): Call pop_init_level when
1528 skipping until next close brace.
1530 2009-02-13 Joseph Myers <joseph@codesourcery.com>
1533 * c-parser.c (c_parser_parms_list_declarator): Discard pending
1534 sizes on syntax error after some arguments have been parsed.
1536 2009-02-11 Uros Bizjak <ubizjak@gmail.com>
1537 Jakub Jelinek <jakub@redhat.com>
1540 * config/i386/i386.md (UNSPEC_MEMORY_BLOCKAGE): New constant.
1541 (memory_blockage): New expander.
1542 (*memory_blockage): New insn pattern.
1543 * config/i386/i386.c (ix86_expand_prologue): Use memory_blockage
1544 instead of general blockage at the end of function prologue when
1545 frame pointer is used to access red zone area. Do not emit blockage
1546 when profiling, it is emitted in generic code.
1547 (ix86_expand_epilogue): Emit memory_blockage at the beginning of
1548 function epilogue when frame pointer is used to access red zone area.
1550 2009-02-10 Steve Ellcey <sje@cup.hp.com>
1553 * c-decl.c (start_struct): Return NULL on error.
1555 2009-02-10 Uros Bizjak <ubizjak@gmail.com>
1558 * config/i386/i386.c (expand_prologue): Emit blockage at the end
1559 of function prologue when frame pointer is used to access
1562 2009-02-09 Janis Johnson <janis187@us.ibm.com>
1565 * real.c (do_compare): Special-case compare of zero against
1566 decimal float value.
1568 2009-02-08 Joseph Myers <joseph@codesourcery.com>
1571 * c-common.c (handle_alias_attribute): Disallow attribute for
1572 anything not a FUNCTION_DECL or VAR_DECL.
1574 2009-02-08 Joseph Myers <joseph@codesourcery.com>
1577 * c-decl.c (grokdeclarator): Don't treat [] declarators in fields
1578 as indicating flexible array members unless the field itself is
1579 being declarared as the incomplete array.
1581 2009-02-07 Kaz Kojima <kkojima@gcc.gnu.org>
1583 Backport from mainline:
1584 2009-02-05 Kaz Kojima <kkojima@gcc.gnu.org>
1587 * config/sh/predicates.md (general_movsrc_operand): Don't check
1588 the subreg of system registers here.
1590 2009-02-05 Joseph Myers <joseph@codesourcery.com>
1593 * c-common.c (handle_tls_model_attribute): Ignore attribute for
1594 non-VAR_DECLs without checking DECL_THREAD_LOCAL_P.
1596 2009-02-05 Richard Guenther <rguenther@suse.de>
1598 Backport from mainline
1599 2009-02-05 Daniel Berlin <dberlin@dberlin.org>
1600 Richard Guenther <rguenther@suse.de>
1602 PR tree-optimization/39100
1603 * tree-ssa-structalias.c (do_ds_constraint): Actually do what the
1604 comment says and add edges.
1606 2009-02-04 Ramana Radhakrishnan <ramana.r@gmail.com>
1608 PR rtl-optimization/39076
1609 Backport from mainline:
1610 2008-06-28 Andrew Jenner <andrew@codesourcery.com>
1612 * regrename.c (build_def_use): Don't copy RTX.
1614 2009-02-04 Joseph Myers <joseph@codesourcery.com>
1617 * c-typeck.c (composite_type): Set TYPE_SIZE and TYPE_SIZE_UNIT
1618 for composite type involving a zero-length array type.
1620 2009-02-02 Catherine Moore <clm@codesourcery.com>
1622 * sde.h (SUBTARGET_ARM_SPEC): Don't assemble -fpic code as
1625 2009-01-31 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1627 * config/pa/fptr.c: Revert license to GPL 2.
1628 * config/pa/milli64.S: Likewise.
1630 2009-01-30 Richard Guenther <rguenther@suse.de>
1632 PR tree-optimization/39041
1633 * tree-ssa-forwprop.c (forward_propagate_addr_expr_1):
1634 Propagate variable indices only if the types match for this stmt.
1636 2009-01-29 Uros Bizjak <ubizjak@gmail.com>
1638 Backport from mainline:
1639 2009-01-28 Uros Bizjak <ubizjak@gmail.com>
1642 * config/i386/i386.md (set_rip_rex64): Wrap operand 1 in label_ref.
1643 (set_got_offset_rex64): Ditto.
1645 2009-01-27 Uros Bizjak <ubizjak@gmail.com>
1648 * calls.c (initialize_argument_information): Do not wrap complex
1649 arguments in SAVE_EXPR.
1651 2009-01-27 Steve Ellcey <sje@cup.hp.com>
1654 * gimplify.c (gimplify_init_constructor): Fix promotion of const
1655 variables to static.
1656 * doc/invoke.texi (-fmerge-all-constants): Update description.
1658 2009-01-27 Uros Bizjak <ubizjak@gmail.com>
1660 Backport from mainline:
1661 2009-01-13 Uros Bizjak <ubizjak@gmail.com>
1663 * config/alpha/alpha.c (alpha_legitimate_address_p): Explicit
1664 relocations of local symbols wider than UNITS_PER_WORD are not valid.
1665 (alpha_legitimize_address): Do not split local symbols wider than
1666 UNITS_PER_WORD into HIGH/LO_SUM parts.
1668 2009-01-07 Uros Bizjak <ubizjak@gmail.com>
1671 * config/alpha/alpha.c (alpha_end_function): For TARGET_ABI_OSF, call
1672 free_after_compilation when outputting a thunk.
1673 (alpha_output_mi_thunk_osf): Assert that we are processing a thunk.
1674 Do not call free_after_compilation here.
1676 2008-12-22 Uros Bizjak <ubizjak@gmail.com>
1678 * config/alpha/elf.h (ASM_OUTPUT_EXTERNAL): New macro.
1680 2008-12-21 Uros Bizjak <ubizjak@gmail.com>
1682 * config/alpha/alpha.c (alpha_pad_noreturn): New static function.
1683 (alpha_reorg): Call alpha_pad_noreturn.
1685 2008-12-08 Uros Bizjak <ubizjak@gmail.com>
1687 * config/alpha/alpha.c (alpha_set_memflags): Process memory
1688 references in full insn sequence.
1690 2008-12-05 Uros Bizjak <ubizjak@gmail.com>
1692 * config/alpha/alpha.c (alpha_fold_vector_minmax): Create
1693 VIEW_CONVERT_EXPR to convert output to long_integer_type_node.
1695 (alpha_emit_conditional_branch): Do not generate direct branch
1696 for UNORDERED comparisons.
1698 2008-01-26 Paolo Bonzini <bonzini@gnu.org>
1700 PR tree-optimization/38932
1701 * fold-const.c (fold_unary_ignore_overflow): New.
1702 * tree.h (fold_unary_ignore_overflow): Declare.
1703 * tree-ssa-ccp.c (ccp_fold): Use fold_unary_ignore_overflow.
1704 * tree-ssa-sccvn.c (simplify_unary_expression): Likewise.
1706 2009-01-25 Uros Bizjak <ubizjak@gmail.com>
1708 Backport from mainline:
1709 2009-01-22 Uros Bizjak <ubizjak@gmail.com>
1712 * config/i386/i386.md (*movsi_1): Use type "mmx" for alternative 2.
1713 (*movdi_1_rex64): Use type "mmx" for alternative 5.
1715 2009-01-21 Uros Bizjak <ubizjak@gmail.com>
1717 PR rtl-optimization/38879
1718 * alias.c (base_alias_check): Unaligned access via AND address can
1719 alias all surrounding object types except those with sizes equal
1720 or wider than the size of unaligned access.
1722 2009-01-25 Richard Guenther <rguenther@suse.de>
1724 Backport from mainline:
1725 2008-12-02 Richard Guenther <rguenther@suse.de>
1727 PR tree-optimization/38359
1728 * fold-const.c (fold_binary): Fold -1 >> x to -1 only for
1731 2009-01-24 Eric Botcazou <ebotcazou@adacore.com>
1733 * config/sparc/linux.h (DBX_REGISTER_NUMBER): Delete.
1734 * config/sparc/linux64.h (DBX_REGISTER_NUMBER): Likewise.
1735 * config/sparc/sysv4.h (DBX_REGISTER_NUMBER): Likewise.
1737 2009-01-24 H.J. Lu <hongjiu.lu@intel.com>
1740 Backport from mainline:
1741 2008-12-23 Jakub Jelinek <jakub@redhat.com>
1743 * config/i386/i386.c (expand_movmem_via_rep_mov): Set MEM_SIZE
1745 (expand_setmem_via_rep_stos): Add ORIG_VALUE argument. If
1746 ORIG_VALUE is const0_rtx and COUNT is constant, set MEM_SIZE
1748 (ix86_expand_setmem): Adjust callers.
1750 2008-01-24 Richard Guenther <rguenther@suse.de>
1752 * BASE-VER: Set to 4.3.4.
1753 * DEV-PHASE: Set to prerelease.
1755 2009-01-24 Release Manager
1757 * GCC 4.3.3 released.
1759 2009-01-20 Joseph Myers <joseph@codesourcery.com>
1762 * longlong.h: Update copyright years. Use soft-fp license notice.
1764 2009-01-19 Richard Guenther <rguenther@suse.de>
1766 Backport from mainline
1767 2008-07-11 Richard Guenther <rguenther@suse.de>
1769 PR tree-optimization/36765
1770 * tree-ssa-alias.c (compute_flow_insensitive_aliasing): Add
1771 aliases from HEAP vars to SMTs.
1773 2009-01-17 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1775 * pa64-hpux.h (LIB_SPEC): Link against librt when building static
1776 openmp applications.
1777 * pa-hpux11.h (LIB_SPEC): Likewise.
1779 * pa.c (pa_asm_output_mi_thunk): Use pc-relative branch to thunk
1780 function when not using named sections on targets with named sections
1781 if branch distance is less than 262132.
1783 * pa.c (last_address): Change to unsigned.
1784 (update_total_code_bytes): Change argument to unsigned. Don't
1785 check if insn addresses are set.
1786 (pa_output_function_epilogue): Set last_address to UINT_MAX if insn
1787 addresses are not set.
1788 (pa_asm_output_mi_thunk): Handle wrap when updating last_address.
1790 2009-01-16 Uros Bizjak <ubizjak@gmail.com>
1792 * sched-deps.c (sched_analyze_2)[UNSPEC_VOLATILE]: Flush pending
1793 memory loads and stores.
1795 2009-01-11 Matthias Klose <doko@ubuntu.com>
1798 Backport from mainline:
1799 2008-05-04 Uros Bizjak <ubizjak@gmail.com>
1801 * config/i386/i386.md (*strmovsi_1): Simplify asm alternatives.
1802 (*strmovsi_rex_1): Ditto.
1803 (*strsetsi_1): Ditto.
1804 (*strsetsi_rex_1): Ditto.
1806 (add<mode>cc): Macroize expander from addqicc, addhicc, addsicc and
1807 adddicc expanders using SWI mode iterator.
1809 2009-01-11 Uros Bizjak <ubizjak@gmail.com>
1811 Backport from mainline:
1812 2008-12-22 Uros Bizjak <ubizjak@gmail.com>
1815 * config/alpha/predicates.md (symbolic_operand): Return 1 for a
1816 label_ref with an offset.
1818 2008-03-31 James E. Wilson <wilson@tuliptree.org>
1820 * varasm.c (output_constant_pool_1): In LABEL_REF check,
1821 use tmp consistently.
1823 2009-01-11 Markus Schoepflin <markus.schoepflin@comsoft.de>
1826 * gcc/mips-tfile.c (parse_def): Fix parsing of def strings
1827 starting with digits.
1829 2009-01-11 Ira Rosen <irar@il.ibm.com>
1831 Backport from mainline:
1832 2009-01-08 Ira Rosen <irar@il.ibm.com>
1834 PR tree-optimization/37194
1835 * tree-vect-transform.c (vect_estimate_min_profitable_iters):
1836 Don't add the cost of cost model guard in prologue to scalar
1837 outside cost in case of known number of iterations.
1839 2009-01-11 Ira Rosen <irar@il.ibm.com>
1841 Backport from mainline:
1842 2008-12-29 Dorit Nuzman <dorit@il.ibm.com>
1843 Ira Rosen <irar@il.ibm.com>
1845 PR tree-optimization/38529
1846 * tree-vect-transform (vect_transform_stmt): Handle inner-loop stmts
1847 whose DEF is used in the loop-nest that is being vectorized, but
1848 outside the immediately enclosing loop.
1850 2009-01-07 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1852 * pa.c (output_call): Relocate non-jump insns in the delay slot of
1853 long absolute calls when generating PA 2.0 code.
1855 2009-01-07 Richard Guenther <rguenther@suse.de>
1857 PR tree-optimization/38752
1858 * tree-ssa-structalias.c (set_uids_in_ptset): Do not assert we
1859 find a subvariable as we might have invalid accesses.
1861 2009-01-07 Danny Smith <dannysmith@users.sourceforge.net>
1864 * config/i386/winnt-cxx.c (i386_pe_type_dllimport_p): Check
1865 DECL_NOT_REALLY_EXTERN rather than !DECL_EXTERNAL
1867 2009-01-07 Gerald Pfeifer <gerald@pfeifer.com>
1869 * doc/install.texi (alpha*-dec-osf*): Remove note on 32-bit
1870 hosted cross-compilers generating less efficient code.
1872 2009-01-07 Uros Bizjak <ubizjak@gmail.com>
1874 Backport from mainline:
1875 2008-06-12 Eric Botcazou <ebotcazou@adacore.com>
1877 * expr.c (store_field): Do a block copy from BLKmode to BLKmode-like.
1878 (get_inner_reference): Use BLKmode for byte-aligned BLKmode bitfields.
1880 2008-12-18 Andrew Pinski <andrew_pinski@playstation.sony.com>
1883 * gimplifier.c (gimplify_init_constructor): For constant vector
1884 CONSTRUCTORs use GENERIC_TREE_OPERAND instead of TREE_OPERAND.
1886 2008-12-14 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1889 Backport from mainline:
1890 2008-04-08 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1892 * collect2.c (write_c_file): Don't wrap in "#ifdef __cplusplus".
1894 2008-12-12 Rainer Emrich <r.emrich@de.tecosim.com>
1897 * pa64-hpux.h (LINK_GCC_C_SEQUENCE_SPEC): Don't hardcode search path
1898 for the milli.a library.
1900 2008-12-12 H.J. Lu <hongjiu.lu@intel.com>
1902 Backport from mainline:
1903 2008-12-12 H.J. Lu <hongjiu.lu@intel.com>
1906 * gcc/doc/md.texi: Remove Y and document Yz, Y2, Yi and Ym
1907 constraints for x86.
1909 2008-12-11 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1912 * emutls.c (__emutls_get_address): Make sure offset is really zero
1913 before initializing the object's offset.
1915 2008-12-10 Richard Guenther <rguenther@suse.de>
1917 Backport from trunk the fix for PR38051.
1919 PR tree-optimization/38478
1920 * tree-ssa-structalias.c (update_alias_info): Manually find
1923 2008-12-09 Janis Johnson <janis187@us.ibm.com>
1925 * doc/sourcebuild.texi (Test Directives): Fix formatting.
1927 2008-12-07 Eric Botcazou <ebotcazou@adacore.com>
1929 * tree-sra.c (scalarize_use): Create another temporary with the proper
1930 type for signed types in the use_all && !is_output bitfield case.
1932 2008-12-05 Janis Johnson <janis187@us.ibm.com>
1934 Backport from mainline:
1935 2008-05-15 Janis Johnson <janis187@us.ibm.com>
1937 * doc/sourcebuild.texi: Document support for torture tests.
1939 2008-12-04 Janis Johnson <janis187@us.ibm.com>
1941 Backport from mainline:
1942 2008-10-18 Jakub Jelinek <jakub@redhat.com>
1943 Janis Johnson <janis187@us.ibm.com>
1945 * Makefile.in (lang_checks_parallelized, check_gcc_parallelize,
1946 check_p_tool, check_p_vars, check_p_subno, check_p_comma,
1947 check_p_subwork, check_p_numbers, check_p_subdir, check_p_subdirs):
1949 (check-subtargets, check-%-subtargets, check-parallel-%): New
1951 (check-%): For test targets listed in lang_checks_parallelized
1952 if -j is used and RUNTESTFLAGS doesn't specify tests to execute,
1953 run the testing in multiple make goals, possibly parallel, and
1954 afterwards run dg-extract-results.sh to merge the sum and log files.
1956 2008-12-04 Eric Botcazou <ebotcazou@adacore.com>
1957 Gary Funck <gary@intrepid.com>
1959 * cse.c (lookup_as_function): Delete mode frobbing code.
1960 (equiv_constant): Re-implement it there for SUBREGs.
1962 2008-12-04 Eric Botcazou <ebotcazou@adacore.com>
1964 * cse.c (equiv_constant): Fix pasto.
1966 2008-12-04 Danny Smith <dannysmith@users.sourceforge.net>
1968 Backport from mainline:
1969 2008-12-02 Danny Smith <dannysmith@users.sourceforge.net>
1972 * config/i386/winnt.c (i386_pe_encode_section_info): Condition stdcall
1973 decoration of function RTL names here on Ada language.
1975 2008-12-02 Janis Johnson <janis187@us.ibm.com>
1977 Backport from mainline:
1978 2008-11-26 Janis Johnson <janis187@us.ibm.com>
1981 * doc/sourcebuild.texi (Test Directives): Add dg-timeout and
1984 2008-12-01 Uros Bizjak <ubizjak@gmail.com>
1986 Backport from mainline:
1987 2008-11-25 Uros Bizjak <ubizjak@gmail.com>
1990 * config/i386/sync.md (memory_barrier_nosse): New insn pattern.
1991 (memory_barrier): Generate memory_barrier_nosse insn for
1992 !(TARGET_64BIT || TARGET_SSE2).
1993 * config/i386/sse.md (*sse2_mfence): Also enable for TARGET_64BIT.
1995 2008-11-30 Eric Botcazou <ebotcazou@adacore.com>
1998 * config/sparc/sparc.md (divsi3 expander): Remove constraints.
1999 (divsi3_sp32): Add new alternative with 'K' for operand #2.
2000 (cmp_sdiv_cc_set): Factor common string.
2001 (udivsi3_sp32): Add new alternative with 'K' for operand #2.
2003 (cmp_udiv_cc_set): Factor common string.
2005 2008-11-26 Fredrik Unger <fred@tree.se>
2007 * config/soft-fp/floatuntisf.c (__floatuntisf): Correct
2008 function name from __floatundisf.
2009 * config/soft-fp/fixdfti.c (__fixdfti): Correct argument type to
2012 2008-11-25 Eric Botcazou <ebotcazou@adacore.com>
2014 * regrename.c (merge_overlapping_regs): Add registers artificially
2015 defined at the top of the basic block to the set of live ones just
2016 before the first insn.
2018 2008-11-24 Jakub Jelinek <jakub@redhat.com>
2019 Eric Botcazou <ebotcazou@adacore.com>
2021 * df-scan.c (df_get_call_refs): For unconditional noreturn calls
2022 add EH_USES regs as artificial uses.
2023 (df_get_entry_block_def_set): Don't handle EH_USES here.
2025 2008-11-22 Eric Botcazou <ebotcazou@adacore.com>
2027 * config/sparc/sparc.c (TARGET_ASM_OUTPUT_DWARF_DTPREL): Define
2028 only if HAVE_AS_SPARC_UA_PCREL is defined.
2030 2008-11-21 Paolo Carlini <paolo.carlini@oracle.com>
2033 * doc/invoke.texi (Optimization Options): Fix typo.
2035 2008-11-20 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
2038 * config.gcc (i[34567]86-*-solaris2*): Don't include
2039 i386/t-crtstuff here.
2040 Move extra_parts, i386/t-sol2 in tmake_file to libgcc/config.host.
2041 * config/i386/t-sol2: Move to libgcc/config/i386.
2043 2008-11-20 Richard Guenther <rguenther@suse.de>
2045 PR tree-optimization/37868
2046 * tree-ssa-structalias.c (set_uids_in_ptset): Add SFTs based on
2047 pointed to variable and access size.
2049 Backport from mainline:
2050 2008-07-07 Richard Guenther <rguenther@suse.de>
2052 * tree-ssa-structalias.c (struct variable_info): Add is_full_var flag.
2053 (new_var_info): Set it to false.
2054 (solution_set_add): Correctly handle pointers outside a var and
2056 (type_safe): Treat variables with is_full_var properly.
2057 (do_sd_constraint): Likewise.
2058 (do_ds_constraint): Likewise.
2059 (process_constraint): Remove zeroing offset for !use_field_sensitive.
2060 (get_constraint_for_ptr_offset): New function.
2061 (get_constraint_for_component_ref): Handle is_full_vars properly.
2062 (get_constraint_for): Handle POINTER_PLUS_EXPR.
2063 (handle_ptr_arith): Remove.
2064 (find_func_aliases): Handle POINTER_PLUS_EXPR through generic
2065 get_constraint_for code.
2066 (create_function_info_for): For parameter and result varinfos set
2068 (create_variable_info_for): Set is_full_var flag whenever we
2069 just created a single varinfo for a decl.
2070 (init_alias_vars): Initialize use_field_sensitive from
2071 max-fields-for-field-sensitive parameter.
2073 2008-11-18 Ben Elliston <bje@au.ibm.com>
2075 Backport from mainline:
2076 2008-09-28 Andrew Pinski <andrew_pinski@playstation.sony.com>
2079 * config/rs6000/rs6000.c (rs6000_expand_compare_and_swapqhi): Force
2080 address to a register before taking the lower part.
2082 2008-11-16 Eric Botcazou <ebotcazou@adacore.com>
2084 * config/sparc/sparc.c (function_arg_vector_value): Remove 'base_mode'
2085 parameter. Use DImode for computing the number of registers.
2086 (function_arg): Adjust for above change.
2087 (function_value): Likewise.
2089 2008-11-14 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
2091 * config/spu/spu-elf.h (STANDARD_STARTFILE_PREFIX_2): Disable default.
2092 (STANDARD_INCLUDE_DIR): Redefine to "/include".
2093 (LOCAL_INCLUDE_DIR): Undefine.
2094 * config/spu/t-spu-elf (NATIVE_SYSTEM_HEADER_DIR): Define.
2096 2008-11-14 Dodji Seketeli <dodji@redhat.com>
2099 * cgraph.h: New abstract_and_needed member to struct cgraph_node.
2100 * cgraphunit.c (cgraph_analyze_functions): Flag abstract functions
2101 -which clones are reachable - as "abstract and needed".
2102 * cgraph.c (cgraph_release_function_body): If a node is
2103 "abstract and needed", do not release its DECL_INITIAL() content
2104 will be needed to emit debug info.
2106 2008-11-13 Uros Bizjak <ubizjak@gmail.com>
2108 Backport from mainline:
2109 2008-06-06 Uros Bizjak <ubizjak@gmail.com>
2111 PR rtl-optimization/36438
2112 * cse.c (fold_rtx) [ASHIFT, LSHIFTRT, ASHIFTRT]: Break out early
2113 for vector shifts with constant scalar shift operands.
2115 2008-11-12 Jason Merrill <jason@redhat.com>
2118 * c-common.c (c_common_signed_or_unsigned_type): Remove C++
2121 2008-11-12 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
2123 * gcc/config/s390/s390.h (INITIAL_FRAME_ADDRESS_RTX): Remove
2124 packed-stack special handling.
2125 (FRAME_ADDR_RTX): Add definition.
2127 2008-11-12 Ira Rosen <irar@il.ibm.com>
2129 PR tree-optimization/38079
2130 * tree-vect-analyze.c (vect_analyze_data_refs): Replace dump_file
2133 2008-11-10 Andrew Haley <aph@redhat.com>
2135 Backport from mainline:
2138 * vec.h (VEC_TA): New.
2139 (DEF_VEC_I, DEF_VEC_P, DEF_VEC_ALLOC_I, DEF_VEC_ALLOC_P,
2140 DEF_VEC_O, DEF_VEC_ALLOC_O: Use VEC_TA.
2141 * c-common.c (C_COMMON_FIXED_TYPES_SAT): New macro.
2142 (C_COMMON_FIXED_MODE_TYPES_SAT): New macro.
2143 (C_COMMON_FIXED_TYPES): Remove first arg.
2144 (C_COMMON_FIXED_MODE_TYPES): Likewise.
2145 * tree.c (MAKE_FIXED_TYPE_NODE): Break into two macros,
2146 MAKE_FIXED_TYPE_NODE and MAKE_FIXED_TYPE_NODE_WIDTH in order
2147 not to use empty macro arguments.
2149 2008-11-10 Uros Bizjak <ubizjak@gmail.com>
2151 Backport from mainline:
2152 2008-11-10 Ralph Loader <suckfish@ihug.co.nz>
2156 * combine.c (force_to_mode): Do not process vector types.
2158 * rtlanal.c (nonzero_bits1): Do not process vector types.
2159 (num_sign_bit_copies1): Likewise.
2161 2008-11-06 Richard Guenther <rguenther@suse.de>
2163 Backport from mainline:
2164 2008-09-13 H.J. Lu <hongjiu.lu@intel.com>
2166 PR rtl-optimization/37489
2167 * cse.c (fold_rtx): Don't return const_true_rtx for float
2168 compare if FLOAT_STORE_FLAG_VALUE is undefined.
2170 2008-11-06 Kazu Hirata <kazu@codesourcery.com>
2173 * config/sparc/predicates.md (const_double_or_vector_operand):
2175 * config/sparc/sparc.c (sparc_extra_constraint_check): Handle the
2177 * config/sparc/sparc.h: Document the 'D' constraint.
2178 * config/sparc/sparc.md (*movdf_insn_sp32_v9, *movdf_insn_sp64):
2179 Use the 'D' constraint in addition to 'F' in some alternatives.
2180 (DF splitter): Generalize for V64mode.
2181 * doc/md.texi (SPARC): Document the 'D' constraint.
2183 2008-11-05 Jakub Jelinek <jakub@redhat.com>
2186 * combine.c (make_compound_operation): Don't call make_extraction with
2187 non-positive length.
2188 (simplify_shift_const_1): Canonicalize count even if complement_p.
2190 PR tree-optimization/37879
2191 * predict.c (tree_estimate_probability): Check if last_stmt is
2192 non-NULL before dereferencing it.
2195 * passes.c (execute_one_pass): Don't look at cfun->curr_properties
2196 for ipa and simple ipa passes.
2199 * expmed.c (extract_bit_field_1): If int_mode_for_mode returns
2200 BLKmode for non-memory, convert using a wider MODE_INT mode
2203 2008-11-05 Hans-Peter Nilsson <hp@axis.com>
2206 * config/cris/cris.c (cris_order_for_addsi3): Test for !REG_P, not
2209 2008-11-03 Eric Botcazou <ebotcazou@adacore.com>
2211 * tree-sra.c (bitfield_overlaps_p): Fix oversight.
2213 2008-11-01 Hans-Peter Nilsson <hp@axis.com>
2216 * config/cris/cris.c (cris_rtx_costs) <MULT>: Return 0 for an ADDI
2219 2008-11-01 Kaz Kojima <kkojima@gcc.gnu.org>
2221 Backport from mainline:
2222 2008-10-24 Kaz Kojima <kkojima@gcc.gnu.org>
2224 PR rtl-optimization/37769
2225 * regmove.c (optimize_reg_copy_2): Update REG_INC note if needed.
2227 2008-10-31 Kaz Kojima <kkojima@gcc.gnu.org>
2230 Backport from mainline:
2231 * config/sh/sh.c (untangle_mova): Return -1 when NEW_MOVA has
2234 2008-10-25 Kaz Kojima <kkojima@gcc.gnu.org>
2236 Backport from mainline:
2237 * config/sh/t-sh: Use $(MULTILIB_CFLAGS) when compiling to
2238 unwind-dw2-Os-4-200.o.
2240 2008-10-22 Chao-ying Fu <fu@mips.com>
2242 * config/mips/mips.opt (msmartmips): Accept -mno-smartmips.
2244 2008-10-22 Jakub Jelinek <jakub@redhat.com>
2247 * fold-const.c (build_range_type): For 1 .. signed_max
2248 range call build_nonstandard_inter_type if signed_type_for
2249 returned a type with bigger precision.
2251 2008-10-22 Richard Guenther <rguenther@suse.de>
2253 * tree-ssa-alias-warnings.c (skip_this_pointer): Skip pointers
2254 for which we merged aliases of SMTs into their points-to sets.
2255 * real.c (vax_f_format): Add missing initializer.
2257 2008-10-19 Richard Guenther <rguenther@suse.de>
2259 * tree-ssa-alias.c (may_alias_p): Remove bogus shortcut.
2261 2008-10-17 Andrew MacLeod <amacleod@redhat.com>
2263 PR tree-optimization/37102
2264 * tree-outof-ssa.c (remove_gimple_phi_args): Remove all the PHI args
2265 from a node. Check to see if another PHI is dead.
2266 (eliminate_useless_phis): Rename from eliminate_virtual_phis and
2267 remove real PHIs which have no uses.
2268 (rewrite_out_of_ssa): Call eliminate_useless_phis.
2270 2008-10-08 Simon Martin <simartin@users.sourceforge.net>
2273 * expr.c (count_type_elements): Handle ERROR_MARK.
2275 2008-10-07 H.J. Lu <hongjiu.lu@intel.com>
2277 Backport from mainline:
2278 2008-10-07 H.J. Lu <hongjiu.lu@intel.com>
2281 * expmed.c (expand_mult): Properly check DImode constant in
2284 2008-10-07 Eric Botcazou <ebotcazou@adacore.com>
2286 * tree-ssa-loop-ivopts.c (may_be_nonaddressable_p) <VIEW_CONVERT_EXPR>:
2287 Return true for non-addressable GIMPLE operands.
2289 2008-10-04 Gerald Pfeifer <gerald@pfeifer.com>
2291 * config/freebsd.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define.
2293 2000-10-04 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2296 * pa.c (legitimize_pic_address): Force function labels to memory in
2299 2008-10-01 Richard Henderson <rth@redhat.com>
2302 * tree-complex.c (set_component_ssa_name): Don't optimize
2303 is_gimple_min_invariant values with ssa_names in abnormal phis.
2305 2008-09-30 Joseph Myers <joseph@codesourcery.com>
2307 * ifcvt.c (noce_emit_store_flag): If using condition from original
2308 jump, reverse it if if_info->cond was reversed.
2310 2008-09-28 Eric Botcazou <ebotcazou@adacore.com>
2313 * fold-const.c (div_and_round_double) <ROUND_DIV_EXPR>: Fix typo.
2315 2008-09-25 Jakub Jelinek <jakub@redhat.com>
2318 * c-common.c (handle_weakref_attribute): Ignore the attribute unless
2319 the decl is a VAR_DECL or FUNCTION_DECL.
2321 2008-09-24 Richard Henderson <rth@redhat.com>
2323 * dwarf2.h (DW_OP_GNU_encoded_addr): New.
2324 * unwind-dw2.c (execute_stack_op): Handle it.
2326 2008-09-21 Ira Rosen <irar@il.ibm.com>
2328 PR tree-optimization/37539
2329 * tree-vect-transform.c (vect_transform_strided_load): Save vector
2330 statement in related statement field only for the first load of the
2331 group of loads with the same data reference.
2333 2008-09-20 Richard Guenther <rguenther@suse.de>
2335 Backport from mainline:
2336 2008-08-29 Richard Guenther <rguenther@suse.de>
2339 * tree-ssa-structalias.c (intra_create_variable_infos): Mark
2340 PARAM_NOALIAS tags with is_heapvar.
2341 * tree-ssa-operands.c (access_can_touch_variable): Offset
2342 based tests do not apply for heapvars. Fix offset test.
2344 2008-09-19 Richard Guenther <rguenther@suse.de>
2346 PR tree-optimization/36343
2347 * tree-ssa-structalias.c (struct variable_info): Remove
2348 directly_dereferenced member.
2349 (new_var_info): Do not set it.
2350 (process_constraint_1): Likewise.
2351 (set_uids_in_ptset): Remove TBAA-pruning code.
2352 (find_what_p_points_to): Do not pass TBAA-pruning related
2355 2008-09-19 Uros Bizjak <ubizjak@gmail.com>
2357 Backport from mainline:
2358 2008-09-18 Uros Bizjak <ubizjak@gmail.com>
2360 PR rtl-optimization/37544
2361 * regrename.c (maybe_mode_change): Exit early when copy_mode
2362 is narrower than orig_mode and narrower than new_mode.
2364 2008-09-18 Janis Johnson <janis187@us.ibm.com>
2366 Backport from mainline:
2367 2008-04-08 Janis Johnson <janis187@us.ibm.com>
2369 * config/rs6000/rs6000.c (rs6000_check_sdmode): Handle additional
2370 kinds of indirect references.
2372 Backport from mainline:
2373 2008-04-03 Janis Johnson <janis187@us.ibm.com>
2376 * config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Use integer
2377 constants of the appropriate size for runtime calculations.
2379 Backport from mainline:
2380 2008-04-03 Janis Johnson <janis187@us.ibm.com>
2382 * dfp.c (decimal_from_decnumber): Retain trailing zeroes for
2383 decimal-float literal constant zero.
2385 2008-09-18 Andreas Krebbel <krebbel1@de.ibm.com>
2387 * doc/invoke.texi: Document -mhard-dfp, -mno-hard-dfp.
2388 Mention -march=z9-109 and z9-ec.
2390 2008-09-12 Anatoly Sokolov <aesok@post.ru>
2393 * config/avr/avr.md (movsi_lreg_const peephole2): Add match_dup for
2394 scratch register after 'set' pattern.
2396 2008-09-12 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
2398 * emit-rtl.c (set_reg_attrs_from_value): Fix invalid alignment
2399 information passed to mark_reg_pointer.
2400 * explow.c (force_reg): Likewise.
2402 2008-09-12 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
2404 * config/spu/spu.c (spu_override_options): Default to -mno-safe-hints
2405 when building for the celledp architecture.
2407 2008-09-09 Trevor Smigiel <Trevor_Smigiel@playstation.sony.com>
2409 Improved branch hints, safe hints, and scheduling for Cell SPU.
2411 * haifa-sched.c (sched_emit_insn) : Define.
2412 * sched-int.h (sched_emit_insn) : Add prototype.
2413 * doc/invoke.texi (-mdual-nops, -mhint-max-nops,
2414 -mhint-max-distance -msafe-hints) : Document.
2415 * config/spu/spu.c (spu_flag_var_tracking): New.
2416 (TARGET_SCHED_INIT_GLOBAL, TARGET_SCHED_INIT,
2417 TARGET_SCHED_REORDER, TARGET_SCHED_REORDER2,
2418 TARGET_ASM_FILE_START): Define.
2419 (TARGET_SCHED_ADJUST_PRIORITY): Remove.
2420 (STOP_HINT_P, HINTED_P, SCHED_ON_EVEN_P): Define.
2421 (spu_emit_branch_hint): Add blocks argument.
2422 (insert_branch_hints, insert_nops): Remove.
2423 (pad_bb, insert_hbrp_for_ilb_runout, insert_hbrp, in_spu_reorg,
2424 uses_ls_unit, spu_sched_init_global, spu_sched_init,
2425 spu_sched_reorder, asm_file_start): New functions.
2426 (clock_var, spu_sched_length, pipe0_clock,
2427 pipe1_clock, prev_clock_var, prev_priority,
2428 spu_ls_first, prev_ls_clock): New static variables.
2429 * config/spu/spu.h (TARGET_DEFAULT): Add MASK_SAFE_HINTS.
2430 * config/spu.md (iprefetch): Add operand, make it clobber MEM.
2431 (nopn_nv): Add a non-volatile version of nop.
2432 * config/spu/spu.opt (-mdual-nops, -mhint-max-nops,
2433 -mhint-max-distance, -msafe-hints): New options.
2435 2008-09-09 Jakub Jelinek <jakub@redhat.com>
2437 PR rtl-optimization/37408
2438 * function.c (assign_parm_find_stack_rtl): Set correct MEM_SIZE
2439 if parm is promoted.
2441 2008-09-08 Richard Henderson <rth@redhat.com>
2443 * config/alpha/alpha.c (alpha_split_lock_test_and_set): Move
2444 memory barrier to below the test-and-set.
2445 (alpha_split_lock_test_and_set_12): Likewise.
2447 2008-09-07 Richard Guenther <rguenther@suse.de>
2448 Ira Rosen <irar@il.ibm.com>
2450 PR tree-optimization/36630
2451 * tree-vect-transform.c (vect_update_ivs_after_vectorizer):
2452 Call STRIP_NOPS before calling evolution_part_in_loop_num.
2454 2008-09-04 Ian Lance Taylor <iant@google.com>
2456 * varasm.c (narrowing_initializer_constant_valid_p): New
2458 (initializer_constant_valid_p): Call it.
2460 2008-09-02 Jakub Jelinek <jakub@redhat.com>
2463 * real.c (real_maxval): Clear a lower bit to make real_maxval
2464 match get_max_float for IBM long double format.
2466 2008-09-02 Bob Wilson <bob.wilson@acm.org>
2468 * config/xtensa/xtensa.md (<u>mulsidi3): Use a temporary register.
2470 2008-09-01 Jakub Jelinek <jakub@redhat.com>
2474 * fold-const.c (make_bit_field_ref): Change bitpos and bitsize
2475 arguments to HOST_WIDE_INT.
2476 (fold_truthop): Change first_bit and end_bit to HOST_WIDE_INT.
2479 2008-06-11 Richard Guenther <rguenther@suse.de>
2481 * fold-const.c (fold_truthop): Remove code generating
2482 BIT_FIELD_REFs of structure bases.
2483 (fold_binary): Likewise.
2484 (make_bit_field_ref): Remove.
2485 (optimize_bit_field_compare): Remove.
2486 (all_ones_mask_p): Remove.
2488 2008-08-31 Jakub Jelinek <jakub@redhat.com>
2491 * config/rs6000/rs6000-protos.h (const_vector_elt_as_int): Add
2493 * config/rs6000/rs6000.c (const_vector_elt_as_int): No longer static.
2494 * config/rs6000/altivec.md (easy_vector_constant_add_self splitter):
2495 Also split V4SFmode.
2496 * config/rs6000/predicates.md (easy_vector_constant_add_self): Handle
2499 2008-08-29 Jakub Jelinek <jakub@redhat.com>
2502 * fold-const.c (fold_binary): In (X | C1) & C2 canonicalization
2503 compute new & and | in type rather than TREE_TYPE (arg0).
2505 2008-08-28 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
2507 * config/spu/spu_mfcio.h (mfc_begin_critical_section): New function.
2508 (mfc_end_critical_section): Likewise.
2510 2008-08-28 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
2512 * config/rs6000/rs6000.c (rs6000_handle_altivec_attribute): Propagate
2513 all type qualifiers from element type to vector type.
2515 2008-08-28 Dodji Seketeli <dodji@redhat.com>
2518 * tree.c (int_fits_type_p): Don't forget unsigned integers
2519 of type sizetype which higher end word equals -1.
2521 2008-08-28 Richard Guenther <rguenther@suse.de>
2525 * fold-const.c (extract_muldiv_1): Optimize (X * C1) % C2 only
2526 if the multiplication does not overflow.
2528 2008-08-28 Richard Guenther <rguenther@suse.de>
2531 * tree-chrec.c (chrec_apply): Always call chrec_fold_plus which
2532 makes sure to produce a result of the correct type.
2534 2008-08-28 Uros Bizjak <ubizjak@gmail.com>
2537 * config/i386/i386.c (ix86_match_ccmode): Handle CCAmode,
2538 CCCmode, CCOmode and CCSmode destination modes.
2541 * config/i386/mmx.md (*vec_extractv2sf_0): Avoid combining registers
2542 from different units in a single alternative.
2543 (*vec_extractv2sf_1): Ditto.
2544 (*vec_extractv2si_0): Ditto.
2545 (*vec_extractv2si_1): Ditto.
2546 * config/i386/sse.md (sse2_storehpd): Ditto.
2547 (sse2_storelpd): Ditto.
2548 (sse2_loadhpd): Ditto.
2549 (sse2_loadlpd): Ditto.
2552 * config/i386/i386.md (clzsi2_abm): Fix operand 1 constraints.
2553 (popcountsi2): Ditto.
2554 (clzdi2_abm): Ditto.
2555 (popcountdi2): Ditto.
2556 (clzhi2_abm): Ditto.
2557 (popcounthi2): Ditto.
2559 2008-08-27 Joseph Myers <joseph@codesourcery.com>
2561 * BASE-VER: Set to 4.3.3.
2562 * DEV-PHASE: Set to prerelease.
2564 2008-08-27 Release Manager
2566 * GCC 4.3.2 released.
2568 2008-08-19 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
2570 * real.h (struct real_format): New member round_towards_zero.
2571 * real.c (round_for_format): Respect fmt->round_towards_zero.
2572 (ieee_single_format, mips_single_format, motorola_single_format,
2573 spu_single_format, ieee_double_format, mips_double_format,
2574 motorola_double_format, ieee_extended_motorola_format,
2575 ieee_extended_intel_96_format, ieee_extended_intel_128_format,
2576 ieee_extended_intel_96_round_53_format, ibm_extended_format,
2577 mips_extended_format, ieee_quad_format, mips_quad_format,
2578 vax_f_format, vax_d_format, vax_g_format): Initialize it.
2579 * config/pdp11/pdp11.c (pdp11_f_format, pdp11_d_format): Likewise.
2581 * builtins.s (do_mpfr_arg1): Consider round_towards_zero member of
2582 real_format to choose rounding mode when calling MPFR functions.
2583 (do_mpfr_arg2, do_mpfr_arg3, do_mpfr_sincos): Likewise.
2584 (do_mpfr_bessel_n, do_mpfr_remquo, do_mpfr_lgamma_r): Likewise.
2586 * real.h (real_to_decimal_for_mode): Add prototype.
2587 * real.c (real_to_decimal_for_mode): Renames old real_to_decimal.
2588 Respect target rounding mode when generating decimal representation.
2589 (real_to_decimal): New stub for backwards compatibility.
2590 * c-cppbuiltin.c (builtin_define_with_hex_fp_value): Use
2591 real_to_decimal_for_mode instead of real_to_decimal.
2593 * config/spu/spu.md ("floatdisf2", "floatunsdisf2"): New.
2595 * config/spu/float_disf.c: New file.
2596 * config/spu/float_unsdisf.c: New file.
2597 * config/spu/t-elf (LIB2FUNCS_STATIC_EXTRA): Add them.
2598 (LIB2FUNCS_EXCLUDE): Define.
2600 2008-08-19 Jakub Jelinek <jakub@redhat.com>
2603 * pretty-print.c (pp_base_format): Deal with recursive BLOCK trees.
2604 * tree.c (block_nonartificial_location): Likewise.
2606 2008-08-18 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
2608 * real.c (spu_single_format): New variable.
2609 * real.h (spu_single_format): Declare.
2611 * config/spu/spu.c (spu_override_options): Install SFmode format.
2612 (spu_split_immediate): Use integer mode to operate on pieces of
2613 floating-point values in all cases.
2615 * config/spu/spu.md (UNSPEC_FLOAT_EXTEND, UNSPEC_FLOAT_TRUNCATE): New.
2616 ("extendsfdf2"): Use UNSPEC_FLOAT_EXTEND instead of FLOAT_EXTEND.
2617 ("truncdfsf2"): Use UNSPEC_FLOAT_TRUNCATE instead of FLOAT_TRUNCATE.
2619 2008-08-18 Andreas Tobler <a.tobler@schweiz.org>
2621 * config/rs6000/driver-rs6000.c (detect_caches_freebsd): New function.
2622 (detect_processor_freebsd): Likewise.
2623 (host_detect_local_cpu): Call newly added functions for FreeBSD.
2625 2008-08-18 Andreas Krebbel <krebbel1@de.ibm.com>
2627 * reload.c (find_reloads): Force constants into literal pool
2628 also if they are wrapped in a SUBREG.
2630 2008-08-17 Christophe Saout <christophe@saout.de>
2631 Uros Bizjak <ubizjak@gmail.com>
2634 * config/i386/sse.md (vec_concatv2di): Remove movlps alternative.
2635 (*vec_concatv2di_rex64_sse): Ditto.
2637 2008-08-14 Jakub Jelinek <jakub@redhat.com>
2640 * fold-const.c (fold_widened_comparison): Do not allow
2641 sign changes that change the result even if shorter type
2642 is wider than arg1_unw's type.
2644 2008-08-13 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
2646 * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Predefine
2647 __PPU__ when targeting the Cell/B.E. PPU processor.
2649 2008-08-12 Jakub Jelinek <jakub@redhat.com>
2652 * expr.c (expand_expr_real_1): Handle TRUTH_ANDIF_EXPR
2653 and TRUTH_ORIF_EXPR.
2654 * dojump.c (do_jump): Likewise.
2656 2008-08-12 Aldy Hernandez <aldyh@redhat.com>
2659 * gimplify.c (gimplify_expr): Do not convert MODIFY_EXPR to
2660 GIMPLE_MODIFY_STMT upon GS_ERROR.
2662 2008-08-12 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
2664 * config/spu/spu.c (spu_safe_dma): Respect TARGET_SAFE_DMA.
2666 2008-08-12 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
2668 * config/spu/spu.h (DWARF_FRAME_RETURN_COLUMN): Define.
2670 2008-08-12 Jakub Jelinek <jakub@redhat.com>
2673 * gimplify.c (gimplify_modify_expr_rhs): Test TREE_READONLY
2674 on the VAR_DECL instead of TYPE_READONLY on its type.
2676 2008-08-11 Michael Matz <matz@suse.de>
2679 * reload.c (push_reload): Merge in,out,in_reg,out_reg members
2680 for reused reload, instead of overwriting them.
2682 2008-08-11 Jakub Jelinek <jakub@redhat.com>
2684 PR rtl-optimization/36998
2685 * dwarf2out.c (compute_barrier_args_size_1,
2686 compute_barrier_args_size): Temporarily remove assertions.
2688 2008-08-07 Richard Guenther <rguenther@suse.de>
2691 * tree-ssa-alias-warnings.c (nonstandard_alias_p): Ref-all
2692 pointers can access anything.
2694 2008-08-06 Aldy Hernandez <aldyh@redhat.com>
2697 * gimplify.c (gimplify_modify_expr): Do not optimize zero-sized types
2700 2008-08-06 Maxim Kuvyrkov <maxim@codesourcery.com>
2702 Backport from mainline:
2703 2008-08-06 Maxim Kuvyrkov <maxim@codesourcery.com>
2706 * haifa-sched.c (sched_insn_is_legitimate_for_speculation_p): Move ...
2707 * sched-deps.c (sched_insn_is_legitimate_for_speculation_p): ... here.
2708 Don't allow predicated instructions for data speculation.
2709 * sched-int.h (sched_insn_is_legitimate_for_speculation_p): Move
2712 2008-08-06 Maxim Kuvyrkov <maxim@codesourcery.com>
2714 Backport from mainline:
2715 2008-08-06 Maxim Kuvyrkov <maxim@codesourcery.com>
2717 * haifa-sched.c (extend_global): Split to extend_global_data and
2718 extend_region_data. Update all uses.
2719 (extend_all): Rename to extend_block_data.
2721 2008-08-06 Maxim Kuvyrkov <maxim@codesourcery.com>
2723 Backport from mainline:
2724 2008-08-06 Maxim Kuvyrkov <maxim@codesourcery.com>
2726 * sched-rgn.c (new_ready): Check if instruction can be
2727 speculatively scheduled before attempting speculation.
2728 (debug_rgn_dependencies): Remove wrongful assert.
2730 2008-08-05 Jason Merrill <jason@redhat.com>
2733 * tree-ssa.c (useless_type_conversion_p_1): Call langhook
2734 if TYPE_STRUCTURAL_EQUALITY_P is true for both types.
2736 2008-08-05 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
2738 * config/spu_spu_mfcio.h: Wrap in extern "C" if __cplusplus.
2739 Reword some comments throughout the file.
2741 (MFC_MIN_DMA_LIST_ELEMENTS): New define.
2742 (MFC_MAX_DMA_LIST_ELEMENTS): Likewise.
2743 (MFC_MIN_DMA_LIST_SIZE): Redefine in terms of
2744 MFC_MIN_DMA_LIST_ELEMENTS.
2745 (MFC_MAX_DMA_LIST_SIZE): Redefine in terms of
2746 MFC_MAX_DMA_LIST_ELEMENTS.
2748 (MFC_START_ENABLE): Remove PPU-only define.
2749 (MFC_PUTS_CMD, MFC_PUTFS_CMD, MFC_PUTBS_CMD): Likewise.
2750 (MFC_GETS_CMD, MFC_GETFS_CMD, MFC_GETBS_CMD): Likewise.
2752 (MFC_PUTB_CMD, MFC_PUTF_CMD): Reimplement using symbolic constants.
2753 (MFC_PUTL_CMD, MFC_PUTLB_CMD, MFC_PUTLF_CMD): Likewise.
2754 (MFC_PUTR_CMD, MFC_PUTRB_CMD, MFC_PUTRF_CMD): Likewise.
2755 (MFC_PUTRL_CMD, MFC_PUTRLB_CMD, MFC_PUTRLF_CMD): Likewise.
2756 (MFC_GETB_CMD, MFC_GETF_CMD): Likewise.
2757 (MFC_GETL_CMD, MFC_GETLB_CMD, MFC_GETLF_CMD): Likewise.
2758 (MFC_SNDSIGB_CMD, MFC_SNDSIGF_CMD): Likewise.
2760 (MFC_SDCRT_CMD, MFC_SDCRTST_CMD): New defines.
2761 (MFC_SDCRZ_CMD, MFC_SDCRST_CMD, MFC_SDCRF_CMD): Likewise.
2762 (mfc_sdcrt, mfc_sdcrtst): Likewise.
2763 (mfc_sdcrz, mfc_sdcrst, mfc_sdcrf): Likewise.
2765 (spu_read_machine_status): Fix typo.
2767 2008-08-05 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
2769 * config/spu/spu.h (CANNOT_CHANGE_MODE_CLASS): Allow (multi)word-sized
2770 SUBREG of multi-word hard register.
2771 * config/spu/spu.c (valid_subreg): Likewise.
2772 (adjust_operand): Handle SUBREGs of multi-word hard registers.
2774 2008-08-05 Richard Guenther <rguenther@suse.de>
2777 * gimplify.c (gimplify_init_constructor): Do not call
2778 tree_to_gimple_tuple with NULL_TREE.
2780 2008-08-04 Richard Guenther <rguenther@suse.de>
2783 * tree-ssa-loop-niter.c (number_of_iterations_lt_to_ne): Correctly
2784 check for no_overflow.
2786 2008-08-01 Jakub Jelinek <jakub@redhat.com>
2788 * dwarf2out.c (compute_barrier_args_size): Set barrier_args_size
2789 for labels for which it hasn't been set yet. If it has been set,
2790 stop walking insns and continue with next worklist item.
2791 (dwarf2out_stack_adjust): Don't call compute_barrier_args_size
2792 if the only BARRIER is at the very end of a function.
2794 PR tree-optimization/36991
2795 * gimplify.c (gimplify_init_constructor): Call tree_to_gimple_tuple
2796 on expr_p before appending it to pre_p.
2798 2008-08-01 Paolo Bonzini <bonzini@gnu.org>
2800 Backport from mainline:
2801 2008-04-02 Andy Hutchinson <hutchinsonamdy@aim.com>
2803 PR rtl-optimization/35542
2804 * fwprop.c (forward_propagate_and_simplify): Replace
2805 loc_reg_mentioned_in_p with reg_mentioned_p.
2807 2008-08-01 Paolo Bonzini <bonzini@gnu.org>
2810 * Makefile.in (objdir): Set it here.
2811 * configure.ac: Not here. Find dynamic linker characteristics.
2812 * exec-tool.in: Use them.
2813 * aclocal.m4: Regenerate.
2814 * configure: Regenerate.
2816 2008-08-01 Alexandre Oliva <aoliva@redhat.com>
2818 * fwprop.c (PR_HANDLE_MEM): Remove trailing comma in enum.
2820 2008-07-31 Jakub Jelinek <jakub@redhat.com>
2822 PR rtl-optimization/36419
2823 * dwarf2out.c (barrier_args_size): New variable.
2824 (compute_barrier_args_size, compute_barrier_args_size_1): New
2826 (dwarf2out_stack_adjust): For BARRIERs call compute_barrier_args_size
2827 if not called yet in the current function, use barrier_args_size
2828 array to find the new args_size value.
2829 (dwarf2out_frame_debug): Free and clear barrier_args_size.
2832 * dwarf2out.c (get_context_die): New function.
2833 (force_decl_die, force_type_die): Use it.
2834 (dwarf2out_imported_module_or_decl): Likewise. If base_type_die
2835 returns NULL, force generation of DW_TAG_typedef and put that into
2838 PR preprocessor/36649
2839 * c-pch.c (c_common_read_pch): Save and restore
2840 line_table->trace_includes across PCH restore.
2842 2008-07-30 Andreas Schwab <schwab@suse.de>
2844 PR rtl-optimization/36929
2845 * dse.c (replace_inc_dec): Use emit_insn_before instead of
2846 add_insn_before and fix argument order.
2847 (replace_inc_dec_mem): Handle NULL rtx.
2849 2008-07-30 Olivier Hainque <hainque@adacore.com>
2851 * config/mips/irix-crti.asm: .hide __gcc_init and __gcc_fini.
2852 * config/mips/iris6.h (IRIX_SUBTARGET_LINK_SPEC, irix ld): Hide
2853 __dso_handle explicitly here.
2855 2008-07-27 Eric Botcazou <ebotcazou@adacore.com>
2857 PR tree-optimization/36830
2858 * tree-vn.c (expressions_equal_p): Return false if only one operand
2861 2008-07-25 Joseph Myers <joseph@codesourcery.com>
2863 * config/arm/iwmmxt.md (movv8qi_internal, movv4hi_internal,
2864 movv2si_internal): Add mem = reg alternative.
2866 2008-07-23 Ian Lance Taylor <iant@google.com>
2868 * tree-vrp.c (infer_value_range): Ignore asm statements when
2869 looking for memory accesses for -fdelete-null-pointer-checks.
2871 2008-07-19 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
2873 * config/spu/spu.md ("div<mode>3"): Convert into expander, move
2874 original insn and splitter contents into ...
2875 ("*div<mode>3_fast"): ... this new pattern. Enable only if
2876 flag_unsafe_math_optimizations. Add dummy scratch register.
2877 ("*div<mode>3_adjusted"): New insn and splitter. Enable only if
2878 !flag_unsafe_math_optimizations. Returns number with next
2879 highest magnitude if this is still less or equal to the true
2880 quotient in magnitude.
2882 2008-07-19 Jakub Jelinek <jakub@redhat.com>
2885 * omp-low.c (expand_omp_atomic_fetch_op): Make sure the
2886 return value of the builtin is ignored.
2888 2008-07-19 Joseph Myers <joseph@codesourcery.com>
2892 * reload.c (find_reloads_subreg_address): Only reload address if
2893 reloaded == 0, not for reloaded != 1.
2896 2008-07-16 Joseph Myers <joseph@codesourcery.com>
2897 * config/m32c/m32c.c (BIG_FB_ADJ): Move definition earlier.
2898 (m32c_legitimate_address_p): Handle "++rii" addresses created by
2899 m32c_legitimize_reload_address.
2901 2008-07-15 Kaz Kojima <kkojima@gcc.gnu.org>
2902 * config/sh/sh.h (GO_IF_LEGITIMATE_ADDRESS): Allow
2903 (plus (plus (reg) (const_int)) (const_int)) when reload_in_progress.
2905 2008-07-18 Paolo Bonzini <bonzini@gnu.org>
2907 PR rtl-optimization/35281
2908 * expr.c (convert_move): Use a new pseudo for the intermediate
2909 from_mode->word_mode result.
2910 * fwprop.c (PR_CAN_APPEAR, PR_HANDLE_MEM): New.
2911 (propagate_rtx_1): Handle PR_HANDLE_MEM.
2912 (propagate_rtx): Pass PR_HANDLE_MEM if appropriate.
2913 (varying_mem_p): Move above propagate_rtx.
2914 (all_uses_available_at): Do not check MEMs.
2916 2008-07-17 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
2918 Backport from mainline:
2920 2008-05-27 Trevor Smigiel <trevor_smigiel@playstation.sony.com>
2921 Sa Liu <saliu@de.ibm.com>
2923 * config/spu/spu.c (spu_init_libfuncs): Add __multi3, __divti3,
2924 __modti3, __udivti3, __umodti3 and __udivmodti4.
2925 * config/spu/t-spu-elf (LIB2FUNCS_STATIC_EXTRA): Add files
2926 that implement TImode mul and div functions.
2927 * config/spu/multi3.c: New. Implement __multi3.
2928 * config/spu/divmodti4.c: New. Implement _udivmodti4 and others.
2930 2008-05-08 Sa Liu <saliu@de.ibm.com>
2932 * config/spu/spu.md: Fixed subti3 pattern.
2934 2008-07-17 Paolo Bonzini <bonzini@gnu.org>
2936 PR rtl-optimization/36753
2937 * fwprop.c (use_killed_between): Don't shortcut
2938 single-definition global registers.
2940 2008-07-16 Joseph Myers <joseph@codesourcery.com>
2943 * config/m32c/m32c.c (BIG_FB_ADJ): Move definition earlier.
2944 (m32c_legitimate_address_p): Handle "++rii" addresses created by
2945 m32c_legitimize_reload_address.
2947 2008-07-15 Kaz Kojima <kkojima@gcc.gnu.org>
2949 Backport from mainline:
2951 2008-03-20 Kaz Kojima <kkojima@gcc.gnu.org>
2953 * config/sh/sh.c (split_branches): Pass zero to redirect_jump
2954 as 'delete_unused' argument.
2956 2008-07-15 Kaz Kojima <kkojima@gcc.gnu.org>
2958 Backport from mainline:
2960 * config/sh/sh.md (symGOT_load): Don't add REG_EQUAL note.
2962 2008-07-15 Bob Wilson <bob.wilson@acm.org>
2964 * config/xtensa/libgcc-xtensa.ver: New file.
2965 * config/xtensa/t-linux (SHLIB_MAPFILES): Append libgcc-xtensa.ver.
2967 2008-07-15 Richard Guenther <rguenther@suse.de>
2970 * c-common.c (strict_aliasing_warning): Do not warn for
2971 TYPE_REF_CAN_ALIAS_ALL pointers.
2972 (c_common_get_alias_set): may_alias types are not special.
2973 * tree.c (build_pointer_type_for_mode): Look up the may_alias
2974 attribute and set can_ref_all accordingly.
2975 (build_reference_type_for_mode): Likewise.
2976 * doc/extend.texi (may_alias): Clarify.
2978 2008-07-15 Kaz Kojima <kkojima@gcc.gnu.org>
2980 Backport from mainline:
2982 * config/sh/sh.h (GO_IF_LEGITIMATE_ADDRESS): Allow
2983 (plus (plus (reg) (const_int)) (const_int)) when reload_in_progress.
2985 2008-07-14 Hans-Peter Nilsson <hp@axis.com>
2988 * config/cris/cris.md ("*btst"): Remove last alternative
2989 and related part in the condition.
2991 2008-07-13 Richard Guenther <rguenther@suse.de>
2994 * langhooks.c (lhd_print_error_function): Deal with recursive
2997 2008-07-12 Richard Sandiford <rdsandiford@googlemail.com>
2999 * doc/md.texi: Document the MIPS "v" constraint.
3000 * config/mips/mips.h (reg_class): Revert last change.
3001 (REG_CLASS_NAMES): Likewise.
3002 (REG_CLASS_CONTENTS): Likewise.
3003 * config/mips/mips.c (mips_regno_to_class): Likewise.
3004 * config/mips/constraints.md (v): Likewise, but add documentation.
3005 Add a comment to say that this constraint should not be used in
3008 2008-07-11 Eric Botcazou <ebotcazou@adacore.com>
3010 * tree-ssa-pre.c (create_component_ref_by_pieces) <COMPONENT_REF>:
3011 Deal with operand #2 as well.
3012 * tree-ssa-sccvn.c (copy_reference_ops_from_ref) <COMPONENT_REF>:
3014 <ARRAY_REF>: Likewise.
3016 2008-07-10 Jakub Jelinek <jakub@redhat.com>
3018 PR rtl-optimization/36419
3019 * combine-stack-adj.c (adjust_frame_related_expr): New function.
3020 (combine_stack_adjustments_for_block): Call it if needed. Delete
3022 * dwarf2out.c (dwarf2out_frame_debug_expr): Adjust
3023 DW_CFA_GNU_args_size if CSA pass merged some adjustments into
3024 prologue sp adjustment.
3026 2008-07-09 Richard Sandiford <rdsandiford@googlemail.com>
3029 * config/mips/mips.h (reg_class): Remove V1_REG.
3030 (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Update accordingly.
3031 * config/mips/mips.c (mips_regno_to_class): Map $3 to M16_NA_REGS
3033 (mips_get_tp): New function.
3034 (mips_legitimize_tls_address): Use it.
3035 * config/mips/constraints.md (v): Delete.
3036 * config/mips/mips.md (TLS_GET_TP_REGNUM): New constant.
3037 (tls_get_tp_<mode>): Allow any GPR destination and clobber $3.
3038 After reload, split into a move and ...
3039 (*tls_get_tp_<mode>_split): ...this new instruction.
3041 2008-07-08 Joseph Myers <joseph@codesourcery.com>
3043 * reload.c (find_reloads_subreg_address): Do not require validity
3044 of address in original mode before reloading address.
3046 2008-07-07 Kaz Kojima <kkojima@gcc.gnu.org>
3048 Backport from mainline:
3050 2008-02-29 Kaz Kojima <kkojima@gcc.gnu.org>
3052 * config/sh/sh.c (sh_secondary_reload): Handle loading a float
3055 2008-07-07 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
3058 * unwind-pe.h (size_of_encoded_value): add attribute unused.
3060 2008-07-05 Kaz Kojima <kkojima@gcc.gnu.org>
3062 Backport from mainline:
3064 * config/sh/sh.h (OVERRIDE_OPTIONS): Disable -fschedule-insns
3067 2008-07-04 Alan Modra <amodra@bigpond.net.au>
3070 * config/rs6000/rs6000.md (call, call_value): Don't arrange for
3071 pic_offset_table_rtx to be marked as used here.
3072 (call_nonlocal_sysv, call_value_nonlocal_sysv): Add split for
3073 TARGET_SECURE_PLT to "use" pic_offset_table_rtx.
3074 (call_nonlocal_sysv_secure, call_value_nonlocal_sysv_secure): New insn.
3075 (sibcall_nonlocal_sysv, sibcall_value_nonlocal_sysv): Assert
3078 2008-07-03 Eric Botcazou <ebotcazou@adacore.com>
3080 * tree-flow.h (loop_only_exit_p): Declare.
3081 * tree-ssa-loop-niter.c (loop_only_exit_p): Make public.
3082 * tree-ssa-loop-ivopts.c (may_eliminate_iv): Reinstate direct check on
3083 the number of iterations if it is constant. Otherwise, if this is the
3084 only possible exit of the loop, use the conservative estimate on the
3085 number of iterations of the entire loop if available.
3087 2008-07-01 Steve Ellcey <sje@cup.hp.com>
3089 Backport from mainline:
3090 * config/ia64/ia64.c (ia64_cannot_force_const_mem): Do not allow
3093 2008-07-01 Kenneth Zadeck <zadeck@naturalbridge.com>
3095 PR rtl-optimization/34744
3096 * df-scan.c (df_scan_free_ref_vec, df_scan_free_mws_vec): New macros.
3097 (df_scan_free_internal): Free data structures not
3098 allocated in storage pools.
3099 (df_mw_hardreg_chain_delete_eq_uses): Use df_scan_free_mws_vec.
3100 (df_refs_add_to_chains): Use df_scan_free_ref_vec and
3101 df_scan_free_mws_vec.
3102 * dse.c (dse_step6): Free offset_map_p and offset_map_n
3104 * ifcvt.c (cond_move_process_if_block): Free vectors on false return.
3106 2008-07-01 Ira Rosen <irar@il.ibm.com>
3108 PR tree-optimization/36648
3109 * tree-vect-transform.c (vect_do_peeling_for_loop_bound): Divide
3110 number of prolog iterations by step. Fix the comment.
3112 2008-06-28 Joseph Myers <joseph@codesourcery.com>
3114 * config/rs6000/predicates.md (easy_fp_constant): Reject TFmode
3115 constants for E500 double.
3117 2008-06-28 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
3120 * config/spu/spu.c (spu_builtin_splats): Do not generate
3121 invalid CONST_VECTOR expressions.
3122 (spu_expand_vector_init): Likewise.
3124 2008-06-26 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
3126 * targhooks.h (struct gcc_target): New member unwind_word_mode.
3127 (default_unwind_word_mode): Add prototype.
3128 * targhooks.c (default_unwind_word_mode): New function.
3129 (default_eh_return_filter_mode): Return targetm.unwind_word_mode ()
3130 instead of word_mode.
3131 * target-def.h (TARGET_UNWIND_WORD_MODE): New macro.
3132 (TARGET_INITIALIZER): Use it.
3134 * c-common.c (handle_mode_attribute): Support "unwind_word"
3136 * unwind-generic.h (_Unwind_Word, _Unwind_Sword): Use it.
3138 * except.c (init_eh): Use targetm.unwind_word_mode () instead of
3139 word_mode to access SjLj_Function_Context member "data".
3140 (sjlj_emit_dispatch_table): Likewise. Also, perform type
3141 conversion from targetm.eh_return_filter_mode () to
3142 targetm.unwind_word_mode () if they differ.
3144 * builtin-types.def (BT_UNWINDWORD): New primitive type.
3145 (BT_FN_UNWINDWORD_PTR): New function type.
3146 (BT_FN_WORD_PTR): Remove.
3147 * builtins.def (BUILT_IN_EXTEND_POINTER): Use BT_FN_UNWINDWORD_PTR.
3148 * except.c (expand_builtin_extend_pointer): Convert pointer to
3149 targetm.unwind_word_mode () instead of word_mode.
3151 * config/spu/spu-protos.h (spu_eh_return_filter_mode): Remove.
3152 * config/spu/spu.c (spu_eh_return_filter_mode): Remove.
3153 (spu_unwind_word_mode): New function.
3154 (TARGET_EH_RETURN_FILTER_MODE): Do not define.
3155 (TARGET_UNWIND_WORD_MODE): Define.
3156 * config/spu/t-spu-elf (TARGET_LIBGCC2_CFLAGS): Remove -D__word__=SI.
3158 2008-06-26 Joseph Myers <joseph@codesourcery.com>
3160 * c-decl.c (merge_decls): Use !current_function_decl to check for
3161 extern declaration of C99 inline function being at file scope.
3163 2008-06-25 Richard Guenther <rguenther@suse.de>
3165 * tree-ssa-structalias.c (fieldoff_compare): Make sure to
3166 not overflow the result type.
3168 2008-06-25 Richard Guenther <rguenther@suse.de>
3170 * tree-vn.c (vn_add): Handle TRUTH_*_EXPR.
3171 (vn_lookup): Likewise.
3173 2008-06-25 Hans-Peter Nilsson <hp@axis.com>
3175 * doc/invoke.texi (Optimize Options) <fstrict-aliasing>: Add
3176 anchor for the type-punning blurb. Cross-reference "Structures
3177 unions enumerations and bit-fields implementation". Provide a
3178 cast-through-pointer example. Make final sentence self-contained.
3179 * doc/implement-c.texi (Structures unions enumerations and
3180 bit-fields implementation): Cross-reference the type-punning blurb
3181 in the -fstrict-aliasing documentation.
3183 2008-06-24 Jakub Jelinek <jakub@redhat.com>
3185 PR tree-optimization/36504
3186 * tree-ssa-loop-prefetch.c (gather_memory_references_ref): Skip
3187 references without base address.
3189 2008-06-24 Uros Bizjak <ubizjak@gmail.com>
3191 * config/i386/i386.md (fmodxf3): Change sequence of move instructions.
3192 (fmod<mode>3): Ditto.
3193 (remainderxf3): Ditto.
3194 (remainder<mode>3): Ditto.
3196 2008-06-23 Uros Bizjak <ubizjak@gmail.com>
3199 * calls.c (expand_call): Increase alignment for recursive functions.
3201 2008-06-23 Jakub Jelinek <jakub@redhat.com>
3204 * emit-rtl.c (set_reg_attrs_from_value): Do nothing if
3205 REG is a hard register.
3207 PR tree-optimization/36508
3208 * tree-ssa-pre.c (compute_antic): Allow num_iterations up to
3209 499, don't check it at all in release compilers.
3211 2008-06-23 Richard Guenther <rguenther@suse.de>
3213 PR tree-optimization/36519
3214 * tree-ssa-alias.c (mem_sym_score): Count call-clobbered
3215 unpartitionable SFTs in the usual way.
3216 (compute_memory_partitions): Do partition call-clobbered
3217 unpartitionable SFTs, but make sure to partition all other
3218 SFTs of its parent var into the same partition.
3220 2008-06-19 Uros Bizjak <ubizjak@gmail.com>
3221 Ian Lance Taylor <iant@google.com>
3223 PR rtl-optimization/35604
3224 * jump.c (redirect_exp_1): Skip the condition of an IF_THEN_ELSE. We
3225 only want to change jump destinations, not eventual label comparisons.
3227 2008-06-19 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
3229 PR documentation/30739
3230 * doc/install.texi (Prerequisites): Document dependency on awk.
3232 2008-06-18 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
3234 * config/spu/spu.c (reg_align): Remove.
3235 (regno_aligned_for_load): Also accept ARG_POINTER_REGNUM.
3236 (spu_split_load): Use regno_aligned_for_load instead of reg_align.
3237 (spu_split_store): Likewise.
3239 2008-06-17 Joseph Myers <joseph@codesourcery.com>
3241 * dfp.c (WORDS_BIGENDIAN): Define to 0 if not defined.
3242 (encode_decimal64, decode_decimal64, encode_decimal128,
3243 decode_decimal128): Reverse order of 32-bit parts of value if host
3244 and target endianness differ.
3246 2008-06-16 Ira Rosen <irar@il.ibm.com>
3248 PR tree-optimization/36493
3249 * tree-vect-transform.c (vect_create_data_ref_ptr): Remove TYPE from
3250 the arguments list. Use VECTYPE to create vector pointer.
3251 (vectorizable_store): Fail if accesses through a pointer to vectype
3252 do not alias the original memory reference operands.
3253 Call vect_create_data_ref_ptr without the removed argument.
3254 (vectorizable_load): Likewise.
3255 (vect_setup_realignment): Call vect_create_data_ref_ptr without the
3258 2008-06-15 Anatoly Sokolov <aesok@post.ru>
3261 * config/avr/avr.h (HARD_REGNO_RENAME_OK): Define.
3262 * config/avr/avr.c (avr_hard_regno_rename_ok): New function.
3263 * config/avr/avr-protos.h (avr_hard_regno_rename_ok): New prototype.
3265 2008-06-15 Andy Hutchinson <hutchinsonandy@aim.com>
3268 * config/avr/avr.h (LEGITIMIZE_RELOAD_ADDRESS): Add check for
3271 2008-06-13 Jakub Jelinek <jakub@redhat.com>
3274 * c-decl.c (merge_decls): Don't clear DECL_EXTERNAL for
3275 nested inline functions.
3276 (start_decl, start_function): Don't invert DECL_EXTERNAL
3277 for nested inline functions.
3279 2008-06-13 Richard Guenther <rguenther@suse.de>
3281 PR tree-optimization/36498
3282 * tree-flow-inline.h (var_can_have_subvars): Unions cannot
3285 2008-06-12 Jakub Jelinek <jakub@redhat.com>
3288 * omp-low.c (expand_omp_sections): Initialize l2 to avoid bogus
3291 2008-06-12 Richard Guenther <rguenther@suse.de>
3293 Backport from mainline
3294 2008-06-04 Richard Guenther <rguenther@suse.de>
3296 * tree-ssa-structalias.c (handle_ptr_arith): Correctly handle
3297 negative or non-representable offsets.
3299 2008-06-12 Jakub Jelinek <jakub@redhat.com>
3302 * omp-low.c (expand_omp_sections): Handle #pragma omp sections with
3305 2008-06-11 Tom Tromey <tromey@redhat.com>
3307 * c-lex.c (fe_file_change): Pass SOURCE_LINE to start_source_file
3310 2008-06-11 Richard Guenther <rguenther@suse.de>
3313 * fold-const.c (fold_truthop): Remove code generating
3314 BIT_FIELD_REFs of structure bases.
3315 (fold_binary): Likewise.
3316 (make_bit_field_ref): Remove.
3317 (optimize_bit_field_compare): Remove.
3318 (all_ones_mask_p): Remove.
3320 2008-06-11 Joseph Myers <joseph@codesourcery.com>
3322 * config/arm/arm.c (arm_init_neon_builtins): Move initialization
3323 with function calls after declarations. Lay out
3324 neon_float_type_node before further use.
3326 2008-06-11 Richard Guenther <rguenther@suse.de>
3328 PR tree-optimization/36474
3329 * opts.c (decode_options): Set max-fields-for-field-sensitive
3330 parameter to 100 for -O2, -Os and -O3.
3331 * params.def (max-fields-for-field-sensitive): Set default to zero.
3332 * doc/invoke.texi (max-fields-for-field-sensitive): Document
3335 2008-06-10 Joseph Myers <joseph@codesourcery.com>
3337 * config/rs6000/rs6000.c (build_opaque_vector_type): Set
3338 TYPE_CANONICAL for copied element type.
3340 2008-06-09 Michael Meissner <michael.meissner@amd.com>
3342 * config.gcc (i[34567]86-*-*): Put test in quotes to prevent
3343 failure on some Bourne shells.
3344 (x86_64-*-*): Ditto.
3346 2008-06-07 Sebastian Pop <sebastian.pop@amd.com>
3348 PR tree-optimization/34976
3349 * tree-loop-linear.c (try_interchange_loops): Look at size of
3350 caches: don't transform if the smallest stride is larger than
3351 the L2 cache, or if the largest stride multiplied by the number of
3352 iterations is smaller than the L1 cache.
3354 2008-06-07 Uros Bizjak <ubizjak@gmail.com>
3356 Backport from mainline:
3357 2008-05-12 Uros Bizjak <ubizjak@gmail.com>
3359 PR rtl-optimization/36111
3360 * recog.c (validate_replace_rtx_1): Unshare new RTL expression
3361 that was created for swappable operands.
3363 2008-06-07 Andy Hutchinson <hutchinsonandy@aim.com>
3366 * config/avr/avr.h: (PUSH_ROUNDING): Remove.
3369 * builtins.c (expand_builtin_signbit): Don't take lowpart when
3370 register is already smaller or equal to required mode.
3373 * config/avr/avr.md (*addhi3_zero_extend2): Remove.
3375 * config/avr/avr.h (MAX_OFILE_ALIGNMENT): Define.
3378 2008-06-06 Richard Guenther <rguenther@suse.de>
3380 PR tree-optimization/36291
3381 * tree-flow. h (struct gimple_df): Remove var_anns member.
3382 * tree-flow-inline.h (gimple_var_anns): Remove.
3383 (var_ann): Simplify.
3384 * tree-dfa.c (create_var_ann): Simplify.
3385 (remove_referenced_var): Clear alias info from var_anns of globals.
3386 * tree-ssa.c (init_tree_ssa): Do not allocate var_anns.
3387 (delete_tree_ssa): Clear alias info from var_anns of globals.
3388 Do not free var_anns.
3389 (var_ann_eq): Remove.
3390 (var_ann_hash): Likewise.
3392 2008-06-06 Richard Guenther <rguenther@suse.de>
3394 PR tree-optimization/34244
3395 * fold-const.c (tree_expr_nonnegative_warnv_p): Do not ask VRP.
3396 (tree_expr_nonzero_warnv_p): Likewise.
3397 * tree-vrp.c (vrp_expr_computes_nonnegative): Call
3398 ssa_name_nonnegative_p.
3399 (vrp_expr_computes_nonzero): Call ssa_name_nonzero_p.
3400 (extract_range_from_unary_expr): Use vrp_expr_computes_nonzero,
3401 not tree_expr_nonzero_warnv_p.
3403 PR tree-optimization/36262
3405 2007-11-29 Zdenek Dvorak <ook@ucw.cz>
3407 PR tree-optimization/34244
3408 * tree-vrp.c (adjust_range_with_scev): Clear scev cache.
3409 (record_numbers_of_iterations): New function.
3410 (execute_vrp): Cache the numbers of iterations of loops.
3411 * tree-scalar-evolution.c (scev_reset_except_niters):
3413 (scev_reset): Use scev_reset_except_niters.
3414 * tree-scalar-evolution.h (scev_reset_except_niters): Declare.
3416 2008-06-06 Joseph Myers <joseph@codesourcery.com>
3418 * config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Only handle
3419 SDmode in registers specially if TARGET_HARD_FLOAT && TARGET_FPRS.
3421 2008-06-06 Jakub Jelinek <jakub@redhat.com>
3423 PR rtl-optimization/36419
3424 * except.c (expand_resx_expr): Call do_pending_stack_adjust () before
3425 the emitting jump insn.
3428 * gimplify.c (gimplify_expr) <case TRUTH_NOT_EXPR>: If *expr_p type
3429 is not bool, boolify the whole *expr_p and convert to the desired type.
3431 * BASE-VER: Set to 4.3.2.
3432 * DEV-PHASE: Set to prerelease.
3434 2008-06-06 Release Manager
3436 * GCC 4.3.1 released.
3438 2008-06-04 Richard Sandiford <rdsandiford@googlemail.com>
3440 * config/mips/mips.c (mips_emit_loadgp): Return early if
3441 there is nothing do to, otherwise emit a blockage if
3442 !TARGET_EXPLICIT_RELOCS || current_function_profile.
3443 * config/mips/mips.md (loadgp_blockage): Use SI rather than DI.
3445 2008-05-29 Eric Botcazou <ebotcazou@adacore.com>
3447 * tree-nested.c (check_for_nested_with_variably_modified): Fix typo.
3449 2008-05-28 Richard Guenther <rguenther@suse.de>
3451 PR tree-optimization/36339
3452 * tree-ssa-alias.c (set_initial_properties): Move pt_anything
3453 and subvariable clobbering code out of the loop.
3455 2008-05-28 Richard Guenther <rguenther@suse.de>
3458 * fold-const.c (extract_muldiv_1): Use TYPE_OVERFLOW_WRAPS,
3459 not TYPE_UNSIGNED. Use TYPE_PRECISION instead of GET_MODE_SIZE.
3461 2008-05-27 Richard Guenther <rguenther@suse.de>
3463 PR tree-optimization/36339
3464 * tree-ssa-alias.c (set_initial_properties): Escaped pt_anything
3465 pointers cause all addressable variables to be call clobbered.
3467 2008-05-26 Kai Tietz <kai.tietz@onevision.com>
3470 * config/i386/i386.md (allocate_stack_worker_64): Make sure
3471 argument operand in rax isn't removed.
3473 2008-05-23 Uros Bizjak <ubizjak@gmail.com>
3474 Gerald Pfeifer <gerald@pfeifer.com>
3476 * doc/install.texi (Options specification): Document --enable-cld.
3477 * doc/invoke.texi (Machine Dependent Options)
3478 [i386 and x86-64 Options]: Add -mcld option.
3479 (Intel 386 and AMD x86-64 Options): Document -mcld option.
3481 2008-05-22 David Daney <ddaney@avtrex.com>
3483 * config/mips/mips.md (sync_old_add<mode>, sync_new_add<mode>,
3484 sync_old_<optab><mode>, sync_new_<optab><mode>, sync_old_nand<mode>,
3485 sync_new_nand<mode>, sync_lock_test_and_set<mode>): Add early
3486 clobber to operand 0.
3488 2008-05-22 Ira Rosen <irar@il.ibm.com>
3490 PR tree-optimization/36293
3491 * tree-vect-transform.c (vect_transform_strided_load): Don't check
3492 if the first load must be skipped because of a gap.
3494 2008-05-21 Sebastian Pop <sebastian.pop@amd.com>
3495 Jan Sjodin <jan.sjodin@amd.com>
3497 PR tree-optimization/36181
3498 Backport from mainline:
3499 * tree-parloops.c (loop_has_vector_phi_nodes): New.
3500 (parallelize_loops): Don't parallelize when the loop has vector
3503 2008-05-21 Uros Bizjak <ubizjak@gmail.com>
3504 Jakub Jelinek <jakub@redhat.com>
3507 * configure.ac: Handle --enable-cld.
3508 * configure: Regenerated.
3509 * config.gcc: Add USE_IX86_CLD to tm_defines for x86 targets.
3510 * config/i386/i386.h (struct machine_function): Add needs_cld field.
3511 (ix86_current_function_needs_cld): New define.
3512 * config/i386/i386.md (UNSPEC_CLD): New unspec volatile constant.
3513 (cld): New isns pattern.
3514 (strmov_singleop, rep_mov, strset_singleop, rep_stos, cmpstrnqi_nz_1,
3515 cmpstrnqi_1, strlenqi_1): Set ix86_current_function_needs_cld flag.
3516 * config/i386/i386.opt (mcld): New option.
3517 * config/i386/i386.c (ix86_expand_prologue): Emit cld insn if
3518 TARGET_CLD and ix86_current_function_needs_cld.
3519 (override_options): Use -mcld by default for 32-bit code if
3522 2008-05-20 Richard Guenther <rguenther@suse.de>
3524 Backport from mainline:
3525 2008-05-15 Richard Guenther <rguenther@suse.de>
3528 * tree-ssa-alias.c (new_type_alias): Do not set TREE_READONLY.
3529 * tree-flow-inline.h (unmodifiable_var_p): Memory tags never
3530 represent unmodifiable vars.
3532 PR tree-optimization/34330
3533 * tree-ssa-alias.c (get_smt_for): Only assert that accesses
3534 through the pointer will alias the SMT.
3536 2008-05-20 Richard Guenther <rguenther@suse.de>
3538 PR tree-optimization/35204
3539 * tree-ssa-sccvn.c (extract_and_process_scc_for_name): New
3540 helper, split out from ...
3541 (DFS): ... here. Make the DFS walk non-recursive.
3543 2008-05-20 Joseph Myers <joseph@codesourcery.com>
3545 * doc/install.texi2html: Generate gcc-vers.texi in $DESTDIR not
3548 2008-05-19 Adam Nemet <anemet@caviumnetworks.com>
3551 * combine.c (check_conversion): Rename to check_promoted_subreg.
3552 Don't call record_truncated_value from here.
3553 (record_truncated_value): Turn it into a for_each_rtx callback.
3554 (record_truncated_values): New function.
3555 (combine_instructions): Call note_uses with
3556 record_truncated_values. Change name of check_conversion to
3557 check_promoted_subreg.
3559 2008-05-19 Eric Botcazou <ebotcazou@adacore.com>
3561 * tree.c (substitute_in_expr) <tcc_vl_exp>: Fix thinko.
3563 2008-05-14 Michael Meissner <michael.meissner@amd.com>
3565 Backport from mainline:
3567 * config/i386/sse.md (vec_widen_smult_hi_v4si): Delete, using
3568 unsigned multiply gives the wrong value when doing widening
3570 (vec_widen_smult_lo_v4si): Ditto.
3572 2008-05-17 Eric Botcazou <ebotcazou@adacore.com>
3574 * fold-const.c (fold_unary) <CASE_CONVERT>: Fold the cast into
3575 a BIT_AND_EXPR only for an INTEGER_TYPE.
3577 2008-05-15 Richard Guenther <rguenther@suse.de>
3579 PR tree-optimization/36245
3580 * tree-ssa-address.c (add_to_parts): Deal with non-pointer
3583 2008-05-15 H.J. Lu <hongjiu.lu@intel.com>
3585 Backport from mainline:
3586 2008-05-14 H.J. Lu <hongjiu.lu@intel.com>
3588 * config/i386/sse.md (*sse4_1_pinsrq): Make it 64bit only.
3590 2008-05-14 Ira Rosen <irar@il.ibm.com>
3592 PR tree-optimization/36098
3593 * tree-vect-analyze.c (vect_analyze_group_access): Set the gap
3594 value for the first load in the group in case of a gap.
3595 (vect_build_slp_tree): Check that there are no gaps in loads.
3597 2008-05-13 Anatoly Sokolov <aesok@post.ru>
3599 * config/avr/avr.h (machine_function): Add 'is_leaf' field.
3600 * config/avr/avr.c (avr_regs_to_save): Compute 'machine->is_leaf'.
3601 Use 'machine->is_leaf' instead of 'leaf_func_p'.
3603 2008-05-13 Richard Guenther <rguenther@suse.de>
3606 * fold-const.c (fold_sign_changed_comparison): Do not allow
3607 changes in pointer-ness.
3609 2008-05-12 Hans-Peter Nilsson <hp@axis.com>
3611 Backport from mainline:
3612 2008-04-08 Hans-Peter Nilsson <hp@axis.com>
3614 * config/cris/cris.c (cris_address_cost): For a PLUS, swap tem1
3615 and tem2 if tem1 is not a REG or MULT.
3617 2008-05-11 Danny Smith <dannysmith@users.sourceforge.net>
3619 Backport from mainline:
3620 2008-04-15 Zuxy Meng <zuxy.meng@gmail.com>
3623 * config/i386/winnt.c (i386_pe_section_type_flags): Mark
3624 ".text.unlikely" section as executable.
3626 2008-05-11 Uros Bizjak <ubizjak@gmail.com>
3628 Backport from mainline:
3629 2008-05-09 Uros Bizjak <ubizjak@gmail.com>
3631 PR tree-optimization/36129
3632 * tree-ssa-ccp.c: Include value-prof.h.
3633 (execute_fold_all_builtins): Call gimple_remove_stmt_histograms if
3634 built-in function was folded to a constant.
3635 * Makefile.in (tree-ssa-ccp.c): Depend on value-prof.h
3637 2008-05-09 Richard Guenther <rguenther@suse.de>
3639 PR tree-optimization/36187
3640 * tree-dfa.c (dump_variable): Correct dumping of
3641 SFT_BASE_FOR_COMPONENTS_P.
3642 * tree-ssa-structalias.c (set_uids_in_ptset): Set
3643 SFT_UNPARTITIONABLE_P correctly for the union case.
3645 2008-05-09 Steve Ellcey <sje@cup.hp.com>
3647 Backport from mainline:
3648 2008-04-07 Peter Bergner <bergner@vnet.ibm.com>
3650 PR middle-end/PR28690
3651 * rtlanal.c: Update copyright years.
3652 (commutative_operand_precedence): Give SYMBOL_REF's the same precedence
3653 as REG_POINTER and MEM_POINTER operands.
3654 * emit-rtl.c (gen_reg_rtx_and_attrs): New function.
3655 (set_reg_attrs_from_value): Call mark_reg_pointer as appropriate.
3656 * rtl.h (gen_reg_rtx_and_attrs): Add prototype for new function.
3657 * gcse.c: Update copyright years.
3658 (pre_delete): Call gen_reg_rtx_and_attrs.
3659 (hoist_code): Likewise.
3660 (build_store_vectors): Likewise.
3661 (delete_store): Likewise.
3662 * loop-invariant.c (move_invariant_reg): Likewise.
3663 Update copyright years.
3665 2008-04-08 Peter Bergner <bergner@vnet.ibm.com>
3668 PR middle-end/PR28690
3669 * rtlanal.c: (commutative_operand_precedence): Give SYMBOL_REF's the
3670 same precedence as REG_POINTER and MEM_POINTER operands.
3672 2008-04-09 Peter Bergner <bergner@vnet.ibm.com>
3674 PR middle-end/PR28690
3675 * explow.c (break_out_memory_refs): Use simplify_gen_binary rather
3676 than gen_rtx_fmt_ee to perform more canonicalizations.
3678 2008-05-09 Steve Ellcey <sje@cup.hp.com>
3680 Backport from mainline:
3681 2008-05-08 Steve Ellcey <sje@cup.hp.com>
3683 * stmt.c (expand_stack_restore): Change sa mode if needed.
3685 2008-05-08 David Edelsohn <edelsohn@gnu.org>
3688 * config/rs6000/rs6000.c (print_operand_address): If the TOC
3689 address RHS contains an offset, output it as well.
3693 2008-05-08 Paolo Bonzini <bonzini@gnu.org>
3695 * simplify-rtx.c (simplify_plus_minus): Create CONST of
3696 similar RTX_CONST_OBJ before CONST_INT.
3698 2008-05-08 H.J. Lu <hongjiu.lu@intel.com>
3700 Backport from mainline:
3701 2008-05-06 H.J. Lu <hongjiu.lu@intel.com>
3704 * config/i386/i386.c (contains_128bit_aligned_vector_p): Renamed
3706 (contains_aligned_value_p): This. Handle _Decimal128.
3707 (ix86_function_arg_boundary): Only align _Decimal128 to its
3708 natural boundary and handle it properly.
3710 2008-05-08 Paolo Bonzini <bonzini@gnu.org>
3713 * simplify-rtx.c (simplify_plus_minus): Create CONST of
3714 similar RTX_CONST_OBJ before CONST_INT.
3716 2008-05-08 Richard Guenther <rguenther@suse.de>
3719 * tree-ssa-structalias.c (push_fields_onto_fieldstack): Make
3720 sure to create a representative for trailing arrays for PTA.
3722 2008-05-08 Richard Guenther <rguenther@suse.de>
3725 * fold-const.c (operand_equal_p): Two objects which types
3726 differ in pointerness are not equal.
3728 2008-05-07 Ian Lance Taylor <iant@google.com>
3731 * gimplify.c (find_single_pointer_decl_1): Don't look through
3733 (find_single_pointer_decl): Adjust comments.
3735 2008-05-07 Jakub Jelinek <jakub@redhat.com>
3738 * fold-const.c (fold_binary): Use STRIP_SIGN_NOPS instead of
3739 STRIP_NOPS on arguments even for MIN_EXPR and MAX_EXPR.
3742 * omp-low.c (expand_omp_atomic_pipeline): Load value using the
3743 integral type rather than floating point, then VIEW_CONVERT_EXPR
3744 to the floating point type.
3746 2008-05-05 Marius Strobl <marius@FreeBSD.org>
3748 * gthr-posix.h (__gthread_active_p): Use the Solaris implementation
3749 for FreeBSD as well.
3750 * gthr-posix95.h: Likewise.
3752 2008-05-05 Ira Rosen <irar@il.ibm.com>
3754 PR tree-optimization/36119
3755 * tree-vect-transform.c (vectorizable_assignment): Set NCOPIES to 1
3758 2008-05-03 Richard Guenther <rguenther@suse.de>
3761 * opts.c (set_Wstrict_aliasing): Handle the turn-off case.
3763 2008-05-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
3766 * optc-gen.awk: Work around HP-UX/IA awk bug.
3768 2008-05-01 H.J. Lu <hongjiu.lu@intel.com>
3771 * config/i386/i386.c (bdesc_crc32): Remove OPTION_MASK_ISA_64BIT
3772 from IX86_BUILTIN_CRC32QI. Add OPTION_MASK_ISA_64BIT to
3773 IX86_BUILTIN_CRC32DI.
3774 (ix86_init_mmx_sse_builtins): Add OPTION_MASK_ISA_64BIT to
3775 IX86_BUILTIN_CRC32DI.
3777 * doc/extend.texi: Correct __builtin_ia32_crc32di.
3779 2008-04-30 Ian Lance Taylor <iant@google.com>
3781 Backport from mainline:
3782 2008-04-22 Ian Lance Taylor <iant@google.com>
3784 * fold-const.c (pointer_may_wrap_p): Call int_size_in_bytes rather
3787 2008-04-18 Ian Lance Taylor <iant@google.com>
3789 * fold-const.c (pointer_may_wrap_p): New static function.
3790 (fold_comparison): Add another test for pointer overflow. Use
3791 pointer_may_wrap_p to disable some false positives.
3793 2008-04-14 Ian Lance Taylor <iant@google.com>
3795 * fold-const.c (fold_overflow_warning): Remove assertion.
3797 2008-04-14 Ian Lance Taylor <iant@google.com>
3799 * flags.h (POINTER_TYPE_OVERFLOW_UNDEFINED): Define.
3800 * fold-const.c (fold_comparison): If appropriate, test
3801 POINTER_TYPE_OVERFLOW_UNDEFINED, and issue an overflow warning.
3802 (fold_binary): Test POINTER_TYPE_OVERFLOW_UNDEFINED when
3803 reassociating a pointer type.
3804 * doc/invoke.texi (Optimize Options): Document that
3805 -fstrict-overflow applies to pointer wraparound.
3807 2008-04-29 Richard Guenther <rguenther@suse.de>
3810 * fold-const.c (extract_muldiv_1): In combining division constants
3811 make sure to never overflow.
3813 2008-04-28 Jakub Jelinek <jakub@redhat.com>
3816 * dwarf2out.c (struct die_struct): Mark as chain_circular through
3818 * gengtype.c (walk_type, write_func_for_structure): Handle
3820 * doc/gty.texi: Document chain_circular.
3822 2008-04-25 Pompapathi V Gadad <Pompapathi.V.Gadad@nsc.com>
3824 * config.gcc (crx-*-elf): Remove deprecation.
3826 2008-04-24 David Edelsohn <edelsohn@gnu.org>
3828 Backport from mainline:
3829 2008-04-09 David Edelsohn <edelsohn@gnu.org>
3832 * toplev.c (process_options): Remove -ffunction-sections debugging
3835 2008-04-24 Jakub Jelinek <jakub@redhat.com>
3838 * c-common.c (handle_vector_size_attribute): Call
3839 lang_hooks.types.reconstruct_complex_type instead of
3840 reconstruct_complex_type.
3841 * config/rs6000/rs6000.c (rs6000_handle_altivec_attribute): Likewise.
3842 * config/spu/spu.c (spu_handle_vector_attribute): Likewise.
3843 * langhooks.h (struct lang_hooks_for_types): Add
3844 reconstruct_complex_type hook.
3845 * langhooks-def.h (LANG_HOOKS_RECONSTRUCT_COMPLEX_TYPE): Define.
3846 (LANG_HOOKS_FOR_TYPES_INITIALIZER): Add it.
3848 PR tree-optimization/36008
3849 * fold-const.c (try_move_mult_to_index): If s == NULL, divide
3850 the original op1, rather than delta by step.
3852 2008-04-24 Ira Rosen <irar@il.ibm.com>
3853 Richard Guenther <rguenther@suse.de>
3855 PR tree-optimization/36034
3856 * tree-vect-analyze.c (vect_analyze_group_access): SLP is
3857 incapable of dealing with loads with gaps.
3859 2008-04-24 Jakub Jelinek <jakub@redhat.com>
3862 * config/i386/i386.c (init_cumulative_args): Don't pass anything
3863 in registers for -m32 only if stdarg_p (fntype).
3865 2008-04-23 Richard Guenther <rguenther@suse.de>
3868 * c-common.c (handle_alloc_size_attribute): Use type_num_arguments.
3870 2008-04-23 Ira Rosen <irar@il.ibm.com>
3872 PR tree-optimization/35982
3873 * tree-vect-analyze.c (vect_check_interleaving): Check that the
3874 interleaved data-refs are of the same type.
3876 2008-04-23 Jakub Jelinek <jakub@redhat.com>
3878 PR rtl-optimization/36017
3879 * builtins.c (expand_errno_check): Clear CALL_EXPR_TAILCALL before
3880 expanding the library call.
3882 2008-04-17 Volker Reichelt <v.reichelt@netcologne.de>
3885 * attribs.c (decl_attributes): Return early on errorneous node.
3888 * c-format.c (init_dynamic_gfc_info): Ignore invalid locus type.
3890 2008-04-17 Alan Modra <amodra@bigpond.net.au>
3893 * config/rs6000/rs6000.c (rs6000_emit_epilogue): Restore vr and vrsave
3894 regs before frame pop when needed. If use_backchain_to_restore_sp
3895 then load backchain into a temp reg to restore vr and vrsave. Add
3896 code to restore vr after frame pop if possible.
3898 2008-04-17 Uros Bizjak <ubizjak@gmail.com>
3900 Backport from mainline:
3901 2008-04-16 Uros Bizjak <ubizjak@gmail.com>
3904 * config/i386/i386.md (fmodxf3): Copy operand 1 and operand 2 into
3905 temporary registers. Change operand predicate to general_operand.
3906 (remainderxf3): Ditto.
3908 2008-04-16 Jakub Jelinek <jakub@redhat.com>
3911 * tree-nrv.c (tree_nrv): Don't optimize if result_type is GIMPLE
3914 PR tree-optimization/35899
3915 * tree-inline.c (expand_call_inline): Use GIMPLE_STMT_OPERAND
3916 rather than TREE_OPERAND.
3918 2008-04-15 Eric Botcazou <ebotcazou@adacore.com>
3920 * tree-predcom.c (suitable_reference_p): Return false if the
3921 reference can throw.
3923 2008-04-15 Jakub Jelinek <jakub@redhat.com>
3926 * c-decl.c (finish_decl): If extern or static var has variable
3927 size, set TREE_TYPE (decl) to error_mark_node.
3929 2008-04-14 Eric Botcazou <ebotcazou@adacore.com>
3931 * tree-ssa-loop-ivopts.c (may_be_nonaddressable_p) <VIEW_CONVERT_EXPR>:
3932 Return true if the operand is an INTEGER_CST.
3934 2008-04-12 James E. Wilson <wilson@tuliptree.org>
3937 * config/ia64/div.md (recip_approx_rf): Use UNSPEC not DIV.
3938 * config/ia64/ia64.c (rtx_needs_barrier): Handle
3939 UNSPEC_FR_RECIP_APPROX_RES.
3940 * config/ia64/ia64.md (UNSPEC_FR_RECIP_APPROX_RES): Define.
3942 2008-04-09 Andy Hutchinson <hutchinsonandy@aim.com>
3944 PR rtl-optimization/34916
3946 * combine.c (create_log_links): Do not create duplicate LOG_LINKS
3947 between instruction pairs.
3949 2008-04-09 Ira Rosen <irar@il.ibm.com>
3951 PR tree-optimization/35821
3952 * tree-vect-transform.c (vect_create_data_ref_ptr): Add check that
3953 NEW_STMT_LIST is not NULL.
3955 2008-04-08 Richard Guenther <rguenther@suse.de>
3957 * fold-const.c (fold_widened_comparison): Do not allow
3958 sign-changes that change the result.
3960 2008-04-06 Tom G. Christensen <tgc@jupiterrise.com>
3962 * gthr-posix95.h (__gthread_cond_wait_recursive): Add missing &.
3964 2008-04-05 Richard Guenther <rguenther@suse.de>
3966 PR tree-optimization/35833
3967 * tree-vrp.c (operand_less_p): Deal with non-INTEGER_CST
3968 results from fold_binary_to_constant.
3969 (compare_values_warnv): Likewise.
3971 2008-04-04 Jakub Jelinek <jakub@redhat.com>
3974 * tree-cfg.c (remove_useless_stmts_1): Handle OMP_* containers.
3977 * c-pretty-print.c (pp_c_initializer_list): Handle CONSTRUCTOR
3980 2008-04-03 Jakub Jelinek <jakub@redhat.com>
3983 * c-parser.c (c_parser_omp_atomic): Call
3984 default_function_array_conversion on the RHS.
3987 * omp-low.c (scan_sharing_clauses) <case OMP_CLAUSE_SHARED>: Don't
3988 call is_variable_sized if decl has incomplete type.
3990 2008-04-02 Andrew Pinski <pinskia@gmail.com>
3993 * fold-const.c (fold_truthop): Check for integeral types when folding
3994 a == 0 && b == 0 and a != 0 || b != 0 .
3996 2008-04-02 Andrew Pinski <pinskia@gmail.com>
3999 * tree-ssa-phiopt.c (conditional_replacement): Return early for
4002 2008-04-01 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
4005 * fold-const.c (get_pointer_modulus_and_residue): Return modulus 1 if
4006 the expression is a function address.
4008 2008-04-01 Joseph Myers <joseph@codesourcery.com>
4010 * doc/include/gpl_v3.texi: Update for manpage generation.
4011 * doc/gcc.texi, doc/gccint.texi: Include gpl_v3.texi instead of
4013 * doc/sourcebuild.texi: Document gpl_v3.texi as well as gpl.texi.
4014 * Makefile.in (TEXI_GCC_FILES, TEXI_GCCINT_FILES): Include
4015 gpl_v3.texi instead of gpl.texi.
4018 2008-03-28 Nick Clifton <nickc@redhat.com>
4021 * config/stormy16/stormy16.c (xstormy16_legitimate_address_p): Do
4022 not allow INT+INT as a legitimate addressing mode.
4024 2008-03-28 Nick Clifton <nickc@redhat.com>
4027 * config/mn10300/mn10300.c (mn10300_secondary_reload_class):
4028 Return GENERAL_REGS for stack adjustment reloads.
4030 2008-03-27 H.J. Lu <hongjiu.lu@intel.com>
4032 Backport from mainline:
4033 2008-03-27 H.J. Lu <hongjiu.lu@intel.com>
4036 * config/i386/i386.c (ix86_function_arg_boundary): Align
4037 decimal floating point to its natural boundary.
4039 2008-03-25 Richard Guenther <rguenther@suse.de>
4041 Backport from mainline:
4042 2008-03-19 Richard Guenther <rguenther@suse.de>
4045 * tree-ssa.c (walk_data): New structure.
4046 (warn_uninitialized_var): If not always_executed warn with "maybe"
4048 (execute_early_warn_uninitialized): Compute post-dominators.
4049 Initialize always_executed before processing each basic block.
4051 2008-03-20 Ira Rosen <irar@il.ibm.com>
4053 * doc/invoke.texi (-O3): Add -ftree-vectorize to the list of
4054 optimizations turned on under -O3.
4055 (ftree-vectorize): Add that the flag is turned on with -O3.
4057 2008-03-19 Michael Matz <matz@suse.de>
4059 Backport from mainline:
4060 2008-03-19 Michael Matz <matz@suse.de>
4063 * calls.c (expand_call): Check overlap of arguments with call
4064 address for sibcalls.
4066 2008-03-19 Michael Matz <matz@suse.de>
4068 * gcov-io.h (__gcov_merge_ior, __gcov_fork): Mark hidden.
4070 2008-03-19 Andreas Krebbel <krebbel1@de.ibm.com>
4072 * cse.c (cse_insn): Avoid creation of overlapping MEMs.
4073 * alias.c (nonoverlapping_memrefs_p): Export for use in other modules.
4074 * alias.h (nonoverlapping_memrefs_p): Likewise.
4076 2008-03-19 Andreas Krebbel <krebbel1@de.ibm.com>
4078 * cse.c (cse_extended_basic_block): Invalidate artificial defs
4081 2008-03-18 Mikulas Patocka <mikulas@artax.karlin.mff.cuni.cz>
4084 * config/i386/i386.c (x86_this_parameter): Calculate correct location
4085 of "this" pointer when "regparm = N" or "fastcall" is in effect.
4087 2008-03-18 Richard Guenther <rguenther@suse.de>
4089 Backport from mainline:
4090 2008-03-15 Richard Guenther <rguenther@suse.de>
4093 * tree-ssa-ccp.c (maybe_fold_offset_to_array_ref): Make sure
4094 to not produce negative array indices if not allowed. Add
4095 parameter to indicate that.
4096 (maybe_fold_offset_to_component_ref): Allow negative array
4097 indices only for the first member of a structure.
4098 (maybe_fold_offset_to_reference): Allow negative array indices.
4099 (maybe_fold_stmt_addition): Likewise.
4101 2008-03-18 Jakub Jelinek <jakub@redhat.com>
4104 * gimplify.c (gimplify_expr): Gimplify second operand of
4107 2008-03-16 James E. Wilson <wilson@tuliptree.org>
4110 * dbxout.c (dbxout_expand_expr, case VAR_DECL): Return NULL for
4111 emulated thread local variables.
4113 2008-03-16 Hans-Peter Nilsson <hp@axis.com>
4115 * doc/extend.texi (Alignment): Say that the ABI controls
4116 the __alignof__ for non-strict-alignment targets rather
4117 than being a recommendation.
4119 2008-03-14 Richard Guenther <rguenther@suse.de>
4121 Backport from mainline:
4122 2008-02-19 Richard Guenther <rguenther@suse.de>
4124 PR tree-optimization/34989
4125 * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Re-structure.
4126 Allow propagation to INDIRECT_REF if we can simplify only.
4128 2008-03-14 Uros Bizjak <ubizjak@gmail.com>
4132 * config/i386/xmmintrin.h: Change all static inline functions to
4133 extern inline and add __gnu_inline__ attribute.
4134 * config/i386/bmintrin.h: Ditto.
4135 * config/i386/smmintrin.h: Ditto.
4136 * config/i386/tmmintrin.h: Ditto.
4137 * config/i386/mmintrin-common.h: Ditto.
4138 * config/i386/ammintrin.h: Ditto.
4139 * config/i386/emmintrin.h: Ditto.
4140 * config/i386/pmmintrin.h: Ditto.
4141 * config/i386/mmintrin.h: Ditto.
4142 * config/i386/mm3dnow.h: Ditto.
4144 2008-03-13 Jakub Jelinek <jakub@redhat.com>
4147 * omp-low.c (lower_regimplify, init_tmp_var, save_tmp_var): Removed.
4148 (lower_omp_2): New function.
4149 (lower_omp_1, lower_omp): Rewritten.
4151 2008-03-12 Jakub Jelinek <jakub@redhat.com>
4154 * omp-low.c (maybe_lookup_decl): Constify first argument.
4155 (use_pointer_for_field): Change last argument from bool to
4156 omp_context *. Disallow shared copy-in/out in nested
4157 parallel if decl is shared in outer parallel too.
4158 (build_outer_var_ref, scan_sharing_clauses,
4159 lower_rec_input_clauses, lower_copyprivate_clauses,
4160 lower_send_clauses, lower_send_shared_vars): Adjust callers.
4162 2008-03-12 Uros Bizjak <ubizjak@gmail.com>
4165 * config/i386/i386.md (paritysi2, paritydi2): Use register_operand
4166 constraint for operand 1.
4167 (paritysi2_cmp): Use register_operand constraint for operand 2.
4168 Use earlyclobber modifier for operand 1. Remove support for
4170 (paritydi2_cmp): Use register_operand constraint for operand 3.
4171 Use earlyclobber modifier for operand 1. Remove support for
4174 2008-03-11 Uros Bizjak <ubizjak@gmail.com>
4177 * expr.c (store_expr): Call emit_block_move if the mode
4178 of "temp" RTX is BLKmode.
4180 2008-03-10 Vladimir Makarov <vmakarov@redhat.com>
4182 * config/i386/sse.md (ssse3_pmaddubswv8hi3, ssse3_pmaddubswv4hi3):
4183 Remove commutativity hint.
4185 2008-03-10 Jakub Jelinek <jakub@redhat.com>
4189 * c-parser.c (c_parser_omp_threadprivate): Don't add vars with
4190 errorneous type. Check that v is a VAR_DECL.
4193 * tree-cfg.c (new_label_mapper): Update cfun->last_label_uid.
4195 2008-03-10 Uros Bizjak <ubizjak@gmail.com>
4197 Backport from mainline:
4198 2008-03-09 Uros Bizjak <ubizjak@gmail.com>
4201 * config/i386/i386.c (ix86_constant_alignment): Compute alignment using
4202 ALIGN_MODE_128 for VECTOR_CST and INTEGER_CST in addition to REAL_CST.
4204 2008-03-04 Uros Bizjak <ubizjak@gmail.com>
4207 * fold-const.c (fold_cond_expr_with_comparison): Prevent
4208 transformations for modes that have signed zeros.
4209 * ifcvt.c (noce_try_abs): Ditto.
4211 2008-03-09 Kaz Kojima <kkojima@gcc.gnu.org>
4213 Backport from mainline:
4215 * config/sh/sh.c (find_barrier): Don't go past 'from' argument.
4217 2008-03-09 Kaz Kojima <kkojima@gcc.gnu.org>
4219 Backport from mainline:
4221 * config/sh/sh.md (jump_compact): Disable for crossing jumps.
4223 * config/sh/sh.c (find_barrier): Don't go past
4224 NOTE_INSN_SWITCH_TEXT_SECTIONS note.
4226 2008-03-08 Jakub Jelinek <jakub@redhat.com>
4229 * config/rs6000/rs6000.c (rs6000_expand_compare_and_swapqhi): Shift
4230 wdst back after sync_compare_and_swapqhi_internal.
4232 2008-03-07 Joseph Myers <joseph@codesourcery.com>
4234 * doc/include/texinfo.tex: Update to version 2008-03-07.10.
4236 2008-03-07 Richard Guenther <rguenther@suse.de>
4238 Backport from mainline:
4239 2008-03-05 Richard Guenther <rguenther@suse.de>
4241 PR tree-optimization/35472
4242 * tree-ssa-dse.c (dse_optimize_stmt): Do not delete a store
4243 whose single use_stmt has a overlapping set of loaded and
4244 stored symbols as that use_stmt might be a noop assignment then.
4246 2008-03-06 H.J. Lu <hongjiu.lu@intel.com>
4248 Backport from mainline:
4249 2008-02-18 H.J. Lu <hongjiu.lu@intel.com>
4252 * config/i386/i386.c (OPTION_MASK_ISA_MMX_SET): New.
4253 (OPTION_MASK_ISA_3DNOW_SET): Likewise.
4254 (OPTION_MASK_ISA_SSE_SET): Likewise.
4255 (OPTION_MASK_ISA_SSE2_SET): Likewise.
4256 (OPTION_MASK_ISA_SSE3_SET): Likewise.
4257 (OPTION_MASK_ISA_SSSE3_SET): Likewise.
4258 (OPTION_MASK_ISA_SSE4_1_SET): Likewise.
4259 (OPTION_MASK_ISA_SSE4_2_SET): Likewise.
4260 (OPTION_MASK_ISA_SSE4_SET): Likewise.
4261 (OPTION_MASK_ISA_SSE4A_SET): Likewise.
4262 (OPTION_MASK_ISA_SSE5_SET): Likewise.
4263 (OPTION_MASK_ISA_3DNOW_A_UNSET): Likewise.
4264 (OPTION_MASK_ISA_MMX_UNSET): Updated.
4265 (OPTION_MASK_ISA_3DNOW_UNSET): Updated.
4266 (OPTION_MASK_ISA_SSE_UNSET): Likewise.
4267 (OPTION_MASK_ISA_SSE3_UNSET): Likewise.
4268 (OPTION_MASK_ISA_SSSE3_UNSET): Likewise.
4269 (OPTION_MASK_ISA_SSE4_1_UNSET): Likewise.
4270 (OPTION_MASK_ISA_SSE4_2_UNSET): Likewise.
4271 (OPTION_MASK_ISA_SSE4A_UNSET): Likewise.
4272 (OPTION_MASK_ISA_SSE5_UNSET): Likewise.
4273 (OPTION_MASK_ISA_SSE4): Removed.
4274 (ix86_handle_option): Turn on bits in ix86_isa_flags and
4275 ix86_isa_flags_explicit with OPTION_MASK_ISA_XXX_SET for -mXXX.
4276 (override_options): Don't turn on implied SSE/MMX bits in
4279 2008-03-06 Jakub Jelinek <jakub@redhat.com>
4281 * gimplify.c (goa_lhs_expr_p): Allow different ADDR_EXPR nodes
4282 for the same VAR_DECL.
4284 2008-03-06 Daniel Jacobowitz <dan@codesourcery.com>
4286 * expmed.c (extract_bit_field): Always use adjust_address for MEM.
4288 2008-03-06 Joseph Myers <joseph@codesourcery.com>
4291 * tree.c (handle_dll_attribute): Disallow TYPE_DECLs for types
4292 other than structures and unions.
4294 2008-03-06 Jakub Jelinek <jakub@redhat.com>
4296 * BASE-VER: Set to 4.3.1.
4297 * DEV-PHASE: Set to prerelease.
4299 2008-03-05 Release Manager
4301 * GCC 4.3.0 released.
4303 2008-03-05 Serge Belyshev <belyshev@depni.sinp.msu.ru>
4305 * doc/install.texi (Testing): Correct quoting for the RUNTESTFLAGS
4306 examples. Truncate option-names then causing overfull hbox.
4308 2008-03-04 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
4311 * configure.ac (CONFIG_SJLJ_EXCEPTIONS): Force SJLJ exceptions
4313 * configure: Rebuilt.
4315 2008-03-04 H.J. Lu <hongjiu.lu@intel.com>
4317 Backport from mainline:
4318 2008-03-04 H.J. Lu <hongjiu.lu@intel.com>
4321 * config/i386/smmintrin.h (SIDD_XXX): Renamed to ...
4324 2008-03-02 Jakub Jelinek <jakub@redhat.com>
4327 * gcc.c (process_command): Update copyright notice dates.
4328 * gcov.c (print_version): Likewise.
4329 * gcov-dump.c (print_version): Likewise.
4330 * mips-tfile.c (main): Likewise.
4331 * mips-tdump.c (main): Likewise.
4333 2008-02-29 Douglas Gregor <doug.gregor@gmail.com>
4336 * tree-inline.c (build_duplicate_type): When we make a
4337 duplicate type, make it unique in the canonical types system.
4339 2008-02-29 Uros Bizjak <ubizjak@gmail.com>
4341 Backport from mainline:
4342 2008-02-27 Uros Bizjak <ubizjak@gmail.com>
4345 * builtins.def (BUILT_IN_NAN): Define as c99 builtin
4346 using DEF_C99_BUILTIN.
4347 (BUILT_IN_NANF): Ditto.
4348 (BUILT_IN_NANL): Ditto.
4350 2008-02-28 Uros Bizjak <ubizjak@gmail.com>
4352 Backport from mainline:
4353 2008-02-25 Francois-Xavier Coudert <coudert@clipper.ens.fr>
4354 Uros Bizjak <ubizjak@gmail.com>
4357 * config/darwin-protos.h: Add darwin_patch_builtins prototype.
4358 * config/darwin-ppc-ldouble-patch.def: New file.
4359 * config/rs6000/darwin.h (SUBTARGET_INIT_BUILTINS): New macro.
4360 * config/rs6000/rs6000.c (rs6000_init_builtins): Call
4361 SUBTARGET_INIT_BUILTINS if defined.
4362 * config/darwin.c (darwin_patch_builtin,
4363 darwin_patch_builtins): New functions.
4365 2008-02-27 Richard Guenther <rguenther@suse.de>
4367 Backport from mainline:
4368 2008-02-27 Richard Guenther <rguenther@suse.de>
4371 * fold-const.c (fold_unary): Return the correct argument,
4372 converted to the result type.
4375 * fold-const.c (fold_binary): Use the types precision, not the
4376 bitsize of the mode if folding rotate expressions. Build rotates
4377 only for full modes.
4379 2008-02-25 Jan Beulich <jbeulich@novell.com>
4381 * Makefile.in: Also prefix uses of crt0.o and mcrt0.o with $(T).
4382 * config/i386/netware-libgcc.exp: Add __bswap?i2,
4383 __emultls_get_address, __emultls_register_common,
4384 __floatundi?f, and _Unwind_GetIPInfo.
4385 * config/i386/netware.c (gen_stdcall_or_fastcall_decoration):
4386 Sync with config/i386/winnt.c:gen_stdcall_or_fastcall_suffix().
4387 (gen_regparm_prefix): Likewise.
4388 (i386_nlm_encode_section_info): Sync with
4389 config/i386/winnt.c:i386_pe_encode_section_info().
4390 (i386_nlm_maybe_mangle_decl_assembler_name): New.
4391 i386_nlm_mangle_decl_assembler_name): New.
4392 (netware_override_options): New.
4393 * config/i386/netware.h (netware_override_options): Declare.
4394 (OVERRIDE_OPTIONS): Re-define to netware_override_options.
4395 (i386_nlm_mangle_decl_assembler_name): Declare.
4396 (TARGET_MANGLE_DECL_ASSEMBLER_NAME): Define.
4398 2008-02-22 Nathan Froyd <froydnj@codesourcery.com>
4400 * config/rs6000/linuxspe.h (SUBSUBTARGET_OVERRIDE_OPTIONS):
4402 * config/rs6000/eabispe.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Likewise.
4404 2008-02-22 Hans-Peter Nilsson <hp@axis.com>
4406 * config/cris/cris.h (REG_CLASS_FROM_LETTER): Recognize 'b' for
4409 2008-02-21 Janis Johnson <janis187@us.ibm.com>
4412 * config/rs6000/rs6000.c (rs6000_altivec_abi): Clarify comment.
4413 (rs6000_explicit_options): Split abi into spe_abi and altivec_abi,
4415 (rs6000_override_options): Set altivec_abi as default, not override,
4416 for 64-bit GNU/Linux; for 32-bit GNU/Linux default to altivec_abi for
4417 TARGET_ALTIVEC; default to TARGET_ALTIVEC_VRSAVE when AltiVec ABI
4418 is used; use new member spe_abi.
4419 (rs6000_handle_option): Set rs6000_explicit_options.vrsave; use
4420 spe_abi and altivec_abi.
4422 2008-02-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
4425 * config.build (build_file_translate): Set to `CMD //c' only if
4427 * Makefile.in (build_file_translate): Improve comment.
4429 2008-02-21 Michael Matz <matz@suse.de>
4432 * config/i386/i386.c (ix86_expand_branch): Add missing breaks.
4434 2008-02-20 DJ Delorie <dj@redhat.com>
4436 * config/h8300/h8300.md (insv): Force source operand to be a register.
4438 * config/h8300/h8300.c (h8300_expand_epilogue): Emit return insn
4439 as a jump, not as a plain insn.
4441 2008-02-20 Joseph Myers <joseph@codesourcery.com>
4443 * doc/invoke.texi, doc/standards.texi: Refer to
4444 gcc-4.3/c99status.html.
4446 2008-02-20 Richard Guenther <rguenther@suse.de>
4449 * builtins.c (validate_arg): If we want an INTEGER_TYPE,
4450 be happy with INTEGRAL_TYPE_P.
4452 2008-02-19 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
4455 * Makefile.in (build_file_translate): New.
4456 (gcc-vers.texi): Use it for translating $(abs_srcdir).
4457 * config.build (build_file_translate): Set to `CMD //c' on MinGW.
4458 * configure.ac (build_file_translate): Substitute it.
4459 * configure: Regenerate.
4461 2008-02-19 Jakub Jelinek <jakub@redhat.com>
4464 * config/i386/cpuid.h (__cpuid, __get_cpuid_max): Use special
4465 32-bit inline asm without asm alternatives for host GCC < 3.0.
4467 2008-02-19 Paul Brook <paul@codesourcery.com>
4470 * config/arm/ieee754-df.S: Fix do_it typo.
4471 * config/arm/ieee754-sf.S: Fix do_it typo.
4473 2008-02-18 Jakub Jelinek <jakub@redhat.com>
4475 * DEV-PHASE: Mark as prerelease.
4477 2008-02-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
4479 * doc/c-tree.texi: Use @dots{} and @enddots{} where appropriate.
4480 * doc/cfg.texi: Likewise.
4481 * doc/extend.texi: Likewise.
4482 * doc/gty.texi: Likewise.
4483 * doc/invoke.texi: Likewise.
4484 * doc/loop.texi: Likewise.
4485 * doc/md.texi: Likewise.
4486 * doc/passes.texi: Likewise.
4487 * doc/rtl.texi: Likewise.
4488 * doc/sourcebuild.texi: Likewise.
4489 * doc/tm.texi: Likewise.
4490 * doc/tree-ssa.texi: Likewise.
4492 2008-02-17 Richard Guenther <rguenther@suse.de>
4495 * tree-complex.c (init_parameter_lattice_values): Handle parameters
4496 without default definition.
4498 2008-02-17 Richard Guenther <rguenther@suse.de>
4500 PR tree-optimization/35231
4501 * tree-vrp.c (register_edge_assert_for): Do not assume A == 0
4504 2008-02-17 Uros Bizjak <ubizjak@gmail.com>
4508 2008-02-15 Uros Bizjak <ubizjak@gmail.com>
4509 * config/i386/sfp-machine.h (CMPtype): Define as typedef using
4510 libgcc_cmp_return mode.
4512 2008-02-16 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
4515 * doc/invoke.texi (-std): Clarify description of -std= and -ansi.
4517 2008-02-16 Ralf Corsepius <ralf.corsepius@rtems.org>
4519 * config/m68k/t-rtems (M68K_MLIB_CPU): Add 5208, 5307, 5407, 5475
4522 2008-02-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
4524 * doc/c-tree.texi: Use `@.' where appropriate.
4525 * doc/extend.texi: Likewise.
4526 * doc/install.texi: Likewise.
4527 * doc/invoke.texi: Likewise.
4528 * doc/loop.texi: Likewise.
4529 * doc/makefile.texi: Likewise.
4530 * doc/md.texi: Likewise.
4531 * doc/passes.texi: Likewise.
4532 * doc/standards.texi: Likewise.
4533 * doc/tm.texi: Likewise.
4535 2008-02-15 Jakub Jelinek <jakub@redhat.com>
4538 * omp-low.c (expand_omp_for_generic): Don't initialize fd->v
4540 (expand_omp_for_static_nochunk): Initialize fd->v in seq_start_bb
4541 rather than in entry_bb.
4543 2008-02-15 Uros Bizjak <ubizjak@gmail.com>
4545 * config/i386/sfp-machine.h (CMPtype): Define as typedef using
4546 libgcc_cmp_return mode.
4548 2008-02-15 Jakub Jelinek <jakub@redhat.com>
4551 * tree-nested.c (convert_call_expr): Put FRAME.* vars into
4552 OMP_CLAUSE_SHARED rather than OMP_CLAUSE_FIRSTPRIVATE clause.
4554 2008-02-15 Richard Guenther <rguenther@suse.de>
4555 Zdenek Dvorak <ook@ucw.cz>
4557 PR tree-optimization/35164
4558 * tree-flow.h (stmt_references_abnormal_ssa_name): Declare.
4559 * tree-dfa.c (stmt_references_abnormal_ssa_name): New function.
4560 * tree-ssa-forwprop.c (tree_ssa_forward_propagate_single_use_vars):
4561 Only propagate addresses which do not have abnormal SSA_NAMEs
4564 2008-02-15 Joseph Myers <joseph@codesourcery.com>
4567 * config/m68k/m68k.h (DWARF_CIE_DATA_ALIGNMENT): Define.
4569 2008-02-15 Jan Hubicka <jh@suse.cz>
4572 * ipa.c (cgraph_remove_unreachable_nodes): Clear local.inlinable flag.
4574 2008-02-15 Uros Bizjak <ubizjak@gmail.com>
4577 * function.c (pad_to_arg_alignment): Remove test for STACK_BOUNDARY
4578 when calculating alignment_pad.
4580 2008-02-15 Uros Bizjak <ubizjak@gmail.com>
4582 * config/i386/i386.h (CLEAR_RATIO): Use MIN macro.
4583 (WIDEST_HARDWARE_FP_SIZE): Use LONG_DOUBLE_TYPE_SIZE define.
4584 * config/i386/darwin.h (PREFERRED_STACK_BOUNDARY): Use MAX macro
4585 and STACK_BOUNDARY define.
4587 2008-02-14 Danny Smith <dannysmith@users.sourceforge.net>
4589 PR preprocessor/35061
4590 * c-pragma.c (handle_pragma_pop_macro): Check that
4591 pushed_macro_table has been allocated.
4593 2008-02-14 Eric Botcazou <ebotcazou@adacore.com>
4596 * gimplify.c (force_gimple_operand_bsi): Revert 2008-02-12 change.
4597 (force_gimple_operand): Likewise.
4598 * tree-ssa-loop-ivopts.c (may_be_nonaddressable_p): Add new cases
4599 for TARGET_MEM_REF and CONVERT_EXPR/NON_LVALUE_EXPR/NOP_EXPR.
4600 Also recurse on the operand for regular VIEW_CONVERT_EXPRs.
4601 (find_interesting_uses_address): Check addressability and alignment
4602 of the base expression only after substituting bases of IVs into it.
4604 2008-02-14 Michael Matz <matz@suse.de>
4607 * function.c (instantiate_virtual_regs_in_insn): Reload address
4608 before falling back to reloading the whole operand.
4610 2008-02-14 Andreas Krebbel <krebbel1@de.ibm.com>
4612 * config/s390/s390.c (s390_mainpool_start): Emit the pool
4613 before the first section switch note.
4615 2008-02-14 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
4617 * doc/bugreport.texi: Update copyright years.
4618 * doc/c-tree.texi: Likewise.
4619 * doc/cfg.texi: Likewise.
4620 * doc/cpp.texi: Likewise.
4621 * doc/cppinternals.texi: Likewise.
4622 * doc/fragments.texi: Likewise.
4623 * doc/frontends.texi: Likewise.
4624 * doc/gcc.texi: Likewise.
4625 * doc/gty.texi: Likewise.
4626 * doc/hostconfig.texi: Likewise.
4627 * doc/implement-c.texi: Likewise.
4628 * doc/libgcc.texi: Likewise.
4629 * doc/loop.texi: Likewise.
4630 * doc/makefile.texi: Likewise.
4631 * doc/options.texi: Likewise.
4632 * doc/passes.texi: Likewise.
4633 * doc/rtl.texi: Likewise.
4634 * doc/sourcebuild.texi: Likewise.
4635 * doc/standards.texi: Likewise.
4636 * doc/tree-ssa.texi: Likewise.
4637 * doc/trouble.texi: Likewise.
4639 * doc/extend.texi: Use @: or add comma where appropriate.
4640 * doc/invoke.texi: Likewise.
4641 * doc/tm.texi: Likewise.
4643 2008-02-14 Alan Modra <amodra@bigpond.net.au>
4646 * config/rs6000/rs6000.md (restore_stack_block): Force operands[1]
4649 2008-02-14 Jesper Nilsson <jesper.nilsson@axis.com>
4651 * doc/md.texi (clz, ctz): Add reference.
4652 * doc/rtl.texi (clz, ctz): Likewise.
4654 2008-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
4657 * Makefile.in (gcc-vers.texi): Use abs_srcdir for the value of
4660 2008-02-13 Andreas Krebbel <krebbel1@de.ibm.com>
4662 * config/s390/s390.c (struct constant_pool): New field
4663 emit_pool_after added.
4664 (s390_mainpool_start): Set the emit_pool_after flag according
4665 to the section switch notes.
4666 (s390_mainpool_finish): Consider emit_pool_after when emitting
4667 the literal pool at the end of the function.
4668 (s390_chunkify_start): Force literal pool splits at section
4671 2008-02-13 Michael Matz <matz@suse.de>
4674 * var-tracking.c (clobber_variable_part): Correctly traverse the
4677 2008-02-13 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
4680 * doc/invoke.texi (Debugging Options): Remove -fdump-tree-inlined.
4681 Add -fdump-ipa-inline.
4682 * tree-dump.c (dump_files): Remove tree-inlined dump.
4683 * tree-pass.h (tree_dump_index): Remove TDI_inlined.
4685 2008-02-12 Richard Guenther <rguenther@suse.de>
4687 PR tree-optimization/35171
4688 * tree-vect-patterns.c (vect_recog_dot_prod_pattern): Deal with
4691 2008-02-12 Richard Guenther <rguenther@suse.de>
4694 * fold-const.c (fold_widened_comparison): Use get_unwidened in
4695 value-preserving mode. Disallow final truncation.
4697 2008-02-12 Eric Botcazou <ebotcazou@adacore.com>
4700 * gimplify.c (force_gimple_operand_bsi): Move SSA renaming
4701 code from here to...
4702 (force_gimple_operand): ...here.
4704 2008-02-12 Jakub Jelinek <jakub@redhat.com>
4707 * tree-sra.c (sra_build_assignment): fold_convert SRC if copying
4708 non-compatible pointers.
4709 (generate_element_copy): If SRC and DST are RECORD_TYPEs with
4710 different FIELD_DECLs, try harder by comparing field offsets, sizes
4714 * function.c (match_asm_constraints_1): Don't replace the same input
4717 2008-02-12 Anatoly Sokolov <aesok@post.ru>
4719 * config/avr/avr.h (AVR_HAVE_RAMPZ): Define.
4720 * config/avr/avr.c (expand_prologue): Save RAMPZ register.
4721 (expand_epilogue): Restore RAMPZ register.
4722 * config/avr/avr.md (RAMPZ_ADDR): New constant.
4724 2008-02-11 Kai Tietz <kai.tietz@onevision.com>
4726 * config/i386/cygwin.asm: (__alloca): Correct calling
4727 convention and alignment.
4728 (__chkstk): Force 8 byte stack alignment.
4730 2008-02-11 Uros Bizjak <ubizjak@gmail.com>
4731 Richard Guenther <rguenther@suse.de>
4733 PR tree-optimization/33992
4734 * tree-ssa-loop-im.c (rewrite_bittest): Fixup the type of
4735 the zero we compare against.
4737 2008-02-10 Danny Smith <dannysmith@users.sourceforge.net>
4740 * gthr-win32.h (__gthread_mutex_destroy_function): New function
4741 to CloseHandle after unlocking to prevent accumulation of handle
4744 2008-02-09 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
4747 * pa.c (legitimize_pic_address): Add REG_EQUAL note on sets with a
4748 pic_label_operand source. Similarly, add a REG_LABEL_OPERAND note
4749 and update LABEL_NUSES during and after reload.
4751 2008-02-08 Steven Bosscher <stevenb.gcc@gmail.com>
4754 * combine.c (simplify_if_then_else): Make sure the comparison is
4755 against const0_rtx when simplifying to (abs x) or (neg (abs X)).
4757 2008-02-08 Richard Sandiford <rsandifo@nildram.co.uk>
4760 * double-int.h: Don't include gmp.h for GENERATOR_FILEs.
4761 (mpz_set_double_int, mpz_get_double_int): Hide from GENERATOR_FILEs.
4762 * real.h: Don't include gmp.h or mpfr.h for GENERATOR_FILEs.
4763 (real_from_mpfr, mpfr_from_real): Hide from GENERATOR_FILEs.
4764 * tree.h (get_type_static_bounds): Likewise.
4766 2008-02-08 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
4768 * doc/invoke.texi (Option Summary, C++ Dialect Options)
4769 (Objective-C and Objective-C++ Dialect Options, Warning Options):
4770 Make -Wfoo language annotations match what the compiler outputs.
4772 2008-02-08 Sa Liu <saliu@de.ibm.com>
4774 * config/spu/spu-builtins.def: Fixed wrong parameter type in spu
4775 intrinsics spu_convts, spu_convtu, spu_convtf.
4776 * testsuite/gcc.target/spu/intrinsics-3.c: New. Test error messages.
4778 2008-02-08 Hans-Peter Nilsson <hp@axis.com>
4780 * doc/extend.texi (Function Attributes) <noinline>: Mention
4781 asm ("") as method to keep calls.
4783 2008-02-07 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
4786 * doc/options.texi (Options): Replace references to opts.sh with
4788 * opts-common.c: Likewise.
4789 * optc-gen.awk: Likewise.
4791 2008-02-07 Andreas Krebbel <krebbel1@de.ibm.com>
4793 * config/s390/s390.h (FUNCTION_ARG_REGNO_P): Fix fprs for 64 bit.
4795 2008-02-07 Richard Henderson <rth@redhat.com>
4798 * config/alpha/alpha.c (alpha_emit_xfloating_compare): Use an
4799 EXPR_LIST for the REG_EQUAL instead of a comparison with a
4802 2008-02-07 Uros Bizjak <ubizjak@gmail.com>
4804 PR tree-optimization/35085
4805 * tree-ssa-reassoc.c (rewrite_expr_tree): Enable destructive update
4806 for operand entry oe2 in addition to operand entry oe3 in order to
4807 expose more opportunities for vectorizer sum reduction.
4809 2008-02-06 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4812 * Makefile.in (LIBS): Remove $(GMPLIBS).
4813 (cc1-dummy, cc1): Add $(GMPLIBS).
4815 2008-02-06 Jan Hubicka <jh@suse.cz>
4818 * i386.md (moddf_integer): Do not produce partial memory stalls for
4819 targets where it hurts.
4821 2008-02-06 Uros Bizjak <ubizjak@gmail.com>
4824 * optabs.c (expand_float): Do not check for decimal modes when
4825 expanding unsigned integer through signed conversion.
4827 2008-02-06 Nick Clifton <nickc@redhat.com>
4829 * config/stormy16/stormy16.md (eqbranchsi): Replace a match_dup
4830 inside the clobber with a match_operand and duplicated operand
4831 number in the constraint.
4832 (ineqbranchsi): Delete redundant comment.
4834 2008-02-06 Ralf Corsepius <ralf.corsepius@rtems.org>
4836 * config/arm/rtems-elf.h (TARGET_OS_CPP_BUILTINS): Add
4837 builtin_define ("__USE_INIT_FINI__").
4838 * config/h8300/t-rtems (MULTILIB_OPTION,MULTILIB_DIRNAMES): Add
4840 * gthr-rtems.h: Remove __GTHREAD_MUTEX_INIT.
4842 2008-02-06 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
4844 PR documentation/30330
4845 * doc/invoke.texi (C++ Dialect Options)
4846 (Objective-C and Objective-C++ Dialect Options, Warning Options):
4847 For each warning option -Wfoo that allows -Wno-foo, ensure both
4848 -Wfoo and -Wno-foo are listed in the option index. Fix index
4849 entry of -Wswitch-default, index -Wnormalized= including the
4850 `=', and -Wlarger-than-@var{len} including @var{len}.
4852 2008-02-05 Uros Bizjak <ubizjak@gmail.com>
4854 * config/i386/i386.md (floatunssisf2): Use
4855 ix86_expand_convert_uns_sisf_sse also for TARGET_SSE.
4856 (floatunssi<mode>2): Rename from floatunssisf2 and floatunssidf2.
4857 Macroize expander using MODEF mode iterator.
4859 2008-02-05 Diego Novillo <dnovillo@google.com>
4861 http://gcc.gnu.org/ml/gcc-patches/2008-02/msg00140.html
4864 * tree-vrp.c (vrp_evaluate_conditional): Revert fix for PR 33738.
4866 2008-02-05 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4869 * toplev.c (print_version): Honor `indent' for GMP/MPFR warnings.
4871 2008-02-05 H.J. Lu <hongjiu.lu@intel.com>
4874 * config/i386/i386.c (ix86_function_sseregparm): Add an arg
4875 to indicate if a message should be generated.
4876 (init_cumulative_args): Updated.
4877 (function_value_32): Likewise.
4879 2008-02-05 Joseph Myers <joseph@codesourcery.com>
4881 * doc/include/texinfo.tex: Update to version 2008-02-04.16.
4883 2008-02-05 Uros Bizjak <ubizjak@gmail.com>
4886 * config/i386/i386.md (floatunsisf2): Enable for TARGET_SSE_MATH only.
4887 Call ix86_expand_convert_uns_sisf_sse for TARGET_SSE2.
4889 2008-02-04 Diego Novillo <dnovillo@google.com>
4891 http://gcc.gnu.org/ml/gcc-patches/2008-02/msg00110.html
4894 * tree-vrp.c (vrp_evaluate_conditional): With
4895 -Wtype-limits, emit a warning when comparing against a
4896 constant outside the natural range of OP0's type.
4898 2008-02-04 Richard Guenther <rguenther@suse.de>
4901 * expr.c (count_type_elements): Give for unions instead of
4904 2008-02-04 Richard Guenther <rguenther@suse.de>
4907 * gimplify.c (gimplify_init_ctor_eval): Convert array indices
4908 to TYPE_DOMAINs base type instead of using bitsizetype here.
4910 2008-02-03 Jason Merrill <jason@redhat.com>
4912 * print-tree.c (print_node) [CONSTRUCTOR]: Print elements.
4914 2008-02-04 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
4917 * doc/invoke.texi (C++ Dialect Options, Optimize Options)
4918 (HPPA Options, i386 and x86-64 Options, IA-64 Options)
4919 (RS/6000 and PowerPC Options): Fix typos and markup.
4920 * doc/passes.texi (Tree-SSA passes): Likewise.
4922 2008-02-02 Michael Matz <matz@suse.de>
4925 * postreload-gcse.c (record_last_reg_set_info_regno): Renamed
4926 from record_last_reg_set_info.
4927 (record_last_reg_set_info): Take an RTX argument, iterate over all
4928 constituent hardregs.
4929 (record_last_set_info, record_opr_changes): Change calls to
4930 new signature or to record_last_reg_set_info_regno.
4932 2008-02-02 Gerald Pfeifer <gerald@pfeifer.com>
4934 * doc/extend.texi (X86 Built-in Functions): Fix grammar.
4936 2008-02-01 Hans-Peter Nilsson <hp@axis.com>
4938 PR rtl-optimization/34773
4939 * reg-notes.def (EQUAL): Mention significance of combination of
4940 REG_EQUAL and REG_RETVAL.
4941 * fwprop.c (try_fwprop_subst): Don't add REG_EQUAL to an
4942 insn that has a REG_RETVAL.
4944 2008-02-01 Roger Sayle <roger@eyesopen.com>
4947 * configure.ac (--enable-fixed-point): Disable unless explicitly
4949 * configure: Regenerate.
4951 2008-02-01 Richard Guenther <rguenther@suse.de>
4954 * invoke.texi (-finline-limit): Remove no longer true parts
4955 of the documentation. Note that there is no default value.
4957 2008-02-01 Andrew Pinski <pinskia@gmail.com>
4958 Mark Mitchell <mark@codesourcery.com>
4959 Ben Elliston <bje@au.ibm.com>
4962 * doc/extend.texi (Other Builtins): Document.
4964 2008-01-31 Tom Browder <tom.browder@gmail.com>
4966 * doc/c-tree.texi (Types): Fix grammar.
4967 (Expression trees): Ditto.
4968 * doc/passes.texi (Tree-SSA passes): Ditto.
4970 * doc/configterms.texi (Configure Terms): Fix typo.
4971 * doc/cpp.texi (Common Predefined Macros): Ditto.
4972 * doc/md.texi (Machine Constraints): Ditto.
4974 * doc/makefile.texi (Makefile): Add comma.
4976 2008-01-31 Tom Browder <tom.browder@gmail.com>
4977 Gerald Pfeifer <gerald@pfeifer.com>
4979 * doc/sourcebuild.texi (Front End): Remove references to CVS
4980 and CVSROOT/modules.
4981 (Texinfo Manuals): Replace reference to CVS by one to SVN.
4982 (Back End): Remove reference to CVS.
4984 2008-01-31 Richard Sandiford <rsandifo@nildram.co.uk>
4987 * config/mips/mips.c (gen_load_const_gp): New function, taking a
4989 (mips16_gp_pseudo_reg): ...here.
4990 * config/mips/mips.md (load_const_gp): Replace with...
4991 (load_const_gp_<mode>): ...this :P-based insn.
4993 2008-01-31 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
4995 * doc/invoke.texi (-ansi): Mention explicitly corresponding -std=
4996 options. Minor fixes.
4997 (-std): Move reference to standards closer to where language
4998 standards are first mentioned.
5000 2008-01-31 Richard Sandiford <rsandifo@nildram.co.uk>
5002 PR rtl-optimization/34995
5003 * reload.c (alternative_allows_const_pool_ref): Take an rtx
5004 parameter and return a bool. If the rtx parameter is nonnull,
5005 check that it satisfies an EXTRA_MEMORY_CONSTRAINT.
5006 (find_reloads): Update call accordingly. Pass the new operand
5007 if it needed no address reloads, otherwise pass null.
5009 2008-01-30 Richard Henderson <rth@redhat.com>
5012 * tree.c (build_type_attribute_qual_variant): Skip TYPE_DOMAIN
5013 for unbounded arrays.
5015 2008-01-30 Silvius Rus <rus@google.com>
5017 * config/i386/xmmintrin.h (_mm_prefetch): Add const to first arg.
5019 2008-01-30 Jan Hubicka <jh@suse.cz>
5022 * i386.c (init_cumulative_args): Use real function declaration when
5025 2008-01-30 Richard Sandiford <rsandifo@nildram.co.uk>
5027 PR rtl-optimization/34998
5028 * global.c (build_insn_chain): Treat non-subreg_lowpart
5029 SUBREGs of pseudos as clobbering all the words covered by the
5030 SUBREG, not just all the bytes.
5031 * ra-conflict.c (clear_reg_in_live): Likewise. Take the
5032 original df_ref rather than an extract parameter.
5033 (global_conflicts): Update call accordingly.
5035 2008-01-30 Andreas Krebbel <krebbel1@de.ibm.com>
5037 * config/s390/fixdfdi.h (__fixunstfdi, __fixtfdi): Rearrange
5038 the overflow check to make it easier to read.
5039 (__fixtfdi): Change the type of the ll member in union
5040 long_double to UDItype_x.
5042 2008-01-30 Jakub Jelinek <jakub@redhat.com>
5045 * cgraph.h (cgraph_update_edges_for_call_stmt): New prototype.
5046 * cgraph.c (cgraph_update_edges_for_call_stmt): New function.
5047 * tree-inline.c (fold_marked_statements): Call
5048 cgraph_update_edges_for_call_stmt if folding a call statement.
5049 * cgraphunit.c (verify_cgraph_node): Set cfun to this_cfun for
5050 debug_generic_stmt calls, reset it back afterwards.
5053 * c-decl.c (start_decl): Don't pedwarn about TREE_READONLY
5055 * c-typeck.c (build_external_ref): Don't pedwarn about
5056 static vars in current function's scope.
5058 2008-01-29 Joseph Myers <joseph@codesourcery.com>
5060 * config.gcc (i[34567]86-*-nto-qnx*): Remove deprecation.
5062 2008-01-29 Bernhard Fischer <aldot@gcc.gnu.org>
5065 * ipa-struct-reorg.c: Fix spelling.
5066 * params.def: Ditto.
5068 2008-01-29 Richard Guenther <rguenther@suse.de>
5071 * tree-inline.h (struct copy_body_data): Add remapping_type_depth
5073 * tree-inline.c (remap_type): Increment remapping_type_depth
5074 around remapping types.
5075 (copy_body_r): Only add referenced variables if they are referenced
5076 from code, not types.
5078 2008-01-29 Douglas Gregor <doug.gregor@gmail.com>
5089 * c-pretty-print.c (pp_c_type_qualifier_list): Don't try to print
5090 qualifiers for an ERROR_MARK_NODE or a NULL_TREE.
5092 2008-01-28 Andy Hutchinson <hutchinsonandy@netscape.net>
5095 * config/avr/avr.c (expand_prologue): Use correct QI mode frame
5096 pointer for tiny stack.
5098 2008-01-28 Bernhard Fischer <aldot@gcc.gnu.org>
5100 * doc/tree-ssa.texi: Add cindex PHI nodes and improve wording.
5102 2008-01-28 Bernhard Fischer <aldot@gcc.gnu.org>
5104 * config/vx-common.h: Fix typo in comment.
5106 2008-01-28 Ian Lance Taylor <iant@google.com>
5110 * tree-ssa-copyrename.c (copy_rename_partition_coalesce): Don't
5111 coalesce pointers if they have different DECL_NO_TBAA_P values.
5112 * tree-ssa-copy.c (may_propagate_copy): Don't propagate copies
5113 between variables with different DECL_NO_TBAA_P values.
5115 2008-01-28 Nathan Froyd <froydnj@codesourcery.com>
5118 * config/rs6000/rs6000.c (small_data_operand): Vectors and floats
5119 are not legitimate small data references on SPE targets.
5121 2008-01-28 David Daney <ddaney@avtrex.com>
5123 * doc/install.texi (mips-*-*): Recommend binutils 2.18.
5125 2008-01-28 David Daney <ddaney@avtrex.com>
5127 * doc/install.texi (--disable-libgcj-bc): Reword documentation.
5129 2008-01-27 Joseph Myers <joseph@codesourcery.com>
5131 * config.gcc (strongarm*-*, ep9312*-*, xscale*-*, parisc*-*,
5132 m680[012]0-*, *-*-beos*, *-*-kaos*, *-*-linux*aout*,
5133 *-*-linux*libc1*, *-*-solaris2.[0-6], *-*-solaris2.[0-6].*,
5134 *-*-sysv*, *-*-windiss*, alpha*-*-unicosmk*, cris-*-aout,
5135 hppa1.1-*-pro*, hppa1.1-*-osf*, hppa1.1-*-bsd*,
5136 i[34567]86-sequent-ptx4*, i[34567]86-*-nto-qnx*,
5137 i[34567]86-*-sco3.2v5*, i[34567]86-*-uwin*, powerpc-*-chorusos*,
5138 vax-*-bsd*, vax-*-ultrix*): Mark obsolete.
5140 2008-01-27 Bernhard Fischer <aldot@gcc.gnu.org>
5142 * basic-block.h (condjump_equiv_p): Fix comment.
5144 2008-01-27 Bernhard Fischer <aldot@gcc.gnu.org>
5146 * tree-pretty-print.c (print_generic_decl, print_generic_stmt,
5147 print_generic_stmt_indented): Fix comment.
5149 2008-01-27 Bernhard Fischer <aldot@gcc.gnu.org>
5151 * configure.ac (__stack_chk_fail): Add detecion for availability
5152 of SSP in uClibc by checking if __UCLIBC_HAS_SSP__ is defined.
5153 * configure: Regenerate.
5155 2008-01-26 Maxim Kuvyrkov <maxim@codesourcery.com>
5158 * final.c (output_addr_const): Handle TRUNCATE.
5160 2008-01-26 Zdenek Dvorak <ook@ucw.cz>
5163 * tree-ssa-loop-ivopts.c (comp_cost): New type.
5164 (zero_cost, infinite_cost): New constants.
5165 (struct cost_pair): Change type of cost to comp_cost.
5166 (struct iv_ca): Change type of cand_use_cost and cost to comp_cost.
5167 (new_cost, add_costs, sub_costs, compare_costs, infinite_cost_p):
5169 (set_use_iv_cost, force_expr_to_var_cost, force_var_cost,
5170 split_address_cost, ptr_difference_cost, difference_cost,
5171 get_computation_cost_at, get_computation_cost,
5172 determine_use_iv_cost_generic, determine_use_iv_cost_address,
5173 determine_use_iv_cost_condition, determine_use_iv_costs,
5174 cheaper_cost_pair, iv_ca_recount_cost, iv_ca_set_no_cp,
5175 iv_ca_set_cp, iv_ca_cost, iv_ca_new, iv_ca_dump, iv_ca_extend,
5176 iv_ca_narrow, iv_ca_prune, try_improve_iv_set, find_optimal_iv_set):
5177 Change type of cost to comp_cost.
5178 (determine_iv_cost): Increase cost of non-original ivs, instead
5179 of decreasing the cost of original ones.
5180 (get_address_cost): Indicate the complexity of the addressing mode
5182 (try_add_cand_for): Prefer using ivs not specific to some object.
5183 * tree-flow.h (force_expr_to_var_cost): Declaration removed.
5185 2008-01-26 Peter Bergner <bergner@vnet.ibm.com>
5186 Janis Johnson <janis187@us.ibm.com>
5189 * doc/tm.texi (TARGET_EXPAND_TO_RTL_HOOK): Document.
5190 (TARGET_INSTANTIATE_DECLS): Likewise.
5191 * target.h (expand_to_rtl_hook): New target hook.
5192 (instantiate_decls): Likewise.
5193 * function.c (instantiate_decl): Make non-static. Rename to...
5194 (instantiate_decl_rtl): ... this.
5195 (instantiate_expr): Use instantiate_decl_rtl.
5196 (instantiate_decls_1): Likewise.
5197 (instantiate_decls): Likewise.
5198 (instantiate_virtual_regs: Call new instantiate_decls taget hook.
5199 * function.h (instantiate_decl_rtl): Add prototype.
5200 * cfgexpand.c (target.h): New include.
5201 (tree_expand_cfg): Call new expand_to_rtl_hook target hook.
5202 * target-def.h (TARGET_EXPAND_TO_RTL_HOOK): New define.
5203 (TARGET_INSTANTIATE_DECLS): Likewise.
5204 (TARGET_INITIALIZER): New target hooks added.
5205 * config/rs6000/rs6000-protos.h (rs6000_secondary_memory_needed_rtx):
5207 * config/rs6000/rs6000.c (tree-flow.h): New include.
5208 (machine_function): Add sdmode_stack_slot field.
5209 (rs6000_alloc_sdmode_stack_slot): New function.
5210 (rs6000_instantiate_decls): Likewise.
5211 (rs6000_secondary_memory_needed_rtx): Likewise.
5212 (rs6000_check_sdmode): Likewise.
5213 (TARGET_EXPAND_TO_RTL_HOOK): Target macro defined.
5214 (TARGET_INSTANTIATE_DECLS): Likewise.
5215 (rs6000_hard_regno_mode_ok): Allow SDmode.
5216 (num_insns_constant): Likewise. Handle _Decimal32 constants.
5217 (rs6000_emit_move): Handle SDmode.
5218 (function_arg_advance): Likewise.
5219 (function_arg): Likewise.
5220 (rs6000_gimplify_va_arg): Likewise. Add special handling of
5221 SDmode var args for 32-bit compiles.
5222 (rs6000_secondary_reload_class): Handle SDmode.
5223 (rs6000_output_function_epilogue): Likewise.
5224 (rs6000_function_value): Simplify if statement.
5225 (rs6000_libcall_value): Likewise.
5226 * config/rs6000/rs6000.h (SLOW_UNALIGNED_ACCESS): Handle SDmode.
5227 (SECONDARY_MEMORY_NEEDED_RTX): Add define.
5228 * config/rs6000/dfp.md (movsd): New define_expand and splitter.
5229 (movsd_hardfloat): New define_insn.
5230 (movsd_softfloat): Likewise.
5231 (movsd_store): Likewise.
5232 (movsd_load): Likewise.
5233 (extendsddd2): Likewise.
5234 (extendsdtd2): Likewise.
5235 (truncddsd2): Likewise.
5236 (movdd_hardfloat64): Fixup comment.
5237 (UNSPEC_MOVSD_LOAD): New constant.
5238 (UNSPEC_MOVSD_STORE): Likewise.
5240 2008-01-26 Jakub Jelinek <jakub@redhat.com>
5243 * c-pretty-print.c (pp_c_exclusive_or_expression): Handle
5245 (pp_c_logical_and_expression): Handle TRUTH_AND_EXPR.
5246 (pp_c_logical_or_expression): Handle TRUTH_OR_EXPR.
5247 (pp_c_expression): Handle TRUTH_AND_EXPR, TRUTH_OR_EXPR
5250 2008-01-26 David Edelsohn <edelsohn@gnu.org>
5253 * config.gcc: Separate AIX 5.3 from AIX 6.1.
5254 * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Define
5255 __LONGDOUBLE128 too.
5256 * config/rs6000/aix61.h: New file.
5258 2008-01-26 Richard Sandiford <rsandifo@nildram.co.uk>
5260 PR rtl-optimization/34959
5261 * optabs.c (expand_unop): In libcall notes, give ffs, clz, ctz,
5262 popcount and parity rtxes the same mode as their operand.
5263 Truncate or extend the result to the return value's mode
5266 2008-01-26 Richard Sandiford <rsandifo@nildram.co.uk>
5269 * config/mips/mips-protos.h (mips_expand_call): Return an rtx.
5270 * config/mips/mips.h (FIRST_PSEUDO_REGISTER): Rename FAKE_CALL_REGNO
5271 to GOT_VERSION_REGNUM.
5272 (CALL_REALLY_USED_REGISTERS): Set the GOT_VERSION_REGNUM entry to 0.
5273 (EPILOGUE_USES): Include GOT_VERSION_REGNUM if TARGET_USE_GOT.
5274 * config/mips/mips.c (mips_emit_call_insn): New function.
5275 (mips_call_tls_get_addr): Call mips_expand_call directly.
5276 (mips16_copy_fpr_return_value): Use mips_emit_call_insn rather than
5278 (mips16_build_call_stub): Likewise. Return the call insn or null.
5279 (mips_expand_call): Update the call to mips16_build_call_stub
5280 accordingly and a remove redundant condition. Assert that MIPS16
5281 stubs do not use lazy binding. Use mips_emit_call_insn and return
5283 (mips_extra_live_on_entry): Include GOT_VERSION_REGNUM if
5285 (mips_hard_regno_mode_ok_p): Allow SImode for GOT_VERSION_REGNUM.
5286 (mips_avoid_hazard): Remove hazard_set handling.
5287 * config/mips/mips.md (UNSPEC_EH_RECEIVER): Rename to...
5288 (UNSPEC_RESTORE_GP): ...this.
5289 (UNSPEC_SET_GOT_VERSION, UNSPEC_UPDATE_GOT_VERSION): New constants.
5290 (FAKE_CALL_REGNO): Rename to...
5291 (GOT_VERSION_REGNUM): ...this.
5292 (type): Add "ghost" value. Add an associated insn reservation.
5293 (hazard_set): Remove.
5294 (exception_receiver): Rename to...
5295 (restore_gp): ...this and update the unspec identifier accordingly.
5296 (exception_receiver, nonlocal_got_receiver): New expanders.
5297 (load_call<mode>): Use GOT_VERSION_REGNUM. Don't set
5298 FAKE_CALL_REGNO. Remove hazard_set attribute.
5299 (set_got_version, update_got_version): New patterns.
5301 2008-01-26 Danny Smith <dannysmith@users.sourceforge.net>
5304 * config/i386/cygming.h (ASM_OUTPUT_LABELREF): Define.
5306 2008-01-25 Joseph Myers <joseph@codesourcery.com>
5309 * doc/install.texi2html: Generate gcc-vers.texi.
5311 2008-01-25 DJ Delorie <dj@redhat.com>
5313 * config/m32c/m32c.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
5315 2008-01-25 Joseph Myers <joseph@codesourcery.com>
5317 * config/c4x: Remove directory.
5318 * config.gcc (crx-*, mt-*): Mark obsolete.
5319 (c4x-*, tic4x-*, c4x-*-rtems*, tic4x-*-rtems*, c4x-*, tic4x-*,
5320 h8300-*-rtemscoff*, ns32k-*-netbsdelf*, ns32k-*-netbsd*,
5321 sh-*-rtemscoff*): Remove cases.
5322 * defaults.h (C4X_FLOAT_FORMAT): Remove.
5323 * real.c (encode_c4x_single, decode_c4x_single,
5324 encode_c4x_extended, decode_c4x_extended, c4x_single_format,
5325 c4x_extended_format): Remove.
5326 * real.h (c4x_single_format, c4x_extended_format): Remove.
5327 * doc/extend.texi (interrupt, naked): Remove mention of attributes
5329 (Pragmas): Remove comment about c4x pragmas.
5330 * doc/install.texi (c4x): Remove target-specific instructions.
5331 * doc/invoke.texi (TMS320C3x/C4x Options): Remove.
5332 * doc/md.texi (Machine Constraints): Remove C4x documentation.
5333 * doc/tm.texi (MEMBER_TYPE_FORCES_BLK, c_register_pragma): Do not
5334 refer to C4x source files as examples.
5335 (C4X_FLOAT_FORMAT): Remove documentation.
5337 2008-01-25 Bernd Schmidt <bernd.schmidt@analog.com>
5339 * config/bfin/bfin.c (override_options): Reorder tests so that
5340 flag_pic gets enabled for -msep-data.
5342 2008-01-25 Richard Guenther <rguenther@suse.de>
5345 * expr.c (expand_expr_real_1): Reduce result of LSHIFT_EXPR
5346 to its bitfield precision if required.
5348 2008-01-25 Jakub Jelinek <jakub@redhat.com>
5351 * tree-nested.c (walk_omp_for): New function.
5352 (convert_nonlocal_reference, convert_local_reference): Call
5353 walk_omp_for on OMP_FOR.
5354 (convert_call_expr): Call walk_body on OMP_FOR's
5355 OMP_FOR_PRE_INIT_BODY.
5357 2008-01-25 Richard Guenther <rguenther@suse.de>
5359 PR tree-optimization/34966
5360 * tree-ssa-math-opts.c (execute_cse_sincos_1): For all but
5361 default defs and PHI_NODEs we have to insert after the
5364 2008-01-24 Nick Clifton <nickc@redhat.com>
5366 * config/stormy16/stormy16-lib2.c (MIN_UNITS_PER_WORD):
5367 Provide a default definition.
5368 (LIBGCC2_UNITS_PER_WORD): Likewise.
5370 * config/stormy16/stormy16.c: Include df.h for the prototype
5371 for df_regs_ever_live_p.
5372 (xstormy16_expand_builtin_va_start): Convert the stack offset
5373 into a component_ref and then use POINTER_PLUS_EXPR to add it
5374 to the incoming_virtual_args_rtx.
5375 (xstormy16_gimplify_va_arg_expr): Rename to
5376 xstormy16_gimplify_va_arg_expr.
5377 Use POINTER_PLUS_EXPR when performing pointer arithmetic.
5378 (TARGET_GIMPLIFY_VA_ARG_EXPR): Use renamed
5379 xstormy16_gimplify_va_arg_expr.
5380 Fix up some formatting issues.
5382 * config/stormy16/stormy16.c: (xstormy16_carry_plus_operand):
5383 Move to predicates.md.
5384 (xs_hi_general_operand): Likewise.
5385 (xs_hi_nonmemory_operand): Likewise.
5386 * config/stormy16/predicates.md:
5387 (xstormy16_carry_plus_operand): New predicate.
5388 (xs_hi_general_operand): New predicate.
5389 (xs_hi_nonmemory_operand): New predicate.
5390 * config/stormy16/stormy16-protos.h:
5391 (xstormy16_carry_plus_operand): Delete prototype.
5392 (xs_hi_general_operand): Likewise.
5393 (xs_hi_nonmemory_operand): Likewise.
5395 * config/storm16/stormy16.md (addhi3): Remove earlyclobber
5396 modifiers as they are no longer needed and they can trigger
5397 reload spill failures.
5399 * config/storm16/stormy16.md (ineqbranchsi): Replace match_dup
5400 with a match_operand in order to help reload.
5402 * config/storm16/stormy16.md (movhi_internal): Replace 'r'
5403 constraint with 'e' for the 8th alternative as this version of
5404 the mov.w instruction only accepts the lower 8 registers.
5406 2008-01-25 Uros Bizjak <ubizjak@gmail.com>
5409 * simplifx-rtx.c (simplify_const_binary_operation) [VEC_CONCAT]:
5410 Consider only CONST_INT, CONST_DOUBLE and CONST_FIXED as constant
5413 2008-01-25 Jakub Jelinek <jakub@redhat.com>
5416 * gimplify.c (gimplify_omp_for): Gimplify OMP_FOR_PRE_BODY.
5418 2008-01-25 Golovanevsky Olga <olga@il.ibm.com>
5420 * ipa-struct-reorg.c (remove_str_allocs_in_func, remove_str_allocs):
5422 (remove_structure): Update allocations list before removing structure.
5424 2008-01-25 Golovanevsky Olga <olga@il.ibm.com>
5426 * ipa-struct-reorg.c (is_safe_cond_expr,
5427 create_new_stmts_for_cond_expr): Use integer_zerop function,
5428 that recognize not only zero-pointer, but zero-integer too.
5430 2008-01-25 Ben Elliston <bje@au.ibm.com>
5433 * fixproto: Escape "." in sed expression that strips leading "./".
5435 2008-01-24 H.J. Lu <hongjiu.lu@intel.com>
5438 * gcc.c (SWITCH_OK): Removed.
5439 (SWITCH_LIVE): Changed to bit.
5440 (SWITCH_FALSE): Likewise.
5441 (SWITCH_IGNORE): Likewise.
5442 (switchstr): Change live_cond to unsigned int.
5443 (process_command): Replace SWITCH_OK with 0.
5444 (do_self_spec): Likewise.
5445 (set_collect_gcc_options): Check the SWITCH_IGNORE bit.
5446 (give_switch): Likewise.
5447 (used_arg): Likewise.
5448 (do_spec_1): Set the SWITCH_IGNORE bit.
5449 (check_live_switch): Check both SWITCH_LIVE and SWITCH_FALSE
5450 bits. Set the SWITCH_LIVE bit.
5452 2008-01-24 Andreas Krebbel <krebbel1@de.ibm.com>
5454 * config/s390/s390.h (MOVE_RATIO): Define new target macro.
5456 2008-01-24 Richard Sandiford <rsandifo@nildram.co.uk>
5458 PR tree-optimization/34472
5459 * ipa-struct-reorg.c (safe_cond_expr_check): Change the DATA
5460 parameter to a "bool *" and set *DATA to false if there is
5461 an unsafe access. Do not delete the structure here.
5462 (check_cond_exprs): Delete it here instead.
5463 (check_cond_exprs, exclude_cold_structs): Do not increase
5464 I when removing a structure.
5466 2008-01-24 Uros Bizjak <ubizjak@gmail.com>
5469 * config/i386/i386.c (ix86_expand_vector_init): Consider only
5470 CONST_INT, CONST_DOUBLE and CONST_FIXED as constant vector elements.
5472 2008-01-24 Jakub Jakub Jelinek <jakub@redhat.com>
5475 * tree-stdarg.c (reachable_at_most_once): Use VEC vector instead of
5476 a fixed vector for stack.
5478 2008-01-24 Ben Elliston <bje@au.ibm.com>
5481 * doc/gcc.texi (Software development): Add a direntry for g++.
5483 2008-01-23 Hans-Peter Nilsson <hp@axis.com>
5485 * config/cris/cris.h (CC1PLUS_SPEC, OPTIMIZATION_OPTIONS): Drop
5486 stale and straggling -fforce-addr comments above.
5488 * config/cris/cris.h (CRIS_SUBTARGET_VERSION, TARGET_VERSION): Don't
5490 * config/cris/linux.h (CRIS_SUBTARGET_VERSION): Don't define.
5491 * config/cris/aout.h (CRIS_SUBTARGET_VERSION): Don't define.
5493 2008-01-23 Michael Matz <matz@suse.de>
5496 * dwarf2out.c (force_type_die): Use modified_type_die instead of
5499 2008-01-23 Andreas Krebbel <krebbel1@de.ibm.com>
5501 * ipa-struct-reorg.c (create_new_malloc): Use pointer type as
5504 2008-01-23 Anatoly Sokolov <aesok@post.ru>
5506 * config/avr/avr.c (avr_current_arch): New variable.
5507 (avr_arch_types): Add 'avr31' and 'avr51' entries.
5508 (avr_arch): Add 'ARCH_AVR31' and 'ARCH_AVR51'.
5509 (avr_mcu_types): Add 'avr31' and 'avr51' architectures.
5510 (avr_override_options): Init 'avr_current_arch'.
5511 (base_arch_s): Move from here...
5512 * config/avr/avr.h (base_arch_s): ... here. Add new members
5513 'have_elpm', 'have_elpmx', 'have_eijmp_eicall', 'reserved'. Rename
5514 'mega' to 'have_jmp_call'.
5515 (TARGET_CPU_CPP_BUILTINS): Define "__AVR_HAVE_JMP_CALL__",
5516 "__AVR_HAVE_RAMPZ__", "__AVR_HAVE_ELPM__" and "__AVR_HAVE_ELPMX__"
5518 (LINK_SPEC, CRT_BINUTILS_SPECS, ASM_SPEC): Add 'avr31' and 'avr51'
5520 * config/avr/t-avr (MULTILIB_OPTIONS, MULTILIB_DIRNAMES,
5521 MULTILIB_MATCHES): (Ditto.).
5523 2008-01-23 Richard Guenther <rguenther@suse.de>
5526 * cgraphunit.c (cgraph_reset_node): Always mark the node
5527 not reachable if it is not queued already.
5529 2008-01-23 Bernd Schmidt <bernd.schmidt@analog.com>
5531 * config/bfin/bfin-protos.h (WA_RETS, ENABLE_WA_RETS): New macros.
5532 * config/bfin/bfin.c (bfin_cpus): Add WA_RETS everywhere.
5533 (cputype_selected): New static variable.
5534 (bfin_handle_option): Set it if -mcpu is used.
5535 (override_option): Select default set of workarounds if no cpu type
5536 selected on the command line.
5537 (workaround_rts_anomaly): Only run if ENABLE_WA_RETS.
5539 From Michael Frysinger <michael.frysinger@analog.com>
5540 * config/bfin/bfin-protos.h (enum bfin_cpu_type): Add
5541 BFIN_CPU_BF547, BFIN_CPU_BF523, BFIN_CPU_BF524, and BFIN_CPU_BF526.
5543 * config/bfin/elf.h (LIB_SPEC): Use proper linker script
5544 for bf547, bf523, bf524, and bf526.
5545 * config/bfin/bfin.c (bfin_cpus[]): Add bf547, bf523, bf524, and
5547 * config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS): Define
5548 __ADSPBF523__ for bf523, __ADSPBF524__ for bf524,
5549 __ADSPBF526__ for bf526, __ADSPBF52x__ for all three, as well as
5550 __ADSPBF547__ and __ADSPBF54x__ for bf547.
5551 * doc/invoke.texi (Blackfin Options): Document that
5552 -mcpu now accept bf547, bf523, bf524, and bf526.
5554 2008-01-22 Eric Botcazou <ebotcazou@adacore.com>
5556 PR rtl-optimization/34628
5557 * combine.c (try_combine): Stop and undo after the first combination
5558 if an autoincrement side-effect on the first insn has effectively
5561 2008-01-22 David Edelsohn <edelsohn@gnu.org>
5564 * config/rs6000/rs6000.c (rs6000_legitimate_offset_address_p):
5565 Offset addresses are not valid for Altivec or paired float modes.
5567 2008-01-22 Jakub Jelinek <jakub@redhat.com>
5570 * c-parser.c (c_parser_omp_for_loop): Don't call c_finish_omp_for
5571 if DECL_INITIAL (decl) is error_mark_node.
5574 * c-common.c (handle_vector_size_attribute): Only allow
5575 integral, scalar float and fixed point types. Handle OFFSET_TYPE
5576 the same way as pointer, array etc. types.
5577 * tree.c (reconstruct_complex_type): Handle OFFSET_TYPE.
5580 * tree.c (build_type_attribute_qual_variant): Call
5581 build_qualified_type if attributes are equal, but quals are not.
5583 2008-01-22 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
5586 * doc/invoke.texi (-Wall): -Wall enables -Wstrict-overflow=1.
5587 * flags.h (warn_strict_aliasing): Remove.
5588 (warn_strict_overflow): Remove.
5589 * opts.c (warn_strict_aliasing): Remove.
5590 (warn_strict_overflow): Remove.
5591 * c-opts.c (c_common_handle_option): -Wall only sets
5592 -Wstrict-aliasing or -Wstrict-overflow if they are uninitialized.
5593 (c_common_post_options): Give default values to -Wstrict-aliasing
5594 and -Wstrict-overflow if they are uninitialized.
5595 * common.opt (Wstrict-aliasing): Specify Var and Init.
5596 (Wstrict-overflow): Likewise.
5598 2008-01-22 Kenneth Zadeck <zadeck@naturalbridge.com>
5600 PR rtl-optimization/26854
5601 PR rtl-optimization/34400
5602 PR rtl-optimization/34884
5603 * ddg.c (create_ddg_dep_from_intra_loop_link): Use
5605 * df.h (df_changeable_flags.DF_RD_NO_TRIM): Deleted
5606 (df_rd_bb_info.expanded_lr_out): Deleted
5607 * loop_invariant.c (find_defs): Deleted DF_RD_NO_TRIM flag.
5608 * loop_iv.c (iv_analysis_loop_init): Ditto. * df-problems.c
5609 (df_rd_free_bb_info, df_rd_alloc, df_rd_confluence_n,
5610 df_rd_bb_local_compute, df_rd_transfer_function, df_rd_free):
5611 Removed code to allocate, initialize or free expanded_lr_out.
5612 (df_rd_bb_local_compute_process_def): Restructured to make more
5614 (df_rd_confluence_n): Removed code to no apply invalidate_by_call
5615 sets if the sets are being trimmed.
5617 2008-01-22 H.J. Lu <hongjiu.lu@intel.com>
5620 * configure.ac (ld_vers): Support GNU linker version xx.xx.*
5621 (as_vers): Likewise.
5622 * configure: Regenerated.
5624 2008-01-22 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
5627 * tree-pass.h (pass_build_alias): New pass.
5628 * tree-ssa-alias.c (gate_build_alias): New.
5629 (pass_build_alias): New.
5630 * passes.c (init_optimization_passes): Add pass_build_alias after
5631 pass_create_structure_vars.
5633 2008-01-22 Wolfgang Gellerich <gellerich@de.ibm.com>
5635 * config/s390/s390.h (S390_TDC_POSITIVE_NORMALIZED_NUMBER):
5636 Renamed to S390_TDC_POSITIVE_NORMALIZED_BFP_NUMBER.
5637 (S390_TDC_NEGATIVE_NORMALIZED_NUMBER): Renamed to
5638 S390_TDC_NEGATIVE_NORMALIZED_BFP_NUMBER.
5639 (S390_TDC_POSITIVE_DENORMALIZED_NUMBER): Renamed to
5640 S390_TDC_POSITIVE_DENORMALIZED_BFP_NUMBER.
5641 (S390_TDC_NEGATIVE_DENORMALIZED_NUMBER): Renamed to
5642 S390_TDC_NEGATIVE_DENORMALIZED_BFP_NUMBER.
5643 (S390_TDC_POSITIVE_NORMALIZED_BFP_NUMBER): New constant.
5644 (S390_TDC_NEGATIVE_NORMALIZED_BFP_NUMBER): New constant.
5645 (S390_TDC_POSITIVE_DENORMALIZED_BFP_NUMBER): New constant.
5646 (S390_TDC_NEGATIVE_DENORMALIZED_BFP_NUMBER): New constant.
5647 * config/s390/s390.md (FP_ALL): New mode iterator.
5648 (_d): New mode attribute.
5649 ("*signbit<mode>2>"): Changed mode of first operand.
5650 ("isinf<mode>2"): Changed mode of first operand.
5651 ("*TDC_insn"): Adaptation for DFP modes.
5653 2008-01-22 Ben Elliston <bje@au.ibm.com>
5655 * tree.c (check_qualified_type): Improve function description.
5657 2008-01-21 Jason Merrill <jason@redhat.com>
5660 * tree.h (TRY_CATCH_IS_CLEANUP): New macro.
5661 * tree-eh.c (honor_protect_cleanup_actions): Strip TRY_CATCH_EXPR
5664 2008-01-21 DJ Delorie <dj@redhat.com>
5666 * doc/tm.texi (HARD_REGNO_NREGS): Note that this macro must not
5669 2008-01-21 Richard Guenther <rguenther@suse.de>
5672 * tree-cfg.c (verify_expr): Allow all invariant expressions
5673 instead of just constant class ones as reference argument.
5674 * tree-ssa-loop-im.c (for_each_index): Handle CONSTRUCTOR
5675 like any other constant.
5676 * tree-ssa-sccvn.c (copy_reference_ops_from_ref): Likewise.
5678 2008-01-21 H.J. Lu <hongjiu.lu@intel.com>
5680 * regmove.c (fixup_match_1): Update call crossed frequencies.
5682 2008-01-21 Richard Guenther <rguenther@suse.de>
5685 * tree-inline.c (setup_one_parameter): Deal with mismatched
5686 types using a VIEW_CONVERT_EXPR.
5688 2008-01-21 Alon Dayan <alond@il.ibm.com>
5689 Olga Golovanevsky <olga@il.ibm.com>
5691 PR tree-optimization/34701
5692 * ipa-struct-reorg.c (gen_size): Fix the malloc parameter calculation
5693 when the structure size is not a power of 2.
5695 2008-01-20 Kenneth Zadeck <zadeck@naturalbridge.com>
5697 * doc/install.texi: Add doc for --enable-checking=df.
5699 2008-01-20 Kaz Kojima <kkojima@gcc.gnu.org>
5701 PR rtl-optimization/34808
5702 * emit-rtl.c (try_split): Handle REG_RETVAL notes.
5704 2008-01-20 Richard Sandiford <rsandifo@nildram.co.uk>
5706 * global.c (find_reg): Only compute EH_RETURN_DATA_REGNO once per
5709 2008-01-19 Kenneth Zadeck <zadeck@naturalbridge.com>
5711 PR rtl-optimization/26854
5712 PR rtl-optimization/34400
5713 * ddg.c (create_ddg_dep_from_intra_loop_link): Do not use
5715 * df.h (df_changeable_flags.DF_RD_NO_TRIM): New.
5716 (df_rd_bb_info.expanded_lr_out): New.
5717 * loop_invariant.c (find_defs): Added DF_RD_NO_TRIM flag.
5718 * loop_iv.c (iv_analysis_loop_init): Ditto.
5719 * df-problems.c (df_rd_free_bb_info, df_rd_alloc, df_rd_confluence_n,
5720 df_rd_bb_local_compute, df_rd_transfer_function, df_rd_free):
5721 Added code to allocate, initialize or free expanded_lr_out.
5722 (df_rd_bb_local_compute_process_def): Restructured to make
5723 more understandable.
5724 (df_rd_confluence_n): Add code to do nothing with fake edges and
5725 code to no apply invalidate_by_call sets if the sets are being trimmed.
5726 (df_lr_local_finalize): Renamed to df_lr_finalize.
5727 (df_live_local_finalize): Renamed to df_live_finalize.
5729 2008-01-20 Richard Sandiford <rsandifo@nildram.co.uk>
5732 * config/mips/mips.md (div<mode>3): Use <recip_condition> when
5733 deciding whether to use reciprocal instructions.
5735 2008-01-19 Uros Bizjak <ubizjak@gmail.com>
5737 * dwarf2out.c (dwarf2out_switch_text_section): Do not call
5738 dwarf2out_note_section_used if cold_text_section is NULL.
5740 2008-01-19 Jakub Jelinek <jakub@redhat.com>
5742 PR gcov-profile/34610
5743 * tree-cfg.c (make_edges): Mark both outgoing edges from
5744 OMP_CONTINUE and from OMP_FOR as EDGE_ABNORMAL.
5745 * omp-low.c (expand_omp_for): Clear EDGE_ABNORMAL bits
5746 from OMP_FOR and OMP_CONTINUE outgoing edges.
5748 * tree-profile.c (tree_profiling): Return early if
5749 cfun->after_tree_profile != 0. Set cfun->after_tree_profile
5751 * omp-low.c (expand_omp_parallel): Copy after_tree_profile
5752 from cfun to child_cfun.
5753 * function.h (struct function): Add after_tree_profile bit.
5755 2008-01-19 Anatoly Sokolov <aesok@post.ru>
5757 * config/avr/avr.S (_exit): Disable interrupt.
5759 2008-01-18 Kenneth Zadeck <zadeck@naturalbridge.com>
5760 Steven Bosscher <stevenb.gcc@gmail.com>
5762 PR rtl-optimization/26854
5763 PR rtl-optimization/34400
5764 * df-problems.c (df_live_scratch): New scratch bitmap.
5765 (df_live_alloc): Allocate df_live_scratch when doing df_live.
5766 (df_live_reset): Clear the proper bitmaps.
5767 (df_live_bb_local_compute): Only process the artificial defs once
5768 since the order is not important.
5769 (df_live_init): Init the df_live sets only with the variables
5770 found live by df_lr.
5771 (df_live_transfer_function): Use the df_lr sets to prune the
5772 df_live sets as they are being computed.
5773 (df_live_free): Free df_live_scratch.
5775 2008-01-18 Ian Lance Taylor <iant@google.com>
5777 * common.opt: Add fmerge-debug-strings.
5778 * dwarf2out.c (DEBUG_STR_SECTION_FLAGS): Test
5779 flag_merge_debug_strings rather than flag_merge_constants.
5780 * doc/invoke.texi (Option Summary): Mention
5781 -fmerge-debug-strings.
5782 (Debugging Options): Document -fmerge-debug-strings.
5784 2008-01-18 Ian Lance Taylor <iant@google.com>
5787 * tree.h (DECL_IS_OPERATOR_NEW): Define.
5788 (struct tree_function_decl): Add new field operator_new_flag.
5789 * tree-inline.c (expand_call_inline): When inlining a call to
5790 operator new, force the return value to go into a variable, and
5791 set DECL_NO_TBAA_P on that variable.
5792 * c-decl.c (merge_decls): Merge DECL_IS_OPERATOR_NEW flag.
5794 2008-01-18 Uros Bizjak <ubizjak@gmail.com>
5797 * dwarf2out.c (dwarf2out_switch_text_section): Do not guard with
5798 DWARF2_DEBUGGING_INFO.
5799 (dwarf2out_note_section_used): Ditto. Add prototype.
5800 (have_multiple_function_sections, text_section_used,
5801 cold_text_section_used, *cold_text_sections): Move declarations
5804 2008-01-17 Bob Wilson <bob.wilson@acm.org>
5806 * config/xtensa/unwind-dw2-xtensa.h (_Unwind_FrameState): Remove pc
5807 field and add signal_ra.
5808 * config/xtensa/unwind-dw2-xtensa.c (uw_frame_state_for): Remove
5809 assignments to frame state pc. Move end of stack check after
5810 MD_FALLBACK_FRAME_STATE_FOR.
5811 (uw_update_context_1): Use frame state signal_regs if set, instead
5812 of checking signal_frame flag.
5813 (uw_update_context): Use frame state signal_ra if set.
5814 * config/xtensa/linux.h (MD_UNWIND_SUPPORT): Define.
5815 * config/xtensa/linux-unwind.h: New file.
5817 2008-01-18 Bernhard Fischer <aldot@gcc.gnu.org>
5819 * modulo-sched.c (get_sched_window): Fix comment typo.
5821 2008-01-17 Andrew MacLeod <amacleod@redhat.com>
5823 PR tree-optimization/34648
5824 * tree-ssa-sccvn.c (visit_use): Expressions which can throw are varying.
5826 2008-01-17 Anatoly Sokolov <aesok@post.ru>
5828 * config/avr/avr.h (LINK_SPEC): Support -mrelax and -mpmem-wrap-around.
5829 * config/avr/avr.opt (mrelax, mpmem-wrap-around): Add.
5831 2008-01-17 Seongbae Park <seongbae.park@gmail.com>
5833 PR rtl-optimization/34400
5834 * df-core.c (df_worklist_dataflow_overeager,
5835 df_worklist_dataflow_doublequeue): New functions.
5836 (df_worklist_dataflow): Two different worklist solvers.
5837 * params.def (PARAM_DF_DOUBLE_QUEUE_THRESHOLD_FACTOR):
5840 2008-01-16 Sebastian Pop <sebastian.pop@amd.com>
5843 * doc/invoke.texi: Document the dependence on pthread for fopenmp
5844 and ftree-parallelize-loops.
5846 2008-01-17 Mircea Namolaru <namolaru@il.ibm.com>
5848 PR rtl-optimization/34826
5849 * loop-doloop (doloop_modify): Update the REG_BR_PROB note.
5851 2008-01-17 Andreas Krebbel <krebbel1@de.ibm.com>
5853 * global.c (find_reg): Mark the eh regs as used if necessary.
5854 * ra-conflict.c (global_conflicts): Set no_eh_reg flag.
5855 * ra.h (struct allocno): no_eh_reg field added. Changed
5856 no_stack_reg type to bitfield.
5858 2008-01-17 Eric Botcazou <ebotcazou@adacore.com>
5860 * tree.c (substitute_in_expr): Add missing 'break'.
5862 2008-01-17 Richard Guenther <rguenther@suse.de>
5864 PR tree-optimization/34825
5865 * tree-ssa-math-opts.c (is_division_by): Do not recognize
5866 x / x as division to handle.
5868 2008-01-16 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
5870 * pa64-hpux.h (LIB_SPEC): Add "-lpthread" in shared links if "-mt" or
5871 "-pthread" is specified.
5872 * pa-hpux11.h (LIB_SPEC): Likewise.
5874 2008-01-16 Janis Johnson <janis187@us.ibm.com>
5875 Peter Bergner <bergner@vnet.ibm.com>
5877 PR rtl-optimization/33796
5878 * sparseset.c (sparseset_alloc): Use xcalloc rather than xmalloc.
5880 2008-01-16 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
5882 PR libgfortran/34699
5883 * pa-hpux.h (LINK_SPEC): Only search /lib/pa1.1 and /usr/lib/pa1.1 on
5885 * pa-hpux10.h (LINK_SPEC): Likewise.
5886 * pa-hpux11.h (LINK_SPEC): Don't search /lib/pa1.1 and /usr/lib/pa1.1.
5888 2008-01-16 Richard Guenther <rguenther@suse.de>
5891 * fold-const.c (fold_convert_const_int_from_int): Do not
5892 set overflow if that occured only because of a sign extension
5893 change when converting from/to a sizetype with the same
5894 precision and signedness.
5896 2008-01-16 Uros Bizjak <ubizjak@gmail.com>
5899 * dwarf2out.c (output_call_frame_info): Move output of FDE initial
5900 location address to the correct place. Update copyright year.
5902 2008-01-16 Sebastian Pop <sebastian.pop@amd.com>
5904 * lambda-code.c (lambda_transform_legal_p): Handle the case of
5905 no dependences in the dependence_relations vector.
5907 2008-01-16 Jan Hubicka <jh@suse.cz>
5909 PR rtl-optimization/31396
5910 * regstat.c (regstat_bb_compute_ri): Compute FREQ_CALLS_CROSSED.
5911 * cfg.c (dump_reg_info): Print it.
5912 * regs.h (struct reg_info_t): add freq_calls_crossed.
5913 (REG_FREQ_CALLS_CROSSED): New macro.
5914 * global.c (global_alloc): Compute freq_calls_crossed for allocno.
5915 (find_reg): Update call of CALLER_SAVE_PROFITABLE.
5916 * regmove.c (optimize_reg_copy_1, optimize_reg_copy_2, fixup_match_2,
5917 regmove_optimize): Update call crossed frequencies.
5918 * local-alloc.c (struct qty): Add freq_calls_crossed.
5919 (alloc_qty): Copute freq_calls_crossed.
5920 (update_equiv_regs, combine_regs): Update REG_FREQ_CALLS_CROSSED.
5921 (find_free_reg): Update call of CALLER_SAVE_PROFITABLE.
5922 * ra.h (struct allocno): Add freq_calls_crossed.
5924 2008-01-16 Sebastian Pop <sebastian.pop@amd.com>
5926 * gcc.c (LINK_COMMAND_SPEC): Add includes and link options for
5927 libgomp when compiling with ftree-parallelize-loops.
5928 (GOMP_SELF_SPECS): Add -pthread for ftree-parallelize-loops.
5930 2008-01-16 Richard Guenther <rguenther@suse.de>
5932 PR tree-optimization/34769
5933 * tree-data-ref.c (initialize_matrix_A): Revert fix for PR34458.
5934 * tree.c (int_cst_value): Instead make this function more
5935 permissive in what it accepts as valid input. Document this
5936 function always sign-extends the value.
5938 2008-01-16 Jakub Jelinek <jakub@redhat.com>
5939 Richard Guenther <rguenther@suse.de>
5942 * gimplify.c (fold_indirect_ref_rhs): Rename to ...
5943 (gimple_fold_indirect_ref_rhs): ... this.
5944 (gimple_fold_indirect_ref): New function with foldings
5945 that preserve lvalueness.
5946 (gimplify_modify_expr_rhs): Call gimple_fold_indirect_ref_rhs.
5947 * tree-flow.h (gimple_fold_indirect_ref): Declare.
5948 * tree-inline.c (copy_body_r): Use gimple_fold_indirect_ref
5949 to fold an INDIRECT_REF, fall back to the old use of
5950 fold_indirect_ref_1.
5952 2008-01-16 Sebastian Pop <sebastian.pop@amd.com>
5954 * tree-data-ref.c (subscript_dependence_tester_1): Call
5955 free_conflict_function.
5956 (compute_self_dependence): Same.
5958 2008-01-16 Uros Bizjak <ubizjak@gmail.com>
5961 * debug.h (dwarf2out_switch_text_section): Move declaration from ...
5962 * dwarf2out.c (dwarf2out_switch_text_section): ... here. Make
5964 * final.c (final_scan_insn) [NOTE_INSN_SWITCH_TEXT_SECTIONS]:
5965 Depending on dwarf2out_do_frame, call dwarf2out_switch_text_section
5966 for DWARF2_UNWIND_INFO targets.
5968 2008-01-16 Richard Guenther <rguenther@suse.de>
5971 * c-typeck.c (common_pointer_type): Do not merge inconsistent
5972 type qualifiers for function types.
5974 2008-01-15 Jerry DeLisle <jvdelisle@gcc.gnu.org>
5976 * tree-parloops.c (gen_parallel_loop): Fix ommision of declaration for
5977 loop_iterator li from previous commit.
5979 2008-01-15 Sebastian Pop <sebastian.pop@amd.com>
5981 * tree-parloops.c (gen_parallel_loop): Free loop bound estimations.
5983 2008-01-12 Sebastian Pop <sebastian.pop@amd.com>
5985 * tree-parloops.c (loop_has_blocks_with_irreducible_flag): New.
5986 (parallelize_loops): Don't parallelize irreducible components.
5988 2008-01-14 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
5991 * c-opts (c_common_post_options): Do not enable CPP
5992 flag_pedantic_errors by default.
5994 2008-01-14 Eric Botcazou <ebotcazou@adacore.com>
5996 PR rtl-optimization/31944
5997 * cse.c (remove_pseudo_from_table): New function.
5998 (merge_equiv_classes): Use above function to remove pseudo-registers.
5999 (invalidate): Likewise.
6001 2008-01-13 Richard Guenther <rguenther@suse.de>
6004 * emit-rtl.c (set_reg_attrs_for_decl_rtl): Use DECL_MODE
6005 instead of TYPE_MODE to deal with calls from expand_one_error_var.
6007 2008-01-13 Uros Bizjak <ubizjak@gmail.com>
6009 * gcse.c (cprop_jump): Call validate_unshare_change instead of
6010 validate_change to unshare the source of the PC set.
6012 2008-01-12 Jan Hubicka <jh@suse.cz>
6015 * tree-ssa-ccp.c (maybe_fold_offset_to_array_ref): Do not construct
6016 references above array bounds. This might trigger bounds checks for
6019 2008-01-12 Sebastian Pop <sebastian.pop@amd.com>
6021 * tree-ssa-ter.c (free_temp_expr_table): Free num_in_part and
6022 new_replaceable_dependencies.
6024 2008-01-12 Doug Kwan <dougkwan@google.com>
6026 * c-decl.c: (grokdeclarator): Use OPT_Wignored_qualifiers
6027 instead of OPT_Wreturn_type in warning due to ignored return type
6029 * c-opt.c (c_common_post_option): Add -Wignored-qualifiers to
6030 options included in -Wextra.
6031 * c.opt: New option -Wignored_qualifiers.
6032 * doc/invoke.texi (Warning Options, -Wextra): Add new option
6033 -Wignore_qualifiers.
6034 (-Wignored-qualifiers): Document.
6035 (-Wreturn-type): Remove description of functionality now handled
6036 by -Wignored-qualifiers.
6038 2008-01-12 Eric Botcazou <ebotcazou@adacore.com>
6041 * fold-const.c (fold_unary) <VIEW_CONVERT_EXPR>: Fold an existing
6042 NOP_EXPR if it is between integral types with the same precision.
6044 2008-01-12 Jan Hubicka <jh@suse.cz>
6047 * invoke.texi (max-inline-recursive-depth): Fix default value.
6049 2008-01-12 Zdenek Dvorak <ook@ucw.cz>
6051 * tree-parloops.c (transform_to_exit_first_loop): Cast nit to the
6054 2008-01-11 Bob Wilson <bob.wilson@acm.org>
6056 * config/xtensa/xtensa.c (override_options): Set flag_shlib.
6058 2008-01-11 James E. Wilson <wilson@specifix.com>
6061 * config/vax/elf.h (FRAME_POINTER_CFA_OFFSET): Define.
6063 2008-01-11 Anatoly Sokolov <aesok@post.ru>
6065 * config/avr/avr.c (expand_prologue, expand_epilogue): Don't
6066 save/restore frame pointer register and don't use 'call-prologues'
6067 optimization in function with "OS_task" attribute.
6069 2008-01-11 Eric Botcazou <ebotcazou@adacore.com>
6072 * expr.c (copy_blkmode_from_reg): Use a mode suited to the size
6073 when copying to memory.
6075 2008-01-11 Steven Bosscher <stevenb.gcc@gmail.com>
6077 PR rtl-optimization/30905
6078 * cfgcleanup.c: Include dce.h
6079 (crossjumps_occured): New global variable.
6080 (try_crossjump_bb): Exit loop after finding a fallthru edge.
6081 If something changed, set crossjumps_occured to true.
6082 (try_optimize_cfg): Clear crossjumps_occured at the beginning.
6083 Don't add/remove fake edges to exit here...
6084 (cleanup_cfg): ...but do it here, when crossjumping.
6085 Run a fast DCE when successful crossjumps occured in the latest
6086 iteration of try_optimize_cfg.
6088 2008-01-11 Richard Guenther <rguenther@suse.de>
6090 * tree-ssa-sccvn.c (struct vn_binary_op_s): Move hashcode near opcode.
6091 (struct vn_unary_op_s): Likewise.
6092 (vn_reference_insert): Free old reference on hash collision.
6094 2008-01-10 Raksit Ashok <raksit@google.com>
6096 PR rtl-optimization/27971
6097 * combine.c (find_split_point): Split PLUS expressions which are
6098 inside a MEM rtx, and whose first operand is complex.
6100 2008-01-10 DJ Delorie <dj@redhat.com>
6102 * config/m32c/m32c.c (m32c_hard_regno_nregs_1): Renamed from...
6103 (m32c_hard_regno_nregs): ...this, which is now a wrapper.
6104 (m32c_hard_regno_ok): Call the underlying function.
6106 2008-01-10 Richard Guenther <rguenther@suse.de>
6109 * tree-cfg.c (tree_merge_blocks): Do not go through the
6110 full-blown folding and stmt updating path if we just deal
6111 with virtual operands.
6112 * tree-ssa-copy.c (may_propagate_copy): Do not short-cut
6113 test for abnormal SSA_NAMEs.
6115 2008-01-10 Andreas Krebbel <krebbel1@de.ibm.com>
6118 * reload.c (push_reload): Add assertions. All constants from
6119 reg_equiv_constant should have been used for replacing the respective
6121 (find_reloads_address): Invoke find_reloads_address_part for
6122 constant taken from the reg_equiv_constant array.
6124 2008-01-10 Steven Bosscher <stevenb.gcc@gmail.com>
6126 * tree-ssa-sccvn.h (struct vn_ssa_aux): Make the most accessed
6127 field (valnum) the first in the struct. Replace bools with
6130 2008-01-10 Richard Guenther <rguenther@suse.de>
6132 PR tree-optimization/34651
6133 * tree-sra.c (sra_build_assignment): Sanitize. Use the correct
6134 types and ordering for masking and converting.
6136 2008-01-09 Sebastian Pop <sebastian.pop@amd.com>
6138 PR tree-optimization/34017
6139 * lambda-code.c (lambda_loopnest_to_gcc_loopnest): Generate code
6140 also for PHI_NODE expressions.
6142 2008-01-09 Jan Hubicka <jh@suse.cz>
6144 PR tree-optimization/34708
6145 * tree-inline.c (estimate_num_insns_1): Compute cost of SWITCH_EXPR
6146 based on number of case labels.
6147 (init_inline_once): Remove switch_cost.
6148 * tree-inline.h (eni_weights_d): Remove switch_cost.
6150 2008-01-09 Richard Guenther <rguenther@suse.de>
6151 Andrew Pinski <andrew_pinski@playstation.sony.com>
6154 * gimplify.c (gimplify_cond_expr): Do not create an addressable
6155 temporary if an rvalue is ok or an lvalue is not required.
6157 2008-01-09 Richard Guenther <rguenther@suse.de>
6160 * tree-data-ref.c (initialize_matrix_A): Use tree_low_cst,
6163 2008-01-09 Richard Guenther <rguenther@suse.de>
6166 * tree.c (host_integerp): Check for sizetype only if the
6167 type is an integer type.
6169 2008-01-09 Steven Bosscher <stevenb.gcc@gmail.com>
6172 * opts.c (decode_options): Disable inlining of functions called
6173 once if not in unit-at-a-time mode.
6175 2008-01-09 Alexandre Oliva <aoliva@redhat.com>
6177 * Makefile.in (dse.o): Remove duplicate $(RECOG_H) dependency.
6179 2008-01-08 Richard Guenther <rguenther@suse.de>
6182 * tree-ssa-structalias.c (push_fields_onto_fieldstack): Bail
6183 out early if the result will be unused.
6185 2008-01-08 Uros Bizjak <ubizjak@gmail.com>
6190 2008-01-05 Uros Bizjak <ubizjak@gmail.com>
6191 * config/i386/i386.c (ix86_builtin_reciprocal): Remove check
6194 2008-01-08 Jan Sjodin <jan.sjodin@amd.com>
6196 * config/i386/i386.c (k8_cost, amdfam10_cost): Branch costs
6197 for vectorization tuned.
6199 2008-01-08 Richard Guenther <rguenther@suse.de>
6201 PR tree-optimization/34683
6202 * tree-ssa-operands.c (operand_build_cmp): Export.
6203 * tree-ssa-operands.h (operand_build_cmp): Declare.
6204 * tree-vn.c (vuses_compare): Remove.
6205 (sort_vuses): Use operand_build_cmp.
6206 (sort_vuses_heap): Likewise.
6207 * tree-ssa-sccvn.c (vuses_to_vec): Use VEC_reserve, not VEC_alloc
6208 to re-use old VEC if available. Do not sort already sorted VUSEs.
6209 (vdefs_to_vec): Do not sort already sorted VDEFs.
6211 2008-01-08 Jakub Jelinek <jakub@redhat.com>
6214 * omp-low.c (copy_var_decl): Copy also DECL_SOURCE_LOCATION.
6216 2008-01-08 Uros Bizjak <ubizjak@gmail.com>
6219 * doc/invoke.texi (i386 and x86-64 Options) [mrecip]: Document
6220 limitations of reciprocal sequences on x86 targets.
6222 2008-01-08 Richard Guenther <rguenther@suse.de>
6224 PR tree-optimization/34683
6225 * tree-flow-inline.h (var_ann): Remove overzealous asserts.
6227 2008-01-07 Jakub Jelinek <jakub@redhat.com>
6230 * config/darwin.c (darwin_mergeable_string_section): Don't use
6231 .cstring if int_size_in_bytes != TREE_STRING_LENGTH.
6233 2008-01-07 Uros Bizjak <ubizjak@gmail.com>
6236 * config/i386/i386.md (neg<mode>2): Rename from negsf2, negdf2 and
6237 negxf2. Macroize expander using X87MODEF mode iterator. Change
6238 predicates of op0 and op1 to register_operand.
6239 (abs<mode>2): Rename from abssf2, absdf2 and negxf2. Macroize
6240 expander using X87MODEF mode iterator. Change predicates of
6241 op0 and op1 to register_operand.
6242 ("*absneg<mode>2_mixed", "*absneg<mode>2_sse"): Rename from
6243 corresponding patterns and macroize using MODEF macro. Change
6244 predicates of op0 and op1 to register_operand and remove
6245 "m" constraint. Disparage "r" alternative with "!".
6246 ("*absneg<mode>2_i387"): Rename from corresponding patterns and
6247 macroize using X87MODEF macro. Change predicates of op0 and op1
6248 to register_operand and remove "m" constraint. Disparage "r"
6249 alternative with "!".
6250 (absneg splitter with memory operands): Remove.
6251 ("*neg<mode>2_1", "*abs<mode>2_1"): Rename from corresponding
6252 patterns and macroize using X87MODEF mode iterator.
6253 * config/i386/sse.md (negv4sf2, absv4sf2, neg2vdf2, absv2df2):
6254 Change predicate of op1 to register_operand.
6255 * config/i386/i386.c (ix86_expand_fp_absneg_operator): Remove support
6256 for memory operands.
6258 2008-01-07 Nathan Froyd <froydnj@codesourcery.com>
6260 * config/rs6000/rs6000.h (ASM_CPU_SPEC): Add clause for mcpu=8548.
6262 2008-01-07 Richard Guenther <rguenther@suse.de>
6264 * basic-block.h (struct edge_def): Pair dest_idx with goto_locus
6267 2008-01-07 Richard Guenther <rguenther@suse.de>
6269 PR tree-optimization/34683
6270 * tree-ssa-sccvn.c (vuses_to_vec): Pre-allocate the vector of
6271 VOPs of the needed size to save memory. Use VEC_quick_push
6272 to save compile-time.
6273 (vdefs_to_vec): Likewise.
6275 2008-01-07 Sa Liu <saliu@de.ibm.com>
6277 * config/spu/spu.md (divdf3): Genetate inline code for double
6278 division. The implementation doesn't handle INF or NAN, therefore it
6279 only applies when -ffinite-math-only is given.
6281 2008-01-06 Paolo Carlini <pcarlini@suse.de>
6284 * c-cppbuiltin.c (c_cpp_builtins): Define __GXX_RTTI, if appropriate.
6285 * doc/cpp.texi ([Common Predefined Macros]): Document.
6287 2008-01-06 Uros Bizjak <ubizjak@gmail.com>
6289 * config/i386/i386.c (ix86_emit_swsqrtsf): Use negative constants in
6290 order to use commutative addition instead of subtraction.
6292 2008-01-06 Andrew Pinski <andrew_pinski@playstation.sony.com>
6293 Mircea Namolaru <namolaru@il.ibm.com>
6294 Vladimir Yanovsky <yanov@il.ibm.com>
6295 Revital Eres <eres@il.ibm.com>
6297 PR tree-optimization/34263
6298 * tree-outof-ssa.c (process_single_block_loop_latch,
6299 contains_tree_r): New functions.
6300 (analyze_edges_for_bb): Call process_single_block_loop_latch
6301 function to empty single-basic-block latch block if possible.
6303 2008-01-05 Uros Bizjak <ubizjak@gmail.com>
6305 * config/i386/i386.c (ix86_builtin_reciprocal): Remove check
6307 (ix86_emit_swsqrtsf): Do not filter out infinity for rsqrt expansion.
6309 2008-01-05 Richard Sandiford <rsandifo@nildram.co.uk>
6311 * c-omp.c (check_omp_for_incr_expr): Handle CONVERT_EXPR.
6313 2008-01-05 Richard Sandiford <rsandifo@nildram.co.uk>
6315 * config/mips/mips.c (mips_in_small_data_p): Reinstate size > 0 check.
6317 2008-01-05 Jakub Jelinek <jakub@redhat.com>
6319 PR tree-optimization/34618
6320 * tree-outof-ssa.c (create_temp): Copy over DECL_GIMPLE_REG_P
6323 2008-01-05 Uros Bizjak <ubizjak@gmail.com>
6326 * config/i386/i386.c (ix86_emit_swsqrtsf): Swap input operands
6327 in the call to gen_rtx_NE. Remove unneeded VECTOR_MODE_P check.
6328 Update copyright year.
6330 * config/i386/i386.md (rsqrtsf2): Enable for TARGET_SSE_MATH.
6331 Update copyright year.
6332 * config/i386/sse.md (rsqrtv4sf2): Ditto. Unconditionally expand
6335 2008-01-05 Zhouyi Zhou <zhouzhouyi@FreeBSD.org>
6337 * tree-vrp.c (find_conditional_asserts): Remove redundant check that
6338 edge does not point to current bb before changing need_assert.
6340 2008-01-04 Richard Guenther <rguenther@suse.de>
6343 * tree-cfg.c (verify_expr): Do not look inside ADDR_EXPRs
6344 for verifying purposes if they are is_gimple_min_invariant.
6346 2008-01-04 Aldy Hernandez <aldyh@redhat.com>
6348 PR tree-optimization/34448
6349 PR tree-optimization/34465
6350 * gimplify.c (gimplify_init_constructor): Add new parameter
6351 notify_temp_creation. Use it.
6352 (gimplify_modify_expr_rhs): Take volatiles into account when
6353 optimizing constructors.
6354 Do not optimize constructors if gimplify_init_constructor will dump to
6356 * gcc.dg/tree-ssa/pr32901.c: Tests const volatiles.
6357 * gcc.c-torture/compile/pr34448.c: New.
6359 2008-01-04 Jakub Jelinek <jakub@redhat.com>
6361 PR gcov-profile/34609
6362 * tree-inline.c (declare_return_variable): Set TREE_ADDRESSABLE on
6363 return_slot if result is TREE_ADDRESSABLE.
6365 2008-01-04 Richard Sandiford <rsandifo@nildram.co.uk>
6367 * config/mips/mips.md (sqrt_condition): Tweak comment.
6368 (recip_condition): Likewise. Require TARGET_FLOAT64 for DFmode.
6370 2008-01-03 Tom Tromey <tromey@redhat.com>
6373 * c-common.c (c_type_hash): Handle VLAs.
6375 2008-01-03 Jan Hubicka <jh@suse.cz>
6377 PR tree-optimization/31081
6378 * tree-inline.c (remap_ssa_name): Initialize uninitialized SSA vars to
6379 0 when inlining and not inlining to first basic block.
6380 (remap_decl): When var is initialized to 0, don't set default_def.
6381 (expand_call_inline): Set entry_bb.
6382 * tree-inline.h (copy_body_data): Add entry_bb.
6384 2008-01-03 Jakub Jelinek <jakub@redhat.com>
6387 * cgraphunit.c (cgraph_build_static_cdtor): set_cfun back to NULL
6390 PR tree-optimization/29484
6391 * tree-inline.c (inline_forbidden_p_2): New function.
6392 (inline_forbidden_p): Disallow inlining if some static var
6393 has an address of a local LABEL_DECL in its initializer.
6394 * doc/extend.texi (Labels as Values): Document &&foo behaviour
6397 2008-01-03 Sebastian Pop <sebastian.pop@amd.com>
6399 PR tree-optimization/34635
6400 * tree-data-ref.c (add_other_self_distances): Make sure that the
6401 evolution step is constant.
6403 2008-01-03 Jakub Jelinek <jakub@redhat.com>
6406 * omp-low.c (expand_omp_parallel): Purge dead EH edges in the child fn.
6408 2008-01-02 Richard Sandiford <rsandifo@nildram.co.uk>
6410 * tree-sra.c (scalarize_init): Insert the generate_element_init
6411 statements after the generate_element_zero statements.
6413 2008-01-02 Richard Guenther <rguenther@suse.de>
6417 * tree-ssa-operands.c (ssa_operand_alloc): Also allocate a buffer
6418 for very large number of operands instead of ICEing.
6420 2008-01-02 Arthur Norman <acn1@cam.ac.uk>
6423 * config/i386/i386.c (ix86_expand_prologue): Save red-zone
6424 while stack probing.
6426 2008-01-01 Douglas Gregor <doug.gregor@gmail.com>
6428 * c-opts.c (sanitize_cpp_opts): Don't warn about "long long" when
6431 2008-01-01 Volker Reichelt <v.reichelt@netcologne.de>
6434 * tree-mudflap.c (mx_register_decls): Guard warning by
6435 !DECL_ARTIFICIAL check.
6437 2008-01-01 Jakub Jelinek <jakub@redhat.com>
6439 * config/i386/sse.md (sse5_pperm, sse5_pperm_pack_v2di_v4si,
6440 sse5_pperm_pack_v4si_v8hi, sse5_pperm_pack_v8hi_v16qi,
6441 sse5_perm<mode>): Fix constraints.