Merge with gcc-4_3-branch up to revision 175516.
[official-gcc.git] / gcc / ChangeLog
blob8f40cc035a8ffd9e72662c9f629998fb21361443
1 2011-06-27  Release Manager
3         * GCC 4.3.6 released.
5 2011-06-17  Hans-Peter Nilsson  <hp@axis.com>
7         Backport from mainline
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
12         setjmp-type call.
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>
21         PR target/49186
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>
62         PR boehm-gc/34544
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
79         against libpthread.
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
85         patterns.
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>
92         PR target/46915
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>
103         PR target/40468
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>
125         PR target/45946
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>
131         PR target/45820
132         * config/pa/pa.c (pa_secondary_reload): Handle symbolic operands
133         earlier.
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>
148         Revert:
149         2010-08-10  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
151         PR boehm-gc/34544
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>
160         PR c/44555
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>
166         PR boehm-gc/34544
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
191         non-NOTE insns.
193 2010-07-03  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
195         PR target/44597
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.
203         PR target/44705
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>
208         PR target/39690
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>
214         PR target/43740
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>
220         PR target/44481
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
230         to output operand 1.
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>
239         PR target/44075
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>
250         PR target/43733
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>
268         PR target/44202
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>
274         PR bootstrap/38591
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>
285         PR c++/40561
286         Backport from mainline
287         2008-12-29  Richard Guenther  <rguenther@suse.de>
289         PR middle-end/38564
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>
297         PR c++/43116
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>
306         PR middle-end/38584
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>
321         PR middle-end/38360
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>
330         PR c/38957
331         * c-typeck.c (c_finish_return): Handle POINTER_PLUS_EXPR the same way
332         as PLUS_EXPR.
334 2010-04-20  Richard Guenther  <rguenther@suse.de>
336         Backport from mainline
337         2008-12-08  Jakub Jelinek  <jakub@redhat.com>
338         PR c/35443
339         * c-pretty-print.c (pp_c_expression): Handle BIND_EXPR.
341         2009-01-09  Jakub Jelinek  <jakub@redhat.com>
343         PR c/35742
344         * c-pretty-print.c (pp_c_expression): Handle GOTO_EXPR like
345         BIND_EXPR.
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
358         constant value.
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>
371         PR ada/41912
372         * pa/linux-unwind.h (pa32_fallback_frame_state): Set fs->signal_frame
373         for signal frames.
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>
387         PR target/43524
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>
398         PR target/42113
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>
416         PR middle-end/42718
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
444         check !HAVE_GNU_AS.
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
448         after sparc/sysv4.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>
463         PR middle-end/42898
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>
472         PR middle-end/42898
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
479         HAVE_GNU_AS value.
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>
485         PR target/42841
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
496         when using GAS.
498 2010-01-21  Felyza Wishbringer  <fwishbringer@gmail.com>
500         PR bootstrap/42786
501         * config.gcc (i[34567]86-*-*): Fix handling of athlon64 and athlon-fx
502         cpu types.  Add support for *-sse3 cpu types.
503         (x86_64-*-*): Ditto.
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>
513         PR target/42774
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>
524         PR target/42542
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
527         them signed.
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>
535         PR target/42542
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.
544         PR target/42511
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>
550         PR target/42564
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>
571         PR target/42448
572         * config/alpha/predicates.md (aligned_memory_operand): Return false
573         for CQImode.
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>
580         PR middle-end/42099
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>
586         PR target/42549
587         * config/i386/mmx.md (*mmx_subv2sf3): Fix insn operand number for
588         alternative 1.
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>
596         PR target/42113
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
612         for 32bit targets.
613         (call_insn_operand): Use call_register_no_elim_operand.
615 2009-11-13  Uros Bizjak  <ubizjak@gmail.com>
617         PR target/41900
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>
625         Revert:
626         2009-11-05  Uros Bizjak  <ubizjak@gmail.com>
628         PR target/41900
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
632         X86_ARCH_CALL_ESP.
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
636         TARGET_CALL_ESP.
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>
644         PR c++/36912
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>
651         PR target/41900
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
655         X86_ARCH_CALL_ESP.
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
659         TARGET_CALL_ESP.
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
671         patterns.
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>
680         PR target/41702
681         * pa.md (casesi): Use sign extended index in call to
682         gen_casesi64p.
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>
690         PR target/40913
691         * config/pa/t-hpux-shlib: Set soname in libgcc_s.sl.
693 2009-10-14  Hans-Peter Nilsson  <hp@axis.com>
695         PR target/38948
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>
701         PR target/26515
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
708         add MASK_HARD_DFP.
710 2009-09-30  Uros Bizjak  <ubizjak@gmail.com>
712         PR target/22093
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
719         form of instruction.
721 2009-09-23  Alan Modra  <amodra@bigpond.net.au>
723         PR target/40473
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>
729         PR c/39779
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>
735         PR c/41049
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>
744         PR middle-end/41009
745         Backport from mainline
746         2009-03-10  Richard Guenther  <rguenther@suse.de>
747         Nathan Froyd  <froydnj@codesourcery.com>
749         PR middle-end/37850
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.
756         (sminsf3): Ditto.
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
778         when num_bytes == 0.
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>
812         PR middle-end/41094
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>
818         PR target/40718
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>
829         PR target/41019
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>
842         PR target/8603
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>
857         PR target/40906
858         * config/i386/i386.c (ix86_split_long_move): Fix push of multi-part
859         source operand.
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>
871         PR target/40577
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>
886         PR c/39902
887         * simplify-rtx.c (simplify_binary_operation_1): Disable
888         simplifications for decimal float operations.
890         PR c/39902
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>
907         PR target/40832
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>
918         PR target/39943
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>
958         PR c++/40566
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>
967         PR middle-end/40291
968         * builtins.c (expand_builtin_memcmp): Convert len to sizetype
969         before expansion.
971 2009-07-10  Richard Guenther  <rguenther@suse.de>
973         Backport from mainline
974         2009-01-28  Jakub Jelinek  <jakub@redhat.com>
976         PR middle-end/38934
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>
983         PR middle-end/40328
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>
993         PR middle-end/40585
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>
1031         PR other/40024
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>
1044         PR middle-end/38751
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>
1054         PR c/32041
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>
1069         PR objc/28050
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>
1078         PR C++/36607
1079         * convert.c (convert_to_integer): Treat OFFSET_TYPE like INTEGER_TYPE.
1081         2009-05-20  Jakub Jelinek  <jakub@redhat.com>
1083         PR middle-end/40204
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
1086         arg1.
1088         2009-02-03  Jakub Jelinek  <jakub@redhat.com>
1090         PR target/35318
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>
1099         PR target/39240
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>
1108         PR target/39013
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>
1114         PR c/39855
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>
1123         PR target/40470
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>
1129         PR debug/40061
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>
1156         PR middle-end/40404
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>
1163         PR middle-end/40389
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>
1171         PR middle-end/40460
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>
1182         PR target/38222
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>
1238         PR target/39942
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>
1245         PR debug/40109
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>
1251         PR target/40153
1252         * arm.md (cstoresi_nltu_thumb1): Use a neg of ltu as the pattern name
1253         implies.
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>
1261         PR target/39501
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>
1271         PR middle-end/40147
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>
1277         PR target/37179
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>
1286         PR bootstrap/40061
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>
1298         PR middle-end/39986
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>
1305         PR middle-end/40057
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
1309         build_int_cst_type.
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>
1317         PR fortran/39791
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
1323         types.
1324         (gen_array_type_die): Emit DW_TAG_string_type for Fortran character
1325         types.
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
1332         spu-builtins.h.
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.
1345         Include "gt-spu.h".
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:
1356         PR target/39496
1357         * config/i386/i386.c (ix86_function_regparm): Don't optimize
1358         local functions using regparm calling conventions when not
1359         optimizing.
1360         (ix86_function_sseregparm): Similarly for sseregparm calling
1361         conventions.
1363 2009-04-14  Uros Bizjak  <ubizjak@gmail.com>
1365         Backport from mainline:
1366         2009-04-12  Uros Bizjak  <ubizjak@gmail.com>
1368         PR target/39740
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>
1374         PR target/39634
1375         * config.gcc (powerpc-*-linux*): Include soft-fp/t-softfp after
1376         rs6000/t-linux64.
1378 2009-04-02  David Ayers  <ayers@fsfe.org>
1380         PR objc/27377
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
1389         is not necessary.
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>
1397         PR target/39175
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
1400         flags.
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>
1411         PR target/39482
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>
1423         PR target/39477
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>
1431         PR target/39327
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
1442         of ABI_64.
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>
1454         PR middle-end/37861
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>
1472         PR inline-asm/39058
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
1479         to asm_operand_ok.
1481 2009-02-25  Janis Johnson  <janis187@us.ibm.com>
1483         Backport from mainline:
1484         2008-10-29  Joseph Myers  <joseph@codesourcery.com>
1486         PR middle-end/36578
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>
1507         PR target/38056
1508         * config/ia64/ia64.c (ia64_function_ok_for_sibcall): Check
1509         TARGET_CONST_GP.
1511 2009-02-19  Uros Bizjak  <ubizjak@gmail.com>
1513         PR target/39228
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>
1526         PR c/35446
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>
1532         PR c/35444
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>
1539         PR target/39118
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>
1552         PR c/39084
1553         * c-decl.c (start_struct): Return NULL on error.
1555 2009-02-10  Uros Bizjak  <ubizjak@gmail.com>
1557         PR target/39118
1558         * config/i386/i386.c (expand_prologue): Emit blockage at the end
1559         of function prologue when frame pointer is used to access
1560         red zone area.
1562 2009-02-09  Janis Johnson  <janis187@us.ibm.com>
1564         PR c/39035
1565         * real.c (do_compare): Special-case compare of zero against
1566         decimal float value.
1568 2009-02-08  Joseph Myers  <joseph@codesourcery.com>
1570         PR c/35434
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>
1576         PR c/36432
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>
1586         PR target/38991
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>
1592         PR c/35435
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>
1616         PR c/35433
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
1623         -mabicalls.
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>
1641         PR target/38988
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>
1647         PR middle-end/38969
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>
1653         PR middle-end/38615
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>
1670         PR target/38706
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>
1711         PR target/38931
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
1729         non-negative x.
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>
1739         PR target/38902
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
1744         correctly.
1745         (expand_setmem_via_rep_stos): Add ORIG_VALUE argument.  If
1746         ORIG_VALUE is const0_rtx and COUNT is constant, set MEM_SIZE
1747         on DESTMEM.
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>
1761         PR other/38758
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>
1797         PR middle-end/38616
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>
1814         PR target/34571
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>
1825         PR debug/7055
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>
1863         PR target/36654
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>
1882         PR middle-end/38565
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>
1888         PR target/38062
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>
1896         PR bootstrap/38383
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>
1905         PR target/38402
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>
1911         PR testsuite/35677
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
1921         written variables.
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):
1948         New variables.
1949         (check-subtargets, check-%-subtargets, check-parallel-%): New
1950         targets.
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>
1971         PR target/38054
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>
1980         PR testsuite/28870
1981         * doc/sourcebuild.texi (Test Directives): Add dg-timeout and
1982         dg-timeout-factor.
1984 2008-12-01  Uros Bizjak  <ubizjak@gmail.com>
1986         Backport from mainline:
1987         2008-11-25  Uros Bizjak  <ubizjak@gmail.com>
1989         PR target/38254
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>
1997         PR target/38287
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.
2002         Add TARGET_V9 case.
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
2010         DFtype.
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>
2032         PR other/38214
2033         * doc/invoke.texi (Optimization Options): Fix typo.
2035 2008-11-20  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2037         PR bootstrap/33100
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
2055         inside a field.
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
2067         is_full_var flag.
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>
2078         PR target/37640
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>
2098         PR debug/27574
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>
2117         PR c++/38007
2118         * c-common.c (c_common_signed_or_unsigned_type): Remove C++
2119         special casing.
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
2131         with vect_dump.
2133 2008-11-10  Andrew Haley  <aph@redhat.com>
2135         Backport from mainline:
2137         PR bootstrap/33304
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>
2154         PR middle-end/37807
2155         PR middle-end/37809
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>
2172         PR target/35574
2173         * config/sparc/predicates.md (const_double_or_vector_operand):
2174         New.
2175         * config/sparc/sparc.c (sparc_extra_constraint_check): Handle the
2176         'D' constraint.
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>
2185         PR c/37924
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.
2194         PR middle-end/37858
2195         * passes.c (execute_one_pass): Don't look at cfun->curr_properties
2196         for ipa and simple ipa passes.
2198         PR middle-end/37870
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
2201         or through memory.
2203 2008-11-05  Hans-Peter Nilsson  <hp@axis.com>
2205         PR target/38016
2206         * config/cris/cris.c (cris_order_for_addsi3): Test for !REG_P, not
2207         just MEM_P.
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>
2215         PR target/37939
2216         * config/cris/cris.c (cris_rtx_costs) <MULT>: Return 0 for an ADDI
2217         operand.
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>
2229         PR target/37909
2230         Backport from mainline:
2231         * config/sh/sh.c (untangle_mova): Return -1 when NEW_MOVA has
2232         no address.
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>
2246         PR middle-end/37882
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>
2272         PR c/35437
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>
2280         PR middle-end/37731
2281         * expmed.c (expand_mult): Properly check DImode constant in
2282         CONST_DOUBLE.
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>
2295         PR target/37603
2296         * pa.c (legitimize_pic_address): Force function labels to memory in
2297         word mode.
2299 2008-10-01  Richard Henderson  <rth@redhat.com>
2301         PR tree-opt/35737
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>
2312         PR middle-end/36575
2313         * fold-const.c (div_and_round_double) <ROUND_DIV_EXPR>: Fix typo.
2315 2008-09-25  Jakub Jelinek  <jakub@redhat.com>
2317         PR c/37645
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>
2338         PR middle-end/37236
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
2353         parameters.
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>
2368         PR target/35620
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>
2375         PR target/35713
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>
2381         PR c/35712
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>
2392         PR target/37466
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
2457         static function.
2458         (initializer_constant_valid_p): Call it.
2460 2008-09-02  Jakub Jelinek  <jakub@redhat.com>
2462         PR target/36332
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>
2472         PR middle-end/37248
2473         PR middle-end/36449
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.
2478         Revert:
2479         2008-06-11  Richard Guenther  <rguenther@suse.de>
2480         PR middle-end/36449
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>
2490         PR target/37168
2491         * config/rs6000/rs6000-protos.h (const_vector_elt_as_int): Add
2492         prototype.
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
2497         vector float modes.
2499 2008-08-29  Jakub Jelinek  <jakub@redhat.com>
2501         PR c/37261
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>
2517         PR c++/36741
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>
2523         PR middle-end/36548
2524         PR middle-end/37125
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>
2530         PR middle-end/36817
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>
2536         PR target/37184
2537         * config/i386/i386.c (ix86_match_ccmode): Handle CCAmode,
2538         CCCmode, CCOmode and CCSmode destination modes.
2540         PR target/37191
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.
2551         PR target/37197
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>
2602         PR debug/37156
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>
2633         PR target/37101
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>
2639         PR middle-end/37103
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>
2651         PR middle-end/37014
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>
2658         PR c/35746
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>
2672         PR c++/36688
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>
2678         PR target/36613
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>
2690         PR middle-end/37042
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>
2696         PR middle-end/35432
2697         * gimplify.c (gimplify_modify_expr): Do not optimize zero-sized types
2698         if want_value.
2700 2008-08-06  Maxim Kuvyrkov  <maxim@codesourcery.com>
2702         Backport from mainline:
2703         2008-08-06  Maxim Kuvyrkov  <maxim@codesourcery.com>
2705         PR target/35659
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
2710         declaration.
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>
2732         PR c++/37016
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>
2776         PR middle-end/37026
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>
2782         PR middle-end/36691
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>
2809         PR bootstrap/35752
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
2825         functions.
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.
2831         PR debug/36278
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
2836         DW_AT_import.
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
2859         is null.
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>
2884         PR middle-end/36877
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>
2890         PR target/36780
2891         PR target/36827
2892         * reload.c (find_reloads_subreg_address): Only reload address if
2893         reloaded == 0, not for reloaded != 1.
2895         Revert:
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>
2942         PR target/36827
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:
2950         PR target/36784
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:
2959         PR target/36782
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>
2969         PR middle-end/36369
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:
2981         PR target/36780
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>
2987         PR target/35492.
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>
2993         PR middle-end/36811
2994         * langhooks.c (lhd_print_error_function): Deal with recursive
2995         BLOCK trees.
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
3006         gcc code.
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>:
3013         Likewise.
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
3021         correct insn.
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>
3028         PR target/35802
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
3032         instead of V1_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:
3049         PR target/36736
3050         2008-02-29  Kaz Kojima  <kkojima@gcc.gnu.org>
3052         * config/sh/sh.c (sh_secondary_reload): Handle loading a float
3053         constant to fpul.
3055 2008-07-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3057         PR target/34780
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:
3063         PR target/36684
3064         * config/sh/sh.h (OVERRIDE_OPTIONS): Disable -fschedule-insns
3065         for PIC.
3067 2008-07-04  Alan Modra  <amodra@bigpond.net.au>
3069         PR target/36634
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
3076         !TARGET_SECURE_PLT.
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
3091         RFmode constants.
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
3103         unconditionally.
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>
3119         PR target/34856
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"
3135         mode attribute.
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>
3198         PR middle-end/36584
3199         * calls.c (expand_call): Increase alignment for recursive functions.
3201 2008-06-23  Jakub Jelinek  <jakub@redhat.com>
3203         PR target/36533
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
3256         removed argument.
3258 2008-06-15  Anatoly Sokolov  <aesok@post.ru>
3260         PR target/36424
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>
3267         PR target/36336
3268         * config/avr/avr.h (LEGITIMIZE_RELOAD_ADDRESS): Add check for
3269         reg_equiv_constant.
3271 2008-06-13  Jakub Jelinek  <jakub@redhat.com>
3273         PR c/36507
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
3283         have subvars.
3285 2008-06-12  Jakub Jelinek  <jakub@redhat.com>
3287         PR middle-end/36506
3288         * omp-low.c (expand_omp_sections): Initialize l2 to avoid bogus
3289         warning.
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>
3301         PR middle-end/36506
3302         * omp-low.c (expand_omp_sections): Handle #pragma omp sections with
3303         reductions.
3305 2008-06-11  Tom Tromey  <tromey@redhat.com>
3307         * c-lex.c (fe_file_change): Pass SOURCE_LINE to start_source_file
3308         debug hook.
3310 2008-06-11  Richard Guenther  <rguenther@suse.de>
3312         PR middle-end/35336
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
3333         defaults.
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>
3365         PR target/27386
3366         * config/avr/avr.h: (PUSH_ROUNDING): Remove.
3368         PR target/30243
3369         * builtins.c (expand_builtin_signbit): Don't take lowpart when
3370         register is already smaller or equal to required mode.
3372         PR target/34932
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
3404         Revert
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):
3412         New function.
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.
3427         PR target/36362
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>
3457         PR middle-end/36300
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>
3469         PR target/36321
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
3501         phi nodes.
3503 2008-05-21  Uros Bizjak  <ubizjak@gmail.com>
3504             Jakub Jelinek  <jakub@redhat.com>
3506         PR target/36079
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
3520         USE_IX86_CLD.
3522 2008-05-20  Richard Guenther  <rguenther@suse.de>
3524         Backport from mainline:
3525         2008-05-15  Richard Guenther  <rguenther@suse.de>
3527         PR middle-end/36244
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
3546         $SOURCEDIR/include.
3548 2008-05-19  Adam Nemet  <anemet@caviumnetworks.com>
3550         PR middle-end/36194
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:
3566         PR target/36224
3567         * config/i386/sse.md (vec_widen_smult_hi_v4si): Delete, using
3568         unsigned multiply gives the wrong value when doing widening
3569         multiplies.
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
3581         bases.
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>
3605         PR middle-end/36227
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>
3622         PR target/35661
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>
3667         Revert
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>
3687         PR target/36090
3688         * config/rs6000/rs6000.c (print_operand_address): If the TOC
3689         address RHS contains an offset, output it as well.
3691         PR target/36182
3692         Revert:
3693         2008-05-08  Paolo Bonzini  <bonzini@gnu.org>
3694         PR target/36090
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>
3703         PR target/35657
3704         * config/i386/i386.c (contains_128bit_aligned_vector_p): Renamed
3705         to ...
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>
3712         PR target/36090
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>
3718         PR middle-end/36154
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>
3724         PR middle-end/36172
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>
3730         PR middle-end/36013
3731         * gimplify.c (find_single_pointer_decl_1): Don't look through
3732         indirections.
3733         (find_single_pointer_decl): Adjust comments.
3735 2008-05-07  Jakub Jelinek  <jakub@redhat.com>
3737         PR middle-end/36137
3738         * fold-const.c (fold_binary): Use STRIP_SIGN_NOPS instead of
3739         STRIP_NOPS on arguments even for MIN_EXPR and MAX_EXPR.
3741         PR middle-end/36106
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
3756         in case of SLP.
3758 2008-05-03  Richard Guenther  <rguenther@suse.de>
3760         PR middle-end/34973
3761         * opts.c (set_Wstrict_aliasing): Handle the turn-off case.
3763 2008-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3765         PR bootstrap/35169
3766         * optc-gen.awk: Work around HP-UX/IA awk bug.
3768 2008-05-01  H.J. Lu  <hongjiu.lu@intel.com>
3770         PR target/36095
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
3785         than size_in_bytes.
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>
3809         PR middle-end/36077
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>
3815         PR debug/36060
3816         * dwarf2out.c (struct die_struct): Mark as chain_circular through
3817         die_sub field.
3818         * gengtype.c (walk_type, write_func_for_structure): Handle
3819         chain_circular.
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>
3831         PR libstdc++/35597
3832         * toplev.c (process_options): Remove -ffunction-sections debugging
3833         warning.
3835 2008-04-24  Jakub Jelinek  <jakub@redhat.com>
3837         PR c++/35758
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>
3861         PR target/36015
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>
3867         PR middle-end/36021
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>
3884         PR c/35744
3885         * attribs.c (decl_attributes): Return early on errorneous node.
3887         PR c/35436
3888         * c-format.c (init_dynamic_gfc_info): Ignore invalid locus type.
3890 2008-04-17  Alan Modra  <amodra@bigpond.net.au>
3892         PR target/35907
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>
3903         PR target/35944
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>
3910         PR c/35739
3911         * tree-nrv.c (tree_nrv): Don't optimize if result_type is GIMPLE
3912         reg type.
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>
3925         PR c/35751
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>
3936         PR target/35695
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
3945         PR middle-end/35519
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>
3973         PR target/35364
3974         * tree-cfg.c (remove_useless_stmts_1): Handle OMP_* containers.
3976         PR c/35440
3977         * c-pretty-print.c (pp_c_initializer_list): Handle CONSTRUCTOR
3978         for all types.
3980 2008-04-03  Jakub Jelinek  <jakub@redhat.com>
3982         PR c/35738
3983         * c-parser.c (c_parser_omp_atomic): Call
3984         default_function_array_conversion on the RHS.
3986         PR middle-end/35818
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>
3992         PR middle-end/35429
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>
3998         PR tree-opt/35431
3999         * tree-ssa-phiopt.c (conditional_replacement): Return early for
4000         complex types.
4002 2008-04-01  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
4004         PR middle-end/35705
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
4012         gpl.texi.
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.
4016         (gpl.pod): New.
4018 2008-03-28  Nick Clifton  <nickc@redhat.com>
4020         PR target/31232
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>
4026         PR target/31110
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>
4035         PR target/35657
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>
4044         PR middle-end/35609
4045         * tree-ssa.c (walk_data): New structure.
4046         (warn_uninitialized_var): If not always_executed warn with "maybe"
4047         instead of "is".
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>
4062         PR middle-end/35616
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
4079         at bb start.
4081 2008-03-18  Mikulas Patocka  <mikulas@artax.karlin.mff.cuni.cz>
4083         PR target/35504
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>
4092         PR middle-end/35593
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>
4103         PR middle-end/35611
4104         * gimplify.c (gimplify_expr): Gimplify second operand of
4105         OMP_ATOMIC_LOAD.
4107 2008-03-16  James E. Wilson  <wilson@tuliptree.org>
4109         PR debug/31510
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>
4130         PR target/34000
4131         PR target/35553
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>
4146         PR middle-end/35185
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>
4153         PR middle-end/35549
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>
4164         PR target/35540
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
4169         memory operands.
4170         (paritydi2_cmp): Use register_operand constraint for operand 3.
4171         Use earlyclobber modifier for operand 1.  Remove support for
4172         memory operands.
4174 2008-03-11  Uros Bizjak  <ubizjak@gmail.com>
4176         PR middle-end/35526
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>
4187         PR c/35438
4188         PR c/35439
4189         * c-parser.c (c_parser_omp_threadprivate): Don't add vars with
4190         errorneous type.  Check that v is a VAR_DECL.
4192         PR middle-end/35099
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>
4200         PR target/35496
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>
4206         PR middle-end/35456
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:
4214         PR target/35225
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:
4220         PR target/35190
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>
4228         PR target/35498
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>
4251         PR target/35189
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
4277         ix86_isa_flags.
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>
4290         PR target/33963
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>
4310         PR target/35222
4311         * configure.ac (CONFIG_SJLJ_EXCEPTIONS): Force SJLJ exceptions
4312         on hpux10.
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>
4320         PR target/35453
4321         * config/i386/smmintrin.h (SIDD_XXX): Renamed to ...
4322         (_SIDD_XXX): This.
4324 2008-03-02  Jakub Jelinek  <jakub@redhat.com>
4326         PR driver/35420
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>
4335         PR c++/35315
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>
4344         PR middle-end/19984
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>
4356         PR target/25477
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>
4370         PR middle-end/35390
4371         * fold-const.c (fold_unary): Return the correct argument,
4372         converted to the result type.
4374         PR middle-end/34971
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):
4401         Use spe_abi.
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
4407         GENNONACR_REGS.
4409 2008-02-21  Janis Johnson  <janis187@us.ibm.com>
4411         PR target/34526
4412         * config/rs6000/rs6000.c (rs6000_altivec_abi): Clarify comment.
4413         (rs6000_explicit_options): Split abi into spe_abi and altivec_abi,
4414         add vrsave.
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>
4424         PR bootstrap/35273
4425         * config.build (build_file_translate): Set to `CMD //c' only if
4426         it works.
4427         * Makefile.in (build_file_translate): Improve comment.
4429 2008-02-21  Michael Matz  <matz@suse.de>
4431         PR target/35264
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>
4448         PR middle-end/35265
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>
4454         PR bootstrap/35218
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>
4463         PR target/35239
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>
4469         PR target/35071
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>
4494         PR middle-end/35227
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
4502         if A | B != 1.
4504 2008-02-17  Uros Bizjak  <ubizjak@gmail.com>
4506         Revert:
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>
4514         PR c/28368
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
4520         multilibs.
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>
4537         PR middle-end/35196
4538         * omp-low.c (expand_omp_for_generic): Don't initialize fd->v
4539         in entry_bb.
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>
4550         PR middle-end/35130
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
4562         in their operands.
4564 2008-02-15  Joseph Myers  <joseph@codesourcery.com>
4566         PR target/35088
4567         * config/m68k/m68k.h (DWARF_CIE_DATA_ALIGNMENT): Define.
4569 2008-02-15  Jan Hubicka  <jh@suse.cz>
4571         PR middle-end/35149
4572         * ipa.c (cgraph_remove_unreachable_nodes): Clear local.inlinable flag.
4574 2008-02-15  Uros Bizjak  <ubizjak@gmail.com>
4576         PR middle-end/34621
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>
4595         PR middle-end/35136
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>
4606         PR target/34930
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>
4645         PR target/34393
4646         * config/rs6000/rs6000.md (restore_stack_block): Force operands[1]
4647         to a reg.
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>
4656         PR other/35148
4657         * Makefile.in (gcc-vers.texi): Use abs_srcdir for the value of
4658         srcdir.
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
4669         switch notes.
4671 2008-02-13  Michael Matz  <matz@suse.de>
4673         PR debug/35065
4674         * var-tracking.c (clobber_variable_part): Correctly traverse the
4675         list.
4677 2008-02-13  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
4679         PR 29673
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
4689         default defs.
4691 2008-02-12  Richard Guenther  <rguenther@suse.de>
4693         PR middle-end/35163
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>
4699         PR middle-end/35136
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>
4706         PR c++/35144
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
4711         and types.
4713         PR inline-asm/35160
4714         * function.c (match_asm_constraints_1): Don't replace the same input
4715         multiple times.
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>
4739         PR libfortran/35063
4740         * gthr-win32.h (__gthread_mutex_destroy_function): New function
4741         to CloseHandle after unlocking to prevent accumulation of handle
4742         count.
4744 2008-02-09  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
4746         PR middle_end/34150
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>
4753         PR middle-end/34627
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>
4759         PR bootstrap/35051
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>
4785         PR other/32754
4786         * doc/options.texi (Options): Replace references to opts.sh with
4787         optc-gen.awk.
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>
4797         PR rtl-opt/33410
4798         * config/alpha/alpha.c (alpha_emit_xfloating_compare): Use an
4799         EXPR_LIST for the REG_EQUAL instead of a comparison with a
4800         funny mode.
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>
4811         PR other/35107
4812         * Makefile.in (LIBS): Remove $(GMPLIBS).
4813         (cc1-dummy, cc1): Add $(GMPLIBS).
4815 2008-02-06  Jan Hubicka  <jh@suse.cz>
4817         PR target/23322
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>
4823         PR target/35083
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
4839         -msx multilibs.
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
4863         PR 33738
4864         * tree-vrp.c (vrp_evaluate_conditional): Revert fix for PR 33738.
4866 2008-02-05  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4868         PR other/35070
4869         * toplev.c (print_version): Honor `indent' for GMP/MPFR warnings.
4871 2008-02-05  H.J. Lu  <hongjiu.lu@intel.com>
4873         PR target/35084
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>
4885         PR target/35083
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
4893         PR 33738
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>
4900         PR middle-end/33631
4901         * expr.c (count_type_elements): Give for unions instead of
4902         guessing.
4904 2008-02-04  Richard Guenther  <rguenther@suse.de>
4906         PR middle-end/35043
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>
4916         PR other/29972
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>
4924         PR target/35045
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>
4946         PR bootstrap/33781
4947         * configure.ac (--enable-fixed-point): Disable unless explicitly
4948         requested on IRIX.
4949         * configure: Regenerate.
4951 2008-02-01  Richard Guenther  <rguenther@suse.de>
4953         PR other/35042
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>
4961         PR c/29326
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>
4986         PR target/34900
4987         * config/mips/mips.c (gen_load_const_gp): New function, taking a
4988         comment from...
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>
5011         PR c/34993
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>
5021         PR target/34982
5022         * i386.c (init_cumulative_args): Use real function declaration when
5023         calling locally.
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>
5044         PR middle-end/34969
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.
5052         PR c/35017
5053         * c-decl.c (start_decl): Don't pedwarn about TREE_READONLY
5054         static decls.
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>
5064         PR c/35002
5065         * ipa-struct-reorg.c: Fix spelling.
5066         * params.def: Ditto.
5068 2008-01-29  Richard Guenther  <rguenther@suse.de>
5070         PR middle-end/35006
5071         * tree-inline.h (struct copy_body_data): Add remapping_type_depth
5072         field.
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>
5080         PR c++/34055
5081         PR c++/34103
5082         PR c++/34219
5083         PR c++/34606
5084         PR c++/34753
5085         PR c++/34754
5086         PR c++/34755
5087         PR c++/34919
5088         PR c++/34961
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>
5094         PR target/34412
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>
5108         PR c++/34862
5109         PR c++/33407
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>
5117         PR 31535
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>
5157         PR middle-end/34688
5158         * final.c (output_addr_const): Handle TRUNCATE.
5160 2008-01-26  Zdenek Dvorak  <ook@ucw.cz>
5162         PR target/34711
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):
5168         New functions.
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
5181         in comp_cost.
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>
5188         PR target/34814
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):
5206         New prototype.
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>
5242         PR c++/34965
5243         * c-pretty-print.c (pp_c_exclusive_or_expression): Handle
5244         TRUTH_XOR_EXPR.
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
5248         and TRUTH_XOR_EXPR.
5250 2008-01-26  David Edelsohn  <edelsohn@gnu.org>
5252         PR target/34794
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
5264         if necessary.
5266 2008-01-26  Richard Sandiford  <rsandifo@nildram.co.uk>
5268         PR target/34981
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
5277         emit_call_insn.
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
5282         the call insn.
5283         (mips_extra_live_on_entry): Include GOT_VERSION_REGNUM if
5284         TARGET_USE_GOT.
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>
5303         PR target/34970
5304         * config/i386/cygming.h (ASM_OUTPUT_LABELREF): Define.
5306 2008-01-25  Joseph Myers  <joseph@codesourcery.com>
5308         PR other/31955
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
5328         on C4x.
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>
5344         PR middle-end/32244
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>
5350         PR middle-end/33880
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
5362         defining statement.
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>
5408         PR target/34856
5409         * simplifx-rtx.c (simplify_const_binary_operation) [VEC_CONCAT]:
5410         Consider only CONST_INT, CONST_DOUBLE and CONST_FIXED as constant
5411         vector elements.
5413 2008-01-25  Jakub Jelinek  <jakub@redhat.com>
5415         PR middle-end/33333
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):
5421         New functions.
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>
5432         PR other/22232
5433         * fixproto: Escape "." in sed expression that strips leading "./".
5435 2008-01-24  H.J. Lu  <hongjiu.lu@intel.com>
5437         PR driver/34904
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>
5468         PR target/34856
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>
5474         PR middle-end/34934
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>
5480         PR c++/25701
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
5489         define.
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>
5495         PR debug/34895
5496         * dwarf2out.c (force_type_die): Use modified_type_die instead of
5497         gen_type_die.
5499 2008-01-23  Andreas Krebbel  <krebbel1@de.ibm.com>
5501         * ipa-struct-reorg.c (create_new_malloc): Use pointer type as
5502         malloc result type.
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__"
5517         macros.
5518         (LINK_SPEC, CRT_BINUTILS_SPECS, ASM_SPEC): Add 'avr31' and 'avr51'
5519         architectures.
5520         * config/avr/t-avr (MULTILIB_OPTIONS, MULTILIB_DIRNAMES,
5521         MULTILIB_MATCHES): (Ditto.).
5523 2008-01-23  Richard Guenther  <rguenther@suse.de>
5525         PR middle-end/31529
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
5546         bf526.
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
5559         been lost.
5561 2008-01-22  David Edelsohn  <edelsohn@gnu.org>
5563         PR target/34529
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>
5569         PR c++/34607
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.
5573         PR c++/34914
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.
5579         PR c++/34917
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>
5585         PR 32102
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
5604         DF_RD->gen.
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
5613         understandable.
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>
5619         PR bootstrap/32287
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>
5626         PR middle-end/33092
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>
5659         PR c++/34196
5660         * tree.h (TRY_CATCH_IS_CLEANUP): New macro.
5661         * tree-eh.c (honor_protect_cleanup_actions): Strip TRY_CATCH_EXPR
5662         if it is set.
5664 2008-01-21  DJ Delorie  <dj@redhat.com>
5666         * doc/tm.texi (HARD_REGNO_NREGS): Note that this macro must not
5667         return zero.
5669 2008-01-21  Richard Guenther  <rguenther@suse.de>
5671         PR middle-end/34856
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>
5684         PR c/34885
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
5707         input.
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
5714         DF_RD->gen.
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>
5731         PR target/34831
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
5750         at the end.
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>
5786         PR c++/33407
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>
5796         PR debug/34484
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
5802         before their uses.
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):
5838         New param.
5840 2008-01-16  Sebastian Pop  <sebastian.pop@amd.com>
5842         PR testsuite/34821
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
5884         static links.
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>
5890         PR middle-end/32628
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>
5898         PR debug/34249
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>
5941         PR c/34668
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>
5960         PR debug/34249
5961         * debug.h (dwarf2out_switch_text_section): Move declaration from ...
5962         * dwarf2out.c (dwarf2out_switch_text_section): ... here.  Make
5963         function global.
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>
5970         PR c/34768
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>
5990         PR c++/24924
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>
6003         PR middle-end/34601
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>
6014         PR middle-end/32135
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
6017         pointers to arrays.
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
6028         qualifiers.
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>
6040         PR ada/33788
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>
6046         PR other/28023
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
6052         correct type.
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>
6060         PR target/26015
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>
6071         PR middle-end/31309
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>
6108         PR middle-end/34683
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>
6117         PR middle-end/34641
6118         * reload.c (push_reload): Add assertions.  All constants from
6119         reg_equiv_constant should have been used for replacing the respective
6120         pseudo earlier.
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
6128         unit bit fields.
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>
6153         PR middle-end/30132
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>
6159         PR middle-end/34458
6160         * tree-data-ref.c (initialize_matrix_A): Use tree_low_cst,
6161         adjust return type.
6163 2008-01-09  Richard Guenther  <rguenther@suse.de>
6165         PR middle-end/34679
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>
6171         PR debug/26364
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>
6181         PR middle-end/31863
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>
6187         PR target/34709
6188         Revert:
6190         2008-01-05  Uros Bizjak  <ubizjak@gmail.com>
6191         * config/i386/i386.c (ix86_builtin_reciprocal): Remove check
6192         for TARGET_RECIP.
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>
6213         PR middle-end/34694
6214         * omp-low.c (copy_var_decl): Copy also DECL_SOURCE_LOCATION.
6216 2008-01-08  Uros Bizjak  <ubizjak@gmail.com>
6218         PR target/34702
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>
6229         PR target/34622
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>
6235         PR target/34682
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
6265         fields.
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>
6283         PR libstdc++/34680
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
6306         for TARGET_RECIP.
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
6321         flag from T.
6323 2008-01-05  Uros Bizjak  <ubizjak@gmail.com>
6325         PR target/34673
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
6333         using NR fixup.
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>
6342         PR middle-end/34029
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
6355         memory.
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>
6372         PR c/34457
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>
6386         PR c++/34619
6387         * cgraphunit.c (cgraph_build_static_cdtor): set_cfun back to NULL
6388         before returning.
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
6395         vs. inlining.
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>
6405         PR middle-end/34608
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>
6415         PR middle-end/34093
6416         PR middle-end/31976
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>
6422         PR target/34013
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
6429         in C++0x mode.
6431 2008-01-01  Volker Reichelt  <v.reichelt@netcologne.de>
6433         PR libmudflap/26442
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.