OSDN Git Service

* BASE-VER: Set to 4.4.0.
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2008-02-18  Jakub Jelinek  <jakub@redhat.com>
2
3         * BASE-VER: Set to 4.4.0.
4
5 2008-02-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
6
7         * doc/c-tree.texi: Use @dots{} and @enddots{} where appropriate.
8         * doc/cfg.texi: Likewise.
9         * doc/extend.texi: Likewise.
10         * doc/gty.texi: Likewise.
11         * doc/invoke.texi: Likewise.
12         * doc/loop.texi: Likewise.
13         * doc/md.texi: Likewise.
14         * doc/passes.texi: Likewise.
15         * doc/rtl.texi: Likewise.
16         * doc/sourcebuild.texi: Likewise.
17         * doc/tm.texi: Likewise.
18         * doc/tree-ssa.texi: Likewise.
19
20 2008-02-17  Richard Guenther  <rguenther@suse.de>
21
22         PR middle-end/35227
23         * tree-complex.c (init_parameter_lattice_values): Handle parameters
24         without default definition.
25
26 2008-02-17  Richard Guenther  <rguenther@suse.de>
27
28         PR tree-optimization/35231
29         * tree-vrp.c (register_edge_assert_for): Do not assume A == 0
30         if A | B != 1.
31
32 2008-02-17  Uros Bizjak  <ubizjak@gmail.com>
33
34         Revert:
35
36         2008-02-15  Uros Bizjak  <ubizjak@gmail.com>    
37         * config/i386/sfp-machine.h (CMPtype): Define as typedef using
38         libgcc_cmp_return mode.
39
40 2008-02-16  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
41
42         PR c/28368
43         * doc/invoke.texi (-std): Clarify description of -std= and -ansi.
44
45 2008-02-16  Ralf Corsepius  <ralf.corsepius@rtems.org>
46
47         * config/m68k/t-rtems (M68K_MLIB_CPU): Add 5208, 5307, 5407, 5475
48         multilibs.
49
50 2008-02-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51
52         * doc/c-tree.texi: Use `@.' where appropriate.
53         * doc/extend.texi: Likewise.
54         * doc/install.texi: Likewise.
55         * doc/invoke.texi: Likewise.
56         * doc/loop.texi: Likewise.
57         * doc/makefile.texi: Likewise.
58         * doc/md.texi: Likewise.
59         * doc/passes.texi: Likewise.
60         * doc/standards.texi: Likewise.
61         * doc/tm.texi: Likewise.
62
63 2008-02-15  Jakub Jelinek  <jakub@redhat.com>
64
65         PR middle-end/35196
66         * omp-low.c (expand_omp_for_generic): Don't initialize fd->v
67         in entry_bb.
68         (expand_omp_for_static_nochunk): Initialize fd->v in seq_start_bb
69         rather than in entry_bb.
70
71 2008-02-15  Uros Bizjak  <ubizjak@gmail.com>
72
73         * config/i386/sfp-machine.h (CMPtype): Define as typedef using
74         libgcc_cmp_return mode.
75
76 2008-02-15  Jakub Jelinek  <jakub@redhat.com>
77
78         PR middle-end/35130
79         * tree-nested.c (convert_call_expr): Put FRAME.* vars into
80         OMP_CLAUSE_SHARED rather than OMP_CLAUSE_FIRSTPRIVATE clause.
81
82 2008-02-15  Richard Guenther  <rguenther@suse.de>
83             Zdenek Dvorak  <ook@ucw.cz>
84
85         PR tree-optimization/35164
86         * tree-flow.h (stmt_references_abnormal_ssa_name): Declare.
87         * tree-dfa.c (stmt_references_abnormal_ssa_name): New function.
88         * tree-ssa-forwprop.c (tree_ssa_forward_propagate_single_use_vars):
89         Only propagate addresses which do not have abnormal SSA_NAMEs
90         in their operands.
91
92 2008-02-15  Joseph Myers  <joseph@codesourcery.com>
93
94         PR target/35088
95         * config/m68k/m68k.h (DWARF_CIE_DATA_ALIGNMENT): Define.
96
97 2008-02-15  Jan Hubicka  <jh@suse.cz>
98
99         PR middle-end/35149
100         * ipa.c (cgraph_remove_unreachable_nodes): Clear local.inlinable flag.
101
102 2008-02-15  Uros Bizjak  <ubizjak@gmail.com>
103
104         PR middle-end/34621
105         * function.c (pad_to_arg_alignment): Remove test for STACK_BOUNDARY
106         when calculating alignment_pad.
107
108 2008-02-15  Uros Bizjak  <ubizjak@gmail.com>
109
110         * config/i386/i386.h (CLEAR_RATIO): Use MIN macro.
111         (WIDEST_HARDWARE_FP_SIZE): Use LONG_DOUBLE_TYPE_SIZE define.
112         * config/i386/darwin.h (PREFERRED_STACK_BOUNDARY): Use MAX macro
113         and STACK_BOUNDARY define.
114
115 2008-02-14  Danny Smith  <dannysmith@users.sourceforge.net>
116
117         PR preprocessor/35061
118         * c-pragma.c (handle_pragma_pop_macro): Check that
119         pushed_macro_table has been allocated.
120
121 2008-02-14  Eric Botcazou  <ebotcazou@adacore.com>
122
123         PR middle-end/35136
124         * gimplify.c (force_gimple_operand_bsi): Revert 2008-02-12 change.
125         (force_gimple_operand): Likewise.
126         * tree-ssa-loop-ivopts.c (may_be_nonaddressable_p): Add new cases
127         for TARGET_MEM_REF and CONVERT_EXPR/NON_LVALUE_EXPR/NOP_EXPR.
128         Also recurse on the operand for regular VIEW_CONVERT_EXPRs.
129         (find_interesting_uses_address): Check addressability and alignment
130         of the base expression only after substituting bases of IVs into it.
131
132 2008-02-14  Michael Matz  <matz@suse.de>
133
134         PR target/34930
135         * function.c (instantiate_virtual_regs_in_insn): Reload address
136         before falling back to reloading the whole operand.
137
138 2008-02-14  Andreas Krebbel  <krebbel1@de.ibm.com>
139
140         * config/s390/s390.c (s390_mainpool_start): Emit the pool
141         before the first section switch note.
142
143 2008-02-14 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
144
145         * doc/bugreport.texi: Update copyright years.
146         * doc/c-tree.texi: Likewise.
147         * doc/cfg.texi: Likewise.
148         * doc/cpp.texi: Likewise.
149         * doc/cppinternals.texi: Likewise.
150         * doc/fragments.texi: Likewise.
151         * doc/frontends.texi: Likewise.
152         * doc/gcc.texi: Likewise.
153         * doc/gty.texi: Likewise.
154         * doc/hostconfig.texi: Likewise.
155         * doc/implement-c.texi: Likewise.
156         * doc/libgcc.texi: Likewise.
157         * doc/loop.texi: Likewise.
158         * doc/makefile.texi: Likewise.
159         * doc/options.texi: Likewise.
160         * doc/passes.texi: Likewise.
161         * doc/rtl.texi: Likewise.
162         * doc/sourcebuild.texi: Likewise.
163         * doc/standards.texi: Likewise.
164         * doc/tree-ssa.texi: Likewise.
165         * doc/trouble.texi: Likewise.
166
167         * doc/extend.texi: Use @: or add comma where appropriate.
168         * doc/invoke.texi: Likewise.
169         * doc/tm.texi: Likewise.
170
171 2008-02-14  Alan Modra  <amodra@bigpond.net.au>
172
173         PR target/34393
174         * config/rs6000/rs6000.md (restore_stack_block): Force operands[1]
175         to a reg.
176
177 2008-02-14  Jesper Nilsson  <jesper.nilsson@axis.com>
178
179         * doc/md.texi (clz, ctz): Add reference.
180         * doc/rtl.texi (clz, ctz): Likewise.
181
182 2008-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
183
184         PR other/35148
185         * Makefile.in (gcc-vers.texi): Use abs_srcdir for the value of
186         srcdir.
187
188 2008-02-13  Andreas Krebbel  <krebbel1@de.ibm.com>
189
190         * config/s390/s390.c (struct constant_pool): New field
191         emit_pool_after added.
192         (s390_mainpool_start): Set the emit_pool_after flag according
193         to the section switch notes.
194         (s390_mainpool_finish): Consider emit_pool_after when emitting
195         the literal pool at the end of the function.
196         (s390_chunkify_start): Force literal pool splits at section
197         switch notes.
198
199 2008-02-13  Michael Matz  <matz@suse.de>
200
201         PR debug/35065
202         * var-tracking.c (clobber_variable_part): Correctly traverse the
203         list.
204
205 2008-02-13  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
206
207         PR 29673
208         * doc/invoke.texi (Debugging Options): Remove -fdump-tree-inlined.
209         Add -fdump-ipa-inline.
210         * tree-dump.c (dump_files): Remove tree-inlined dump.
211         * tree-pass.h (tree_dump_index): Remove TDI_inlined.
212         
213 2008-02-12  Richard Guenther  <rguenther@suse.de>
214
215         PR tree-optimization/35171
216         * tree-vect-patterns.c (vect_recog_dot_prod_pattern): Deal with
217         default defs.
218
219 2008-02-12  Richard Guenther  <rguenther@suse.de>
220
221         PR middle-end/35163
222         * fold-const.c (fold_widened_comparison): Use get_unwidened in
223         value-preserving mode.  Disallow final truncation.
224
225 2008-02-12  Eric Botcazou  <ebotcazou@adacore.com>
226
227         PR middle-end/35136
228         * gimplify.c (force_gimple_operand_bsi): Move SSA renaming
229         code from here to...
230         (force_gimple_operand): ...here.
231
232 2008-02-12  Jakub Jelinek  <jakub@redhat.com>
233
234         PR c++/35144
235         * tree-sra.c (sra_build_assignment): fold_convert SRC if copying
236         non-compatible pointers.
237         (generate_element_copy): If SRC and DST are RECORD_TYPEs with
238         different FIELD_DECLs, try harder by comparing field offsets, sizes
239         and types.
240
241         PR inline-asm/35160
242         * function.c (match_asm_constraints_1): Don't replace the same input
243         multiple times.
244
245 2008-02-12  Anatoly Sokolov <aesok@post.ru>
246
247         * config/avr/avr.h (AVR_HAVE_RAMPZ): Define.
248         * config/avr/avr.c (expand_prologue): Save RAMPZ register.
249         (expand_epilogue): Restore RAMPZ register.
250         * config/avr/avr.md (RAMPZ_ADDR): New constant.
251
252 2008-02-11  Kai Tietz  <kai.tietz@onevision.com>
253
254         * config/i386/cygwin.asm: (__alloca): Correct calling
255         convention and alignment.
256         (__chkstk): Force 8 byte stack alignment.
257
258 2008-02-11  Uros Bizjak  <ubizjak@gmail.com>
259             Richard Guenther  <rguenther@suse.de>
260
261         PR tree-optimization/33992
262         * tree-ssa-loop-im.c (rewrite_bittest): Fixup the type of
263         the zero we compare against.
264
265 2008-02-10  Danny Smith  <dannysmith@users.sourceforge.net>
266
267         PR libfortran/35063
268         * gthr-win32.h (__gthread_mutex_destroy_function): New function
269         to CloseHandle after unlocking to prevent accumulation of handle
270         count.
271
272 2008-02-09  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
273
274         PR middle_end/34150
275         * pa.c (legitimize_pic_address): Add REG_EQUAL note on sets with a
276         pic_label_operand source.  Similarly, add a REG_LABEL_OPERAND note
277         and update LABEL_NUSES during and after reload.
278
279 2008-02-08  Steven Bosscher  <stevenb.gcc@gmail.com>
280
281         PR middle-end/34627
282         * combine.c (simplify_if_then_else): Make sure the comparison is
283         against const0_rtx when simplifying to (abs x) or (neg (abs X)).
284
285 2008-02-08  Richard Sandiford  <rsandifo@nildram.co.uk>
286
287         PR bootstrap/35051
288         * double-int.h: Don't include gmp.h for GENERATOR_FILEs.
289         (mpz_set_double_int, mpz_get_double_int): Hide from GENERATOR_FILEs.
290         * real.h: Don't include gmp.h or mpfr.h for GENERATOR_FILEs.
291         (real_from_mpfr, mpfr_from_real): Hide from GENERATOR_FILEs.
292         * tree.h (get_type_static_bounds): Likewise.
293
294 2008-02-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
295
296         * doc/invoke.texi (Option Summary, C++ Dialect Options)
297         (Objective-C and Objective-C++ Dialect Options, Warning Options):
298         Make -Wfoo language annotations match what the compiler outputs.
299
300 2008-02-08  Sa Liu  <saliu@de.ibm.com>
301
302         * config/spu/spu-builtins.def: Fixed wrong parameter type in spu 
303         intrinsics spu_convts, spu_convtu, spu_convtf.
304         * testsuite/gcc.target/spu/intrinsics-3.c: New. Test error messages.
305
306 2008-02-08  Hans-Peter Nilsson  <hp@axis.com>
307
308         * doc/extend.texi (Function Attributes) <noinline>: Mention
309         asm ("") as method to keep calls.
310
311 2008-02-07  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
312
313         PR other/32754
314         * doc/options.texi (Options): Replace references to opts.sh with
315         optc-gen.awk.
316         * opts-common.c: Likewise.
317         * optc-gen.awk: Likewise.
318         
319 2008-02-07  Andreas Krebbel  <krebbel1@de.ibm.com>
320
321         * config/s390/s390.h (FUNCTION_ARG_REGNO_P): Fix fprs for 64 bit.
322
323 2008-02-07  Richard Henderson  <rth@redhat.com>
324
325         PR rtl-opt/33410
326         * config/alpha/alpha.c (alpha_emit_xfloating_compare): Use an
327         EXPR_LIST for the REG_EQUAL instead of a comparison with a 
328         funny mode.
329
330 2008-02-07  Uros Bizjak  <ubizjak@gmail.com>
331
332         PR tree-optimization/35085
333         * tree-ssa-reassoc.c (rewrite_expr_tree): Enable destructive update
334         for operand entry oe2 in addition to operand entry oe3 in order to
335         expose more opportunities for vectorizer sum reduction.
336
337 2008-02-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
338
339         PR other/35107
340         * Makefile.in (LIBS): Remove $(GMPLIBS).
341         (cc1-dummy, cc1): Add $(GMPLIBS).
342
343 2008-02-06  Jan Hubicka  <jh@suse.cz>
344
345         PR target/23322
346         * i386.md (moddf_integer): Do not produce partial memory stalls for
347         targets where it hurts.
348
349 2008-02-06  Uros Bizjak  <ubizjak@gmail.com>
350
351         PR target/35083
352         * optabs.c (expand_float): Do not check for decimal modes when
353         expanding unsigned integer through signed conversion.
354
355 2008-02-06  Nick Clifton  <nickc@redhat.com>
356
357         * config/stormy16/stormy16.md (eqbranchsi): Replace a match_dup
358         inside the clobber with a match_operand and duplicated operand
359         number in the constraint.
360         (ineqbranchsi): Delete redundant comment.
361
362 2008-02-06  Ralf Corsepius  <ralf.corsepius@rtems.org>
363
364         * config/arm/rtems-elf.h (TARGET_OS_CPP_BUILTINS): Add 
365         builtin_define ("__USE_INIT_FINI__").
366         * config/h8300/t-rtems (MULTILIB_OPTION,MULTILIB_DIRNAMES): Add
367         -msx multilibs.
368         * gthr-rtems.h: Remove __GTHREAD_MUTEX_INIT.
369
370 2008-02-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
371
372         PR documentation/30330
373         * doc/invoke.texi (C++ Dialect Options)
374         (Objective-C and Objective-C++ Dialect Options, Warning Options):
375         For each warning option -Wfoo that allows -Wno-foo, ensure both
376         -Wfoo and -Wno-foo are listed in the option index.  Fix index
377         entry of -Wswitch-default, index -Wnormalized= including the
378         `=', and -Wlarger-than-@var{len} including @var{len}.
379
380 2008-02-05  Uros Bizjak  <ubizjak@gmail.com>
381
382         * config/i386/i386.md (floatunssisf2): Use
383         ix86_expand_convert_uns_sisf_sse also for TARGET_SSE.
384         (floatunssi<mode>2): Rename from floatunssisf2 and floatunssidf2.
385         Macroize expander using MODEF mode iterator.
386
387 2008-02-05  Diego Novillo  <dnovillo@google.com>
388
389         http://gcc.gnu.org/ml/gcc-patches/2008-02/msg00140.html
390
391         PR 33738
392         * tree-vrp.c (vrp_evaluate_conditional): Revert fix for PR 33738.
393
394 2008-02-05  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
395
396         PR other/35070
397         * toplev.c (print_version): Honor `indent' for GMP/MPFR warnings.
398
399 2008-02-05  H.J. Lu  <hongjiu.lu@intel.com>
400
401         PR target/35084
402         * config/i386/i386.c (ix86_function_sseregparm): Add an arg
403         to indicate if a message should be generated.
404         (init_cumulative_args): Updated.
405         (function_value_32): Likewise.
406
407 2008-02-05  Joseph Myers  <joseph@codesourcery.com>
408
409         * doc/include/texinfo.tex: Update to version 2008-02-04.16.
410
411 2008-02-05  Uros Bizjak  <ubizjak@gmail.com>
412
413         PR target/35083
414         * config/i386/i386.md (floatunsisf2): Enable for TARGET_SSE_MATH only.
415         Call ix86_expand_convert_uns_sisf_sse for TARGET_SSE2.
416
417 2008-02-04  Diego Novillo  <dnovillo@google.com>
418
419         http://gcc.gnu.org/ml/gcc-patches/2008-02/msg00110.html
420
421         PR 33738
422         * tree-vrp.c (vrp_evaluate_conditional): With
423         -Wtype-limits, emit a warning when comparing against a
424         constant outside the natural range of OP0's type.
425
426 2008-02-04  Richard Guenther  <rguenther@suse.de>
427
428         PR middle-end/33631
429         * expr.c (count_type_elements): Give for unions instead of
430         guessing.
431
432 2008-02-04  Richard Guenther  <rguenther@suse.de>
433
434         PR middle-end/35043
435         * gimplify.c (gimplify_init_ctor_eval): Convert array indices
436         to TYPE_DOMAINs base type instead of using bitsizetype here.
437
438 2008-02-03  Jason Merrill  <jason@redhat.com>
439
440         * print-tree.c (print_node) [CONSTRUCTOR]: Print elements.
441
442 2008-02-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
443
444         PR other/29972
445         * doc/invoke.texi (C++ Dialect Options, Optimize Options)
446         (HPPA Options, i386 and x86-64 Options, IA-64 Options)
447         (RS/6000 and PowerPC Options): Fix typos and markup.
448         * doc/passes.texi (Tree-SSA passes): Likewise.
449
450 2008-02-02  Michael Matz  <matz@suse.de>
451
452         PR target/35045
453         * postreload-gcse.c (record_last_reg_set_info_regno): Renamed
454         from record_last_reg_set_info.
455         (record_last_reg_set_info): Take an RTX argument, iterate over all
456         constituent hardregs.
457         (record_last_set_info, record_opr_changes): Change calls to
458         new signature or to record_last_reg_set_info_regno.
459
460 2008-02-02  Gerald Pfeifer  <gerald@pfeifer.com>
461
462         * doc/extend.texi (X86 Built-in Functions): Fix grammar.
463
464 2008-02-01  Hans-Peter Nilsson  <hp@axis.com>
465
466         PR rtl-optimization/34773
467         * reg-notes.def (EQUAL): Mention significance of combination of
468         REG_EQUAL and REG_RETVAL.
469         * fwprop.c (try_fwprop_subst): Don't add REG_EQUAL to an
470         insn that has a REG_RETVAL.
471
472 2008-02-01  Roger Sayle  <roger@eyesopen.com>
473
474         PR bootstrap/33781
475         * configure.ac (--enable-fixed-point): Disable unless explicitly
476         requested on IRIX.
477         * configure: Regenerate.
478
479 2008-02-01  Richard Guenther  <rguenther@suse.de>
480
481         PR other/35042
482         * invoke.texi (-finline-limit): Remove no longer true parts
483         of the documentation.  Note that there is no default value.
484
485 2008-02-01  Andrew Pinski  <pinskia@gmail.com>
486             Mark Mitchell  <mark@codesourcery.com>
487             Ben Elliston  <bje@au.ibm.com>
488
489         PR c/29326
490         * doc/extend.texi (Other Builtins): Document.
491
492 2008-01-31  Tom Browder <tom.browder@gmail.com>
493
494         * doc/c-tree.texi (Types): Fix grammar.
495         (Expression trees): Ditto.
496         * doc/passes.texi (Tree-SSA passes): Ditto.
497         
498         * doc/configterms.texi (Configure Terms): Fix typo.
499         * doc/cpp.texi (Common Predefined Macros): Ditto.
500         * doc/md.texi (Machine Constraints): Ditto.
501         
502         * doc/makefile.texi (Makefile): Add comma.
503
504 2008-01-31  Tom Browder  <tom.browder@gmail.com>
505             Gerald Pfeifer  <gerald@pfeifer.com>
506         
507         * doc/sourcebuild.texi (Front End): Remove references to CVS
508         and CVSROOT/modules.
509         (Texinfo Manuals): Replace reference to CVS by one to SVN.
510         (Back End): Remove reference to CVS.
511
512 2008-01-31  Richard Sandiford  <rsandifo@nildram.co.uk>
513
514         PR target/34900
515         * config/mips/mips.c (gen_load_const_gp): New function, taking a
516         comment from...
517         (mips16_gp_pseudo_reg): ...here.
518         * config/mips/mips.md (load_const_gp): Replace with...
519         (load_const_gp_<mode>): ...this :P-based insn.
520
521 2008-01-31  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
522
523         * doc/invoke.texi (-ansi): Mention explicitly corresponding -std=
524         options. Minor fixes.
525         (-std): Move reference to standards closer to where language
526         standards are first mentioned.
527         
528 2008-01-31  Richard Sandiford  <rsandifo@nildram.co.uk>
529
530         PR rtl-optimization/34995
531         * reload.c (alternative_allows_const_pool_ref): Take an rtx
532         parameter and return a bool.  If the rtx parameter is nonnull,
533         check that it satisfies an EXTRA_MEMORY_CONSTRAINT.
534         (find_reloads): Update call accordingly.  Pass the new operand
535         if it needed no address reloads, otherwise pass null.
536
537 2008-01-30  Richard Henderson  <rth@redhat.com>
538
539         PR c/34993
540         * tree.c (build_type_attribute_qual_variant): Skip TYPE_DOMAIN
541         for unbounded arrays.
542
543 2008-01-30  Silvius Rus  <rus@google.com>
544
545         * config/i386/xmmintrin.h (_mm_prefetch): Add const to first arg.
546
547 2008-01-30  Jan Hubicka  <jh@suse.cz>
548
549         PR target/34982
550         * i386.c (init_cumulative_args): Use real function declaration when
551         calling locally.
552
553 2008-01-30  Richard Sandiford  <rsandifo@nildram.co.uk>
554
555         PR rtl-optimization/34998
556         * global.c (build_insn_chain): Treat non-subreg_lowpart
557         SUBREGs of pseudos as clobbering all the words covered by the
558         SUBREG, not just all the bytes.
559         * ra-conflict.c (clear_reg_in_live): Likewise.  Take the
560         original df_ref rather than an extract parameter.
561         (global_conflicts): Update call accordingly.
562
563 2008-01-30  Andreas Krebbel  <krebbel1@de.ibm.com>
564
565         * config/s390/fixdfdi.h (__fixunstfdi, __fixtfdi): Rearrange
566         the overflow check to make it easier to read.
567         (__fixtfdi): Change the type of the ll member in union
568         long_double to UDItype_x.
569
570 2008-01-30  Jakub Jelinek  <jakub@redhat.com>
571
572         PR middle-end/34969
573         * cgraph.h (cgraph_update_edges_for_call_stmt): New prototype.
574         * cgraph.c (cgraph_update_edges_for_call_stmt): New function.
575         * tree-inline.c (fold_marked_statements): Call
576         cgraph_update_edges_for_call_stmt if folding a call statement.
577         * cgraphunit.c (verify_cgraph_node): Set cfun to this_cfun for
578         debug_generic_stmt calls, reset it back afterwards.
579
580         PR c/35017
581         * c-decl.c (start_decl): Don't pedwarn about TREE_READONLY
582         static decls.
583         * c-typeck.c (build_external_ref): Don't pedwarn about
584         static vars in current function's scope.
585
586 2008-01-29  Joseph Myers  <joseph@codesourcery.com>
587
588         * config.gcc (i[34567]86-*-nto-qnx*): Remove deprecation.
589
590 2008-01-29  Bernhard Fischer  <aldot@gcc.gnu.org>
591
592         PR c/35002
593         * ipa-struct-reorg.c: Fix spelling.
594         * params.def: Ditto.
595
596 2008-01-29  Richard Guenther  <rguenther@suse.de>
597
598         PR middle-end/35006
599         * tree-inline.h (struct copy_body_data): Add remapping_type_depth
600         field.
601         * tree-inline.c (remap_type): Increment remapping_type_depth
602         around remapping types.
603         (copy_body_r): Only add referenced variables if they are referenced
604         from code, not types.
605
606 2008-01-29  Douglas Gregor  <doug.gregor@gmail.com>
607
608         PR c++/34055
609         PR c++/34103
610         PR c++/34219
611         PR c++/34606
612         PR c++/34753
613         PR c++/34754
614         PR c++/34755
615         PR c++/34919
616         PR c++/34961
617         * c-pretty-print.c (pp_c_type_qualifier_list): Don't try to print
618         qualifiers for an ERROR_MARK_NODE or a NULL_TREE.
619
620 2008-01-28  Andy Hutchinson   <hutchinsonandy@netscape.net>
621
622         PR target/34412
623         * config/avr/avr.c (expand_prologue): Use correct QI mode frame 
624         pointer for tiny stack.
625
626 2008-01-28  Bernhard Fischer  <aldot@gcc.gnu.org>
627
628         * doc/tree-ssa.texi: Add cindex PHI nodes and improve wording.
629
630 2008-01-28  Bernhard Fischer  <aldot@gcc.gnu.org>
631
632         * config/vx-common.h: Fix typo in comment.
633
634 2008-01-28  Ian Lance Taylor  <iant@google.com>
635
636         PR c++/34862
637         PR c++/33407
638         * tree-ssa-copyrename.c (copy_rename_partition_coalesce): Don't
639         coalesce pointers if they have different DECL_NO_TBAA_P values.
640         * tree-ssa-copy.c (may_propagate_copy): Don't propagate copies
641         between variables with different DECL_NO_TBAA_P values.
642
643 2008-01-28  Nathan Froyd  <froydnj@codesourcery.com>
644
645         PR 31535
646         * config/rs6000/rs6000.c (small_data_operand): Vectors and floats
647         are not legitimate small data references on SPE targets.
648
649 2008-01-28  David Daney  <ddaney@avtrex.com>
650
651         * doc/install.texi (mips-*-*): Recommend binutils 2.18.
652
653 2008-01-28  David Daney  <ddaney@avtrex.com>
654
655         * doc/install.texi (--disable-libgcj-bc):  Reword documentation.
656
657 2008-01-27  Joseph Myers  <joseph@codesourcery.com>
658
659         * config.gcc (strongarm*-*, ep9312*-*, xscale*-*, parisc*-*,
660         m680[012]0-*, *-*-beos*, *-*-kaos*, *-*-linux*aout*,
661         *-*-linux*libc1*, *-*-solaris2.[0-6], *-*-solaris2.[0-6].*,
662         *-*-sysv*, *-*-windiss*, alpha*-*-unicosmk*, cris-*-aout,
663         hppa1.1-*-pro*, hppa1.1-*-osf*, hppa1.1-*-bsd*,
664         i[34567]86-sequent-ptx4*, i[34567]86-*-nto-qnx*,
665         i[34567]86-*-sco3.2v5*, i[34567]86-*-uwin*, powerpc-*-chorusos*,
666         vax-*-bsd*, vax-*-ultrix*): Mark obsolete.
667
668 2008-01-27  Bernhard Fischer  <aldot@gcc.gnu.org>
669
670         * basic-block.h (condjump_equiv_p): Fix comment.
671
672 2008-01-27  Bernhard Fischer  <aldot@gcc.gnu.org>
673
674         * tree-pretty-print.c (print_generic_decl, print_generic_stmt,
675         print_generic_stmt_indented): Fix comment.
676
677 2008-01-27  Bernhard Fischer  <aldot@gcc.gnu.org>
678
679         * configure.ac (__stack_chk_fail): Add detecion for availability
680         of SSP in uClibc by checking if __UCLIBC_HAS_SSP__ is defined.
681         * configure: Regenerate.
682
683 2008-01-26  Maxim Kuvyrkov  <maxim@codesourcery.com>
684
685         PR middle-end/34688
686         * final.c (output_addr_const): Handle TRUNCATE.
687
688 2008-01-26  Zdenek Dvorak  <ook@ucw.cz>
689
690         PR target/34711
691         * tree-ssa-loop-ivopts.c (comp_cost): New type.
692         (zero_cost, infinite_cost): New constants.
693         (struct cost_pair): Change type of cost to comp_cost.
694         (struct iv_ca): Change type of cand_use_cost and cost to comp_cost.
695         (new_cost, add_costs, sub_costs, compare_costs, infinite_cost_p):
696         New functions.
697         (set_use_iv_cost, force_expr_to_var_cost, force_var_cost,
698         split_address_cost, ptr_difference_cost, difference_cost,
699         get_computation_cost_at, get_computation_cost,
700         determine_use_iv_cost_generic, determine_use_iv_cost_address,
701         determine_use_iv_cost_condition, determine_use_iv_costs,
702         cheaper_cost_pair, iv_ca_recount_cost, iv_ca_set_no_cp,
703         iv_ca_set_cp, iv_ca_cost, iv_ca_new, iv_ca_dump, iv_ca_extend,
704         iv_ca_narrow, iv_ca_prune, try_improve_iv_set, find_optimal_iv_set):
705         Change type of cost to comp_cost.
706         (determine_iv_cost): Increase cost of non-original ivs, instead
707         of decreasing the cost of original ones.
708         (get_address_cost): Indicate the complexity of the addressing mode 
709         in comp_cost.
710         (try_add_cand_for): Prefer using ivs not specific to some object.
711         * tree-flow.h (force_expr_to_var_cost): Declaration removed.
712
713 2008-01-26  Peter Bergner  <bergner@vnet.ibm.com>
714             Janis Johnson  <janis187@us.ibm.com>
715
716         PR target/34814
717         * doc/tm.texi (TARGET_EXPAND_TO_RTL_HOOK): Document.
718         (TARGET_INSTANTIATE_DECLS): Likewise.
719         * target.h (expand_to_rtl_hook): New target hook.
720         (instantiate_decls): Likewise.
721         * function.c (instantiate_decl): Make non-static.  Rename to...
722         (instantiate_decl_rtl): ... this.
723         (instantiate_expr): Use instantiate_decl_rtl.
724         (instantiate_decls_1): Likewise.
725         (instantiate_decls): Likewise.
726         (instantiate_virtual_regs: Call new instantiate_decls taget hook.
727         * function.h (instantiate_decl_rtl): Add prototype.
728         * cfgexpand.c (target.h): New include.
729         (tree_expand_cfg): Call new expand_to_rtl_hook target hook.
730         * target-def.h (TARGET_EXPAND_TO_RTL_HOOK): New define.
731         (TARGET_INSTANTIATE_DECLS): Likewise.
732         (TARGET_INITIALIZER): New target hooks added.
733         * config/rs6000/rs6000-protos.h (rs6000_secondary_memory_needed_rtx):
734         New prototype.
735         * config/rs6000/rs6000.c (tree-flow.h): New include.
736         (machine_function): Add sdmode_stack_slot field.
737         (rs6000_alloc_sdmode_stack_slot): New function.
738         (rs6000_instantiate_decls): Likewise.
739         (rs6000_secondary_memory_needed_rtx): Likewise.
740         (rs6000_check_sdmode): Likewise.
741         (TARGET_EXPAND_TO_RTL_HOOK): Target macro defined.
742         (TARGET_INSTANTIATE_DECLS): Likewise.
743         (rs6000_hard_regno_mode_ok): Allow SDmode.
744         (num_insns_constant): Likewise.  Handle _Decimal32 constants.
745         (rs6000_emit_move): Handle SDmode.
746         (function_arg_advance): Likewise.
747         (function_arg): Likewise.
748         (rs6000_gimplify_va_arg): Likewise.  Add special handling of
749         SDmode var args for 32-bit compiles.
750         (rs6000_secondary_reload_class): Handle SDmode.
751         (rs6000_output_function_epilogue): Likewise.
752         (rs6000_function_value): Simplify if statement.
753         (rs6000_libcall_value): Likewise.
754         * config/rs6000/rs6000.h (SLOW_UNALIGNED_ACCESS): Handle SDmode.
755         (SECONDARY_MEMORY_NEEDED_RTX): Add define.
756         * config/rs6000/dfp.md (movsd): New define_expand and splitter.
757         (movsd_hardfloat): New define_insn.
758         (movsd_softfloat): Likewise.
759         (movsd_store): Likewise.
760         (movsd_load): Likewise.
761         (extendsddd2): Likewise.
762         (extendsdtd2): Likewise.
763         (truncddsd2): Likewise.
764         (movdd_hardfloat64): Fixup comment.
765         (UNSPEC_MOVSD_LOAD): New constant.
766         (UNSPEC_MOVSD_STORE): Likewise.
767
768 2008-01-26  Jakub Jelinek  <jakub@redhat.com>
769
770         PR c++/34965
771         * c-pretty-print.c (pp_c_exclusive_or_expression): Handle
772         TRUTH_XOR_EXPR.
773         (pp_c_logical_and_expression): Handle TRUTH_AND_EXPR.
774         (pp_c_logical_or_expression): Handle TRUTH_OR_EXPR.
775         (pp_c_expression): Handle TRUTH_AND_EXPR, TRUTH_OR_EXPR
776         and TRUTH_XOR_EXPR.
777
778 2008-01-26  David Edelsohn  <edelsohn@gnu.org>
779
780         PR target/34794
781         * config.gcc: Separate AIX 5.3 from AIX 6.1.
782         * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Define
783         __LONGDOUBLE128 too.
784         * config/rs6000/aix61.h: New file.
785
786 2008-01-26  Richard Sandiford  <rsandifo@nildram.co.uk>
787
788         PR rtl-optimization/34959
789         * optabs.c (expand_unop): In libcall notes, give ffs, clz, ctz,
790         popcount and parity rtxes the same mode as their operand.
791         Truncate or extend the result to the return value's mode
792         if necessary.
793
794 2008-01-26  Richard Sandiford  <rsandifo@nildram.co.uk>
795
796         PR target/34981
797         * config/mips/mips-protos.h (mips_expand_call): Return an rtx.
798         * config/mips/mips.h (FIRST_PSEUDO_REGISTER): Rename FAKE_CALL_REGNO
799         to GOT_VERSION_REGNUM.
800         (CALL_REALLY_USED_REGISTERS): Set the GOT_VERSION_REGNUM entry to 0.
801         (EPILOGUE_USES): Include GOT_VERSION_REGNUM if TARGET_USE_GOT.
802         * config/mips/mips.c (mips_emit_call_insn): New function.
803         (mips_call_tls_get_addr): Call mips_expand_call directly.
804         (mips16_copy_fpr_return_value): Use mips_emit_call_insn rather than
805         emit_call_insn.
806         (mips16_build_call_stub): Likewise.  Return the call insn or null.
807         (mips_expand_call): Update the call to mips16_build_call_stub
808         accordingly and a remove redundant condition.  Assert that MIPS16
809         stubs do not use lazy binding.  Use mips_emit_call_insn and return
810         the call insn.
811         (mips_extra_live_on_entry): Include GOT_VERSION_REGNUM if
812         TARGET_USE_GOT.
813         (mips_hard_regno_mode_ok_p): Allow SImode for GOT_VERSION_REGNUM.
814         (mips_avoid_hazard): Remove hazard_set handling.
815         * config/mips/mips.md (UNSPEC_EH_RECEIVER): Rename to...
816         (UNSPEC_RESTORE_GP): ...this.
817         (UNSPEC_SET_GOT_VERSION, UNSPEC_UPDATE_GOT_VERSION): New constants.
818         (FAKE_CALL_REGNO): Rename to...
819         (GOT_VERSION_REGNUM): ...this.
820         (type): Add "ghost" value.  Add an associated insn reservation.
821         (hazard_set): Remove.
822         (exception_receiver): Rename to...
823         (restore_gp): ...this and update the unspec identifier accordingly.
824         (exception_receiver, nonlocal_got_receiver): New expanders.
825         (load_call<mode>): Use GOT_VERSION_REGNUM.  Don't set
826         FAKE_CALL_REGNO.  Remove hazard_set attribute.
827         (set_got_version, update_got_version): New patterns.
828
829 2008-01-26  Danny Smith  <dannysmith@users.sourceforge.net>
830
831         PR target/34970
832         * config/i386/cygming.h (ASM_OUTPUT_LABELREF): Define.
833
834 2008-01-25  Joseph Myers  <joseph@codesourcery.com>
835
836         PR other/31955
837         * doc/install.texi2html: Generate gcc-vers.texi.
838
839 2008-01-25  DJ Delorie  <dj@redhat.com>
840
841         * config/m32c/m32c.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
842
843 2008-01-25  Joseph Myers  <joseph@codesourcery.com>
844
845         * config/c4x: Remove directory.
846         * config.gcc (crx-*, mt-*): Mark obsolete.
847         (c4x-*, tic4x-*, c4x-*-rtems*, tic4x-*-rtems*, c4x-*, tic4x-*,
848         h8300-*-rtemscoff*, ns32k-*-netbsdelf*, ns32k-*-netbsd*,
849         sh-*-rtemscoff*): Remove cases.
850         * defaults.h (C4X_FLOAT_FORMAT): Remove.
851         * real.c (encode_c4x_single, decode_c4x_single,
852         encode_c4x_extended, decode_c4x_extended, c4x_single_format,
853         c4x_extended_format): Remove.
854         * real.h (c4x_single_format, c4x_extended_format): Remove.
855         * doc/extend.texi (interrupt, naked): Remove mention of attributes
856         on C4x.
857         (Pragmas): Remove comment about c4x pragmas.
858         * doc/install.texi (c4x): Remove target-specific instructions.
859         * doc/invoke.texi (TMS320C3x/C4x Options): Remove.
860         * doc/md.texi (Machine Constraints): Remove C4x documentation.
861         * doc/tm.texi (MEMBER_TYPE_FORCES_BLK, c_register_pragma): Do not
862         refer to C4x source files as examples.
863         (C4X_FLOAT_FORMAT): Remove documentation.
864
865 2008-01-25  Bernd Schmidt  <bernd.schmidt@analog.com>
866
867         * config/bfin/bfin.c (override_options): Reorder tests so that
868         flag_pic gets enabled for -msep-data.
869
870 2008-01-25  Richard Guenther  <rguenther@suse.de>
871
872         PR middle-end/32244
873         * expr.c (expand_expr_real_1): Reduce result of LSHIFT_EXPR
874         to its bitfield precision if required.
875
876 2008-01-25  Jakub Jelinek  <jakub@redhat.com>
877
878         PR middle-end/33880
879         * tree-nested.c (walk_omp_for): New function.
880         (convert_nonlocal_reference, convert_local_reference): Call
881         walk_omp_for on OMP_FOR.
882         (convert_call_expr): Call walk_body on OMP_FOR's
883         OMP_FOR_PRE_INIT_BODY.
884
885 2008-01-25  Richard Guenther  <rguenther@suse.de>
886
887         PR tree-optimization/34966
888         * tree-ssa-math-opts.c (execute_cse_sincos_1): For all but
889         default defs and PHI_NODEs we have to insert after the
890         defining statement.
891
892 2008-01-24  Nick Clifton  <nickc@redhat.com>
893
894         * config/stormy16/stormy16-lib2.c (MIN_UNITS_PER_WORD):
895         Provide a default definition.
896         (LIBGCC2_UNITS_PER_WORD): Likewise.
897
898         * config/stormy16/stormy16.c: Include df.h for the prototype
899         for df_regs_ever_live_p.
900         (xstormy16_expand_builtin_va_start): Convert the stack offset
901         into a component_ref and then use POINTER_PLUS_EXPR to add it
902         to the incoming_virtual_args_rtx.
903         (xstormy16_gimplify_va_arg_expr): Rename to
904         xstormy16_gimplify_va_arg_expr.
905         Use POINTER_PLUS_EXPR when performing pointer arithmetic.
906         (TARGET_GIMPLIFY_VA_ARG_EXPR): Use renamed
907         xstormy16_gimplify_va_arg_expr.
908         Fix up some formatting issues.
909
910         * config/stormy16/stormy16.c: (xstormy16_carry_plus_operand):
911         Move to predicates.md.
912         (xs_hi_general_operand): Likewise.
913         (xs_hi_nonmemory_operand): Likewise.
914         * config/stormy16/predicates.md:
915         (xstormy16_carry_plus_operand): New predicate.
916         (xs_hi_general_operand): New predicate.
917         (xs_hi_nonmemory_operand): New predicate.
918         * config/stormy16/stormy16-protos.h:
919         (xstormy16_carry_plus_operand): Delete prototype.
920         (xs_hi_general_operand): Likewise.
921         (xs_hi_nonmemory_operand): Likewise.
922
923         * config/storm16/stormy16.md (addhi3): Remove earlyclobber
924         modifiers as they are no longer needed and they can trigger
925         reload spill failures.
926
927         * config/storm16/stormy16.md (ineqbranchsi): Replace match_dup
928         with a match_operand in order to help reload.
929
930         * config/storm16/stormy16.md (movhi_internal): Replace 'r'
931         constraint with 'e' for the 8th alternative as this version of
932         the mov.w instruction only accepts the lower 8 registers.
933
934 2008-01-25  Uros Bizjak  <ubizjak@gmail.com>
935
936         PR target/34856
937         * simplifx-rtx.c (simplify_const_binary_operation) [VEC_CONCAT]:
938         Consider only CONST_INT, CONST_DOUBLE and CONST_FIXED as constant
939         vector elements.
940
941 2008-01-25  Jakub Jelinek  <jakub@redhat.com>
942
943         PR middle-end/33333
944         * gimplify.c (gimplify_omp_for): Gimplify OMP_FOR_PRE_BODY.
945
946 2008-01-25  Golovanevsky Olga  <olga@il.ibm.com>
947
948         * ipa-struct-reorg.c (remove_str_allocs_in_func, remove_str_allocs):
949         New functions.
950         (remove_structure): Update allocations list before removing structure.
951         
952 2008-01-25  Golovanevsky Olga  <olga@il.ibm.com>
953
954         * ipa-struct-reorg.c (is_safe_cond_expr, 
955         create_new_stmts_for_cond_expr): Use integer_zerop function,
956         that recognize not only zero-pointer, but zero-integer too.
957
958 2008-01-25  Ben Elliston  <bje@au.ibm.com>
959
960         PR other/22232
961         * fixproto: Escape "." in sed expression that strips leading "./".
962
963 2008-01-24  H.J. Lu  <hongjiu.lu@intel.com>
964
965         PR driver/34904
966         * gcc.c (SWITCH_OK): Removed.
967         (SWITCH_LIVE): Changed to bit.
968         (SWITCH_FALSE): Likewise.
969         (SWITCH_IGNORE): Likewise.
970         (switchstr): Change live_cond to unsigned int.
971         (process_command): Replace SWITCH_OK with 0.
972         (do_self_spec): Likewise.
973         (set_collect_gcc_options): Check the SWITCH_IGNORE bit.
974         (give_switch): Likewise.
975         (used_arg): Likewise.
976         (do_spec_1): Set the SWITCH_IGNORE bit.
977         (check_live_switch): Check both SWITCH_LIVE and SWITCH_FALSE
978         bits.  Set the SWITCH_LIVE bit.
979
980 2008-01-24  Andreas Krebbel  <krebbel1@de.ibm.com>
981
982         * config/s390/s390.h (MOVE_RATIO): Define new target macro.
983
984 2008-01-24  Richard Sandiford  <rsandifo@nildram.co.uk>
985
986         PR tree-optimization/34472
987         * ipa-struct-reorg.c (safe_cond_expr_check): Change the DATA
988         parameter to a "bool *" and set *DATA to false if there is
989         an unsafe access.  Do not delete the structure here.
990         (check_cond_exprs): Delete it here instead.
991         (check_cond_exprs, exclude_cold_structs): Do not increase
992         I when removing a structure.
993
994 2008-01-24  Uros Bizjak  <ubizjak@gmail.com>
995
996         PR target/34856
997         * config/i386/i386.c (ix86_expand_vector_init): Consider only
998         CONST_INT, CONST_DOUBLE and CONST_FIXED as constant vector elements.
999
1000 2008-01-24  Jakub Jakub Jelinek  <jakub@redhat.com>
1001
1002         PR middle-end/34934
1003         * tree-stdarg.c (reachable_at_most_once): Use VEC vector instead of
1004         a fixed vector for stack.
1005
1006 2008-01-24  Ben Elliston  <bje@au.ibm.com>
1007
1008         PR c++/25701
1009         * doc/gcc.texi (Software development): Add a direntry for g++.
1010         
1011 2008-01-23  Hans-Peter Nilsson  <hp@axis.com>
1012
1013         * config/cris/cris.h (CC1PLUS_SPEC, OPTIMIZATION_OPTIONS): Drop
1014         stale and straggling -fforce-addr comments above.
1015
1016         * config/cris/cris.h (CRIS_SUBTARGET_VERSION, TARGET_VERSION): Don't
1017         define.
1018         * config/cris/linux.h (CRIS_SUBTARGET_VERSION): Don't define.
1019         * config/cris/aout.h (CRIS_SUBTARGET_VERSION): Don't define.
1020
1021 2008-01-23  Michael Matz  <matz@suse.de>
1022
1023         PR debug/34895
1024         * dwarf2out.c (force_type_die): Use modified_type_die instead of
1025         gen_type_die.
1026
1027 2008-01-23  Andreas Krebbel  <krebbel1@de.ibm.com>
1028
1029         * ipa-struct-reorg.c (create_new_malloc): Use pointer type as
1030         malloc result type.
1031
1032 2008-01-23 Anatoly Sokolov <aesok@post.ru>
1033
1034         * config/avr/avr.c (avr_current_arch): New variable.
1035         (avr_arch_types): Add 'avr31' and 'avr51' entries.
1036         (avr_arch): Add 'ARCH_AVR31' and 'ARCH_AVR51'.
1037         (avr_mcu_types): Add 'avr31' and 'avr51' architectures.
1038         (avr_override_options): Init 'avr_current_arch'. 
1039         (base_arch_s): Move from here...
1040         * config/avr/avr.h (base_arch_s): ... here. Add new members 
1041         'have_elpm', 'have_elpmx', 'have_eijmp_eicall', 'reserved'. Rename 
1042         'mega' to 'have_jmp_call'.
1043         (TARGET_CPU_CPP_BUILTINS): Define "__AVR_HAVE_JMP_CALL__", 
1044         "__AVR_HAVE_RAMPZ__",   "__AVR_HAVE_ELPM__" and  "__AVR_HAVE_ELPMX__"
1045         macros.
1046         (LINK_SPEC, CRT_BINUTILS_SPECS, ASM_SPEC): Add 'avr31' and 'avr51' 
1047         architectures.
1048         * config/avr/t-avr (MULTILIB_OPTIONS, MULTILIB_DIRNAMES, 
1049         MULTILIB_MATCHES): (Ditto.).
1050
1051 2008-01-23  Richard Guenther  <rguenther@suse.de>
1052
1053         PR middle-end/31529
1054         * cgraphunit.c (cgraph_reset_node): Always mark the node
1055         not reachable if it is not queued already.
1056
1057 2008-01-23  Bernd Schmidt  <bernd.schmidt@analog.com>
1058
1059         * config/bfin/bfin-protos.h (WA_RETS, ENABLE_WA_RETS): New macros.
1060         * config/bfin/bfin.c (bfin_cpus): Add WA_RETS everywhere.
1061         (cputype_selected): New static variable.
1062         (bfin_handle_option): Set it if -mcpu is used.
1063         (override_option): Select default set of workarounds if no cpu type
1064         selected on the command line.
1065         (workaround_rts_anomaly): Only run if ENABLE_WA_RETS.
1066
1067         From  Michael Frysinger  <michael.frysinger@analog.com>
1068         * config/bfin/bfin-protos.h (enum bfin_cpu_type): Add
1069         BFIN_CPU_BF547, BFIN_CPU_BF523, BFIN_CPU_BF524, and BFIN_CPU_BF526.
1070
1071         * config/bfin/elf.h (LIB_SPEC): Use proper linker script
1072         for bf547, bf523, bf524, and bf526.
1073         * config/bfin/bfin.c (bfin_cpus[]): Add bf547,  bf523, bf524, and
1074         bf526.
1075         * config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS): Define
1076         __ADSPBF523__ for bf523, __ADSPBF524__ for bf524,
1077         __ADSPBF526__ for bf526, __ADSPBF52x__ for all three, as well as
1078         __ADSPBF547__ and __ADSPBF54x__ for bf547.
1079         * doc/invoke.texi (Blackfin Options): Document that
1080         -mcpu now accept bf547, bf523, bf524, and bf526.
1081
1082 2008-01-22  Eric Botcazou  <ebotcazou@adacore.com>
1083
1084         PR rtl-optimization/34628
1085         * combine.c (try_combine): Stop and undo after the first combination
1086         if an autoincrement side-effect on the first insn has effectively
1087         been lost.
1088
1089 2008-01-22  David Edelsohn  <edelsohn@gnu.org>
1090
1091         PR target/34529
1092         * config/rs6000/rs6000.c (rs6000_legitimate_offset_address_p):
1093         Offset addresses are not valid for Altivec or paired float modes.
1094
1095 2008-01-22  Jakub Jelinek  <jakub@redhat.com>
1096
1097         PR c++/34607
1098         * c-parser.c (c_parser_omp_for_loop): Don't call c_finish_omp_for
1099         if DECL_INITIAL (decl) is error_mark_node.
1100
1101         PR c++/34914
1102         * c-common.c (handle_vector_size_attribute): Only allow
1103         integral, scalar float and fixed point types.  Handle OFFSET_TYPE
1104         the same way as pointer, array etc. types.
1105         * tree.c (reconstruct_complex_type): Handle OFFSET_TYPE.
1106
1107         PR c++/34917
1108         * tree.c (build_type_attribute_qual_variant): Call
1109         build_qualified_type if attributes are equal, but quals are not.
1110
1111 2008-01-22  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
1112
1113         PR 32102
1114         * doc/invoke.texi (-Wall): -Wall enables -Wstrict-overflow=1.
1115         * flags.h (warn_strict_aliasing): Remove.
1116         (warn_strict_overflow): Remove.
1117         * opts.c (warn_strict_aliasing): Remove.
1118         (warn_strict_overflow): Remove.
1119         * c-opts.c (c_common_handle_option): -Wall only sets
1120         -Wstrict-aliasing or -Wstrict-overflow if they are uninitialized.
1121         (c_common_post_options): Give default values to -Wstrict-aliasing
1122         and -Wstrict-overflow if they are uninitialized.
1123         * common.opt (Wstrict-aliasing): Specify Var and Init.
1124         (Wstrict-overflow): Likewise.
1125
1126 2008-01-22  Kenneth Zadeck <zadeck@naturalbridge.com>
1127
1128         PR rtl-optimization/26854
1129         PR rtl-optimization/34400
1130         PR rtl-optimization/34884
1131         * ddg.c (create_ddg_dep_from_intra_loop_link): Use
1132         DF_RD->gen.
1133         * df.h (df_changeable_flags.DF_RD_NO_TRIM): Deleted
1134         (df_rd_bb_info.expanded_lr_out): Deleted
1135         * loop_invariant.c (find_defs): Deleted DF_RD_NO_TRIM flag.
1136         * loop_iv.c (iv_analysis_loop_init): Ditto.  * df-problems.c
1137         (df_rd_free_bb_info, df_rd_alloc, df_rd_confluence_n,
1138         df_rd_bb_local_compute, df_rd_transfer_function, df_rd_free):
1139         Removed code to allocate, initialize or free expanded_lr_out.
1140         (df_rd_bb_local_compute_process_def): Restructured to make more
1141         understandable.
1142         (df_rd_confluence_n): Removed code to no apply invalidate_by_call
1143         sets if the sets are being trimmed.
1144
1145 2008-01-22  H.J. Lu  <hongjiu.lu@intel.com>
1146
1147         PR bootstrap/32287
1148         * configure.ac (ld_vers): Support GNU linker version xx.xx.*
1149         (as_vers): Likewise.
1150         * configure: Regenerated.
1151
1152 2008-01-22  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
1153
1154         PR middle-end/33092
1155         * tree-pass.h (pass_build_alias): New pass.
1156         * tree-ssa-alias.c (gate_build_alias): New.
1157         (pass_build_alias): New.
1158         * passes.c (init_optimization_passes): Add pass_build_alias after
1159         pass_create_structure_vars.
1160
1161 2008-01-22  Wolfgang Gellerich  <gellerich@de.ibm.com>
1162
1163         * config/s390/s390.h (S390_TDC_POSITIVE_NORMALIZED_NUMBER):
1164         Renamed to S390_TDC_POSITIVE_NORMALIZED_BFP_NUMBER.
1165         (S390_TDC_NEGATIVE_NORMALIZED_NUMBER): Renamed to
1166         S390_TDC_NEGATIVE_NORMALIZED_BFP_NUMBER.
1167         (S390_TDC_POSITIVE_DENORMALIZED_NUMBER): Renamed to
1168         S390_TDC_POSITIVE_DENORMALIZED_BFP_NUMBER.
1169         (S390_TDC_NEGATIVE_DENORMALIZED_NUMBER): Renamed to
1170         S390_TDC_NEGATIVE_DENORMALIZED_BFP_NUMBER.
1171         (S390_TDC_POSITIVE_NORMALIZED_BFP_NUMBER): New constant.
1172         (S390_TDC_NEGATIVE_NORMALIZED_BFP_NUMBER): New constant.
1173         (S390_TDC_POSITIVE_DENORMALIZED_BFP_NUMBER): New constant.
1174         (S390_TDC_NEGATIVE_DENORMALIZED_BFP_NUMBER): New constant.
1175         * config/s390/s390.md (FP_ALL): New mode iterator.
1176         (_d): New mode attribute.
1177         ("*signbit<mode>2>"): Changed mode of first operand.
1178         ("isinf<mode>2"): Changed mode of first operand.
1179         ("*TDC_insn"): Adaptation for DFP modes.
1180
1181 2008-01-22  Ben Elliston  <bje@au.ibm.com>
1182
1183         * tree.c (check_qualified_type): Improve function description.
1184
1185 2008-01-21  Jason Merrill  <jason@redhat.com>
1186
1187         PR c++/34196
1188         * tree.h (TRY_CATCH_IS_CLEANUP): New macro.
1189         * tree-eh.c (honor_protect_cleanup_actions): Strip TRY_CATCH_EXPR
1190         if it is set.
1191
1192 2008-01-21  DJ Delorie  <dj@redhat.com>
1193
1194         * doc/tm.texi (HARD_REGNO_NREGS): Note that this macro must not
1195         return zero.
1196
1197 2008-01-21  Richard Guenther  <rguenther@suse.de>
1198
1199         PR middle-end/34856
1200         * tree-cfg.c (verify_expr): Allow all invariant expressions
1201         instead of just constant class ones as reference argument.
1202         * tree-ssa-loop-im.c (for_each_index): Handle CONSTRUCTOR
1203         like any other constant.
1204         * tree-ssa-sccvn.c (copy_reference_ops_from_ref): Likewise.
1205
1206 2008-01-21  H.J. Lu  <hongjiu.lu@intel.com>
1207
1208         * regmove.c (fixup_match_1): Update call crossed frequencies.
1209
1210 2008-01-21  Richard Guenther  <rguenther@suse.de>
1211
1212         PR c/34885
1213         * tree-inline.c (setup_one_parameter): Deal with mismatched
1214         types using a VIEW_CONVERT_EXPR.
1215
1216 2008-01-21  Alon Dayan  <alond@il.ibm.com>
1217             Olga Golovanevsky  <olga@il.ibm.com>
1218         
1219         PR tree-optimization/34701
1220         * ipa-struct-reorg.c (gen_size): Fix the malloc parameter calculation
1221         when the structure size is not a power of 2.
1222
1223 2008-01-20  Kenneth Zadeck <zadeck@naturalbridge.com>
1224
1225         * doc/install.texi: Add doc for --enable-checking=df.
1226         
1227 2008-01-20  Kaz Kojima  <kkojima@gcc.gnu.org>
1228
1229         PR rtl-optimization/34808
1230         * emit-rtl.c (try_split): Handle REG_RETVAL notes.
1231
1232 2008-01-20  Richard Sandiford  <rsandifo@nildram.co.uk>
1233
1234         * global.c (find_reg): Only compute EH_RETURN_DATA_REGNO once per
1235         input.
1236
1237 2008-01-19  Kenneth Zadeck <zadeck@naturalbridge.com>
1238
1239         PR rtl-optimization/26854
1240         PR rtl-optimization/34400
1241         * ddg.c (create_ddg_dep_from_intra_loop_link): Do not use
1242         DF_RD->gen.
1243         * df.h (df_changeable_flags.DF_RD_NO_TRIM): New.
1244         (df_rd_bb_info.expanded_lr_out): New.
1245         * loop_invariant.c (find_defs): Added DF_RD_NO_TRIM flag.
1246         * loop_iv.c (iv_analysis_loop_init): Ditto.
1247         * df-problems.c (df_rd_free_bb_info, df_rd_alloc, df_rd_confluence_n,
1248         df_rd_bb_local_compute, df_rd_transfer_function, df_rd_free):
1249         Added code to allocate, initialize or free expanded_lr_out.
1250         (df_rd_bb_local_compute_process_def): Restructured to make
1251         more understandable.
1252         (df_rd_confluence_n): Add code to do nothing with fake edges and
1253         code to no apply invalidate_by_call sets if the sets are being trimmed.
1254         (df_lr_local_finalize): Renamed to df_lr_finalize.
1255         (df_live_local_finalize): Renamed to df_live_finalize.
1256
1257 2008-01-20  Richard Sandiford  <rsandifo@nildram.co.uk>
1258
1259         PR target/34831
1260         * config/mips/mips.md (div<mode>3): Use <recip_condition> when
1261         deciding whether to use reciprocal instructions.
1262
1263 2008-01-19  Uros Bizjak  <ubizjak@gmail.com>
1264
1265         * dwarf2out.c (dwarf2out_switch_text_section): Do not call
1266         dwarf2out_note_section_used if cold_text_section is NULL.
1267
1268 2008-01-19  Jakub Jelinek  <jakub@redhat.com>
1269
1270         PR gcov-profile/34610
1271         * tree-cfg.c (make_edges): Mark both outgoing edges from
1272         OMP_CONTINUE and from OMP_FOR as EDGE_ABNORMAL.
1273         * omp-low.c (expand_omp_for): Clear EDGE_ABNORMAL bits
1274         from OMP_FOR and OMP_CONTINUE outgoing edges.
1275
1276         * tree-profile.c (tree_profiling): Return early if
1277         cfun->after_tree_profile != 0.  Set cfun->after_tree_profile
1278         at the end.
1279         * omp-low.c (expand_omp_parallel): Copy after_tree_profile
1280         from cfun to child_cfun.
1281         * function.h (struct function): Add after_tree_profile bit.
1282
1283 2008-01-19 Anatoly Sokolov <aesok@post.ru>
1284
1285         * config/avr/avr.S (_exit): Disable interrupt.
1286
1287 2008-01-18  Kenneth Zadeck  <zadeck@naturalbridge.com>
1288             Steven Bosscher  <stevenb.gcc@gmail.com>
1289
1290         PR rtl-optimization/26854
1291         PR rtl-optimization/34400
1292         * df-problems.c (df_live_scratch): New scratch bitmap.
1293         (df_live_alloc): Allocate df_live_scratch when doing df_live.
1294         (df_live_reset): Clear the proper bitmaps.
1295         (df_live_bb_local_compute): Only process the artificial defs once
1296         since the order is not important.
1297         (df_live_init): Init the df_live sets only with the variables
1298         found live by df_lr.
1299         (df_live_transfer_function): Use the df_lr sets to prune the
1300         df_live sets as they are being computed.  
1301         (df_live_free): Free df_live_scratch.
1302
1303 2008-01-18  Ian Lance Taylor  <iant@google.com>
1304
1305         * common.opt: Add fmerge-debug-strings.
1306         * dwarf2out.c (DEBUG_STR_SECTION_FLAGS): Test
1307         flag_merge_debug_strings rather than flag_merge_constants.
1308         * doc/invoke.texi (Option Summary): Mention
1309         -fmerge-debug-strings.
1310         (Debugging Options): Document -fmerge-debug-strings.
1311
1312 2008-01-18  Ian Lance Taylor  <iant@google.com>
1313
1314         PR c++/33407
1315         * tree.h (DECL_IS_OPERATOR_NEW): Define.
1316         (struct tree_function_decl): Add new field operator_new_flag.
1317         * tree-inline.c (expand_call_inline): When inlining a call to
1318         operator new, force the return value to go into a variable, and
1319         set DECL_NO_TBAA_P on that variable.
1320         * c-decl.c (merge_decls): Merge DECL_IS_OPERATOR_NEW flag.
1321
1322 2008-01-18  Uros Bizjak  <ubizjak@gmail.com>
1323
1324         PR debug/34484
1325         * dwarf2out.c (dwarf2out_switch_text_section): Do not guard with
1326         DWARF2_DEBUGGING_INFO.
1327         (dwarf2out_note_section_used): Ditto.  Add prototype.
1328         (have_multiple_function_sections, text_section_used,
1329         cold_text_section_used, *cold_text_sections): Move declarations
1330         before their uses.
1331
1332 2008-01-17  Bob Wilson  <bob.wilson@acm.org>
1333
1334         * config/xtensa/unwind-dw2-xtensa.h (_Unwind_FrameState): Remove pc
1335         field and add signal_ra.
1336         * config/xtensa/unwind-dw2-xtensa.c (uw_frame_state_for): Remove
1337         assignments to frame state pc.  Move end of stack check after
1338         MD_FALLBACK_FRAME_STATE_FOR.
1339         (uw_update_context_1): Use frame state signal_regs if set, instead
1340         of checking signal_frame flag.
1341         (uw_update_context): Use frame state signal_ra if set.
1342         * config/xtensa/linux.h (MD_UNWIND_SUPPORT): Define.
1343         * config/xtensa/linux-unwind.h: New file.
1344
1345 2008-01-18  Bernhard Fischer  <aldot@gcc.gnu.org>
1346
1347         * modulo-sched.c (get_sched_window): Fix comment typo.
1348
1349 2008-01-17  Andrew MacLeod  <amacleod@redhat.com>
1350
1351         PR tree-optimization/34648
1352         * tree-ssa-sccvn.c (visit_use): Expressions which can throw are varying.
1353
1354 2008-01-17  Anatoly Sokolov <aesok@post.ru>
1355
1356         * config/avr/avr.h (LINK_SPEC): Support -mrelax and -mpmem-wrap-around.
1357         * config/avr/avr.opt (mrelax, mpmem-wrap-around): Add.
1358
1359 2008-01-17  Seongbae Park  <seongbae.park@gmail.com>
1360
1361         PR rtl-optimization/34400
1362         * df-core.c (df_worklist_dataflow_overeager,
1363         df_worklist_dataflow_doublequeue): New functions.
1364         (df_worklist_dataflow): Two different worklist solvers.
1365         * params.def (PARAM_DF_DOUBLE_QUEUE_THRESHOLD_FACTOR):
1366         New param.
1367
1368 2008-01-16  Sebastian Pop  <sebastian.pop@amd.com>
1369
1370         PR testsuite/34821
1371         * doc/invoke.texi: Document the dependence on pthread for fopenmp
1372         and ftree-parallelize-loops.
1373
1374 2008-01-17  Mircea Namolaru  <namolaru@il.ibm.com>
1375
1376         PR rtl-optimization/34826
1377         * loop-doloop (doloop_modify): Update the REG_BR_PROB note.
1378
1379 2008-01-17  Andreas Krebbel  <krebbel1@de.ibm.com>
1380
1381         * global.c (find_reg): Mark the eh regs as used if necessary.
1382         * ra-conflict.c (global_conflicts): Set no_eh_reg flag.
1383         * ra.h (struct allocno): no_eh_reg field added.  Changed
1384         no_stack_reg type to bitfield.
1385
1386 2008-01-17  Eric Botcazou  <ebotcazou@adacore.com>
1387
1388         * tree.c (substitute_in_expr): Add missing 'break'.
1389
1390 2008-01-17  Richard Guenther  <rguenther@suse.de>
1391
1392         PR tree-optimization/34825
1393         * tree-ssa-math-opts.c (is_division_by): Do not recognize
1394         x / x as division to handle.
1395
1396 2008-01-16  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1397
1398         * pa64-hpux.h (LIB_SPEC): Add "-lpthread" in shared links if "-mt" or
1399         "-pthread" is specified.
1400         * pa-hpux11.h (LIB_SPEC): Likewise.
1401
1402 2008-01-16  Janis Johnson  <janis187@us.ibm.com>
1403             Peter Bergner  <bergner@vnet.ibm.com>
1404
1405         PR rtl-optimization/33796
1406         * sparseset.c (sparseset_alloc): Use xcalloc rather than xmalloc.
1407
1408 2008-01-16  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1409
1410         PR libgfortran/34699
1411         * pa-hpux.h (LINK_SPEC): Only search /lib/pa1.1 and /usr/lib/pa1.1 on
1412         static links.
1413         * pa-hpux10.h (LINK_SPEC): Likewise.
1414         * pa-hpux11.h (LINK_SPEC): Don't search /lib/pa1.1 and /usr/lib/pa1.1.
1415
1416 2008-01-16  Richard Guenther  <rguenther@suse.de>
1417
1418         PR middle-end/32628
1419         * fold-const.c (fold_convert_const_int_from_int): Do not
1420         set overflow if that occured only because of a sign extension
1421         change when converting from/to a sizetype with the same
1422         precision and signedness.
1423
1424 2008-01-16  Uros Bizjak  <ubizjak@gmail.com>
1425
1426         PR debug/34249
1427         * dwarf2out.c (output_call_frame_info): Move output of FDE initial
1428         location address to the correct place.  Update copyright year.
1429
1430 2008-01-16  Sebastian Pop  <sebastian.pop@amd.com>
1431
1432         * lambda-code.c (lambda_transform_legal_p): Handle the case of
1433         no dependences in the dependence_relations vector.
1434
1435 2008-01-16  Jan Hubicka  <jh@suse.cz>
1436
1437         PR rtl-optimization/31396
1438         * regstat.c (regstat_bb_compute_ri): Compute FREQ_CALLS_CROSSED.
1439         * cfg.c (dump_reg_info): Print it.
1440         * regs.h (struct reg_info_t): add freq_calls_crossed.
1441         (REG_FREQ_CALLS_CROSSED): New macro.
1442         * global.c (global_alloc): Compute freq_calls_crossed for allocno.
1443         (find_reg): Update call of CALLER_SAVE_PROFITABLE.
1444         * regmove.c (optimize_reg_copy_1, optimize_reg_copy_2, fixup_match_2,
1445         regmove_optimize): Update call crossed frequencies.
1446         * local-alloc.c (struct qty): Add freq_calls_crossed.
1447         (alloc_qty): Copute freq_calls_crossed.
1448         (update_equiv_regs, combine_regs): Update REG_FREQ_CALLS_CROSSED.
1449         (find_free_reg): Update call of CALLER_SAVE_PROFITABLE.
1450         * ra.h (struct allocno): Add freq_calls_crossed.
1451
1452 2008-01-16  Sebastian Pop  <sebastian.pop@amd.com>
1453
1454         * gcc.c (LINK_COMMAND_SPEC): Add includes and link options for
1455         libgomp when compiling with ftree-parallelize-loops.
1456         (GOMP_SELF_SPECS): Add -pthread for ftree-parallelize-loops.
1457
1458 2008-01-16  Richard Guenther  <rguenther@suse.de>
1459
1460         PR tree-optimization/34769
1461         * tree-data-ref.c (initialize_matrix_A): Revert fix for PR34458.
1462         * tree.c (int_cst_value): Instead make this function more
1463         permissive in what it accepts as valid input.  Document this
1464         function always sign-extends the value.
1465
1466 2008-01-16  Jakub Jelinek  <jakub@redhat.com>
1467             Richard Guenther  <rguenther@suse.de>
1468
1469         PR c/34668
1470         * gimplify.c (fold_indirect_ref_rhs): Rename to ...
1471         (gimple_fold_indirect_ref_rhs): ... this.
1472         (gimple_fold_indirect_ref): New function with foldings
1473         that preserve lvalueness.
1474         (gimplify_modify_expr_rhs): Call gimple_fold_indirect_ref_rhs.
1475         * tree-flow.h (gimple_fold_indirect_ref): Declare.
1476         * tree-inline.c (copy_body_r): Use gimple_fold_indirect_ref
1477         to fold an INDIRECT_REF, fall back to the old use of
1478         fold_indirect_ref_1.
1479
1480 2008-01-16  Sebastian Pop  <sebastian.pop@amd.com>
1481
1482         * tree-data-ref.c (subscript_dependence_tester_1): Call 
1483         free_conflict_function.
1484         (compute_self_dependence): Same.
1485
1486 2008-01-16  Uros Bizjak  <ubizjak@gmail.com>
1487
1488         PR debug/34249
1489         * debug.h (dwarf2out_switch_text_section): Move declaration from ...
1490         * dwarf2out.c (dwarf2out_switch_text_section): ... here.  Make
1491         function global.
1492         * final.c (final_scan_insn) [NOTE_INSN_SWITCH_TEXT_SECTIONS]:
1493         Depending on dwarf2out_do_frame, call dwarf2out_switch_text_section
1494         for DWARF2_UNWIND_INFO targets.
1495
1496 2008-01-16  Richard Guenther  <rguenther@suse.de>
1497
1498         PR c/34768
1499         * c-typeck.c (common_pointer_type): Do not merge inconsistent
1500         type qualifiers for function types.
1501
1502 2008-01-15  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1503
1504         * tree-parloops.c (gen_parallel_loop): Fix ommision of declaration for
1505         loop_iterator li from previous commit.
1506
1507 2008-01-15  Sebastian Pop  <sebastian.pop@amd.com>
1508
1509         * tree-parloops.c (gen_parallel_loop): Free loop bound estimations.
1510
1511 2008-01-12  Sebastian Pop  <sebastian.pop@amd.com>
1512
1513         * tree-parloops.c (loop_has_blocks_with_irreducible_flag): New.
1514         (parallelize_loops): Don't parallelize irreducible components.
1515
1516 2008-01-14  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
1517
1518         PR c++/24924
1519         * c-opts (c_common_post_options): Do not enable CPP
1520         flag_pedantic_errors by default.
1521         
1522 2008-01-14  Eric Botcazou  <ebotcazou@adacore.com>
1523
1524         PR rtl-optimization/31944
1525         * cse.c (remove_pseudo_from_table): New function.
1526         (merge_equiv_classes): Use above function to remove pseudo-registers.
1527         (invalidate): Likewise.
1528
1529 2008-01-13  Richard Guenther  <rguenther@suse.de>
1530
1531         PR middle-end/34601
1532         * emit-rtl.c (set_reg_attrs_for_decl_rtl): Use DECL_MODE
1533         instead of TYPE_MODE to deal with calls from expand_one_error_var.
1534
1535 2008-01-13  Uros Bizjak  <ubizjak@gmail.com>
1536
1537         * gcse.c (cprop_jump): Call validate_unshare_change instead of
1538         validate_change to unshare the source of the PC set.
1539
1540 2008-01-12  Jan Hubicka  <jh@suse.cz>
1541
1542         PR middle-end/32135
1543         * tree-ssa-ccp.c (maybe_fold_offset_to_array_ref): Do not construct
1544         references above array bounds.  This might trigger bounds checks for
1545         pointers to arrays.
1546
1547 2008-01-12  Sebastian Pop  <sebastian.pop@amd.com>
1548
1549         * tree-ssa-ter.c (free_temp_expr_table): Free num_in_part and
1550         new_replaceable_dependencies.
1551
1552 2008-01-12  Doug Kwan  <dougkwan@google.com>
1553
1554         * c-decl.c: (grokdeclarator): Use OPT_Wignored_qualifiers
1555         instead of OPT_Wreturn_type in warning due to ignored return type
1556         qualifiers.
1557         * c-opt.c (c_common_post_option): Add -Wignored-qualifiers to
1558         options included in -Wextra.
1559         * c.opt: New option -Wignored_qualifiers.
1560         * doc/invoke.texi (Warning Options, -Wextra): Add new option
1561         -Wignore_qualifiers.
1562         (-Wignored-qualifiers): Document.
1563         (-Wreturn-type): Remove description of functionality now handled
1564         by -Wignored-qualifiers.
1565
1566 2008-01-12  Eric Botcazou  <ebotcazou@adacore.com>
1567
1568         PR ada/33788
1569         * fold-const.c (fold_unary) <VIEW_CONVERT_EXPR>: Fold an existing
1570         NOP_EXPR if it is between integral types with the same precision.
1571
1572 2008-01-12  Jan Hubicka  <jh@suse.cz>
1573
1574         PR other/28023
1575         * invoke.texi (max-inline-recursive-depth): Fix default value.
1576
1577 2008-01-12  Zdenek Dvorak  <ook@ucw.cz>
1578
1579         * tree-parloops.c (transform_to_exit_first_loop): Cast nit to the
1580         correct type.
1581
1582 2008-01-11  Bob Wilson  <bob.wilson@acm.org>
1583         
1584         * config/xtensa/xtensa.c (override_options): Set flag_shlib.
1585         
1586 2008-01-11  James E. Wilson  <wilson@specifix.com>
1587
1588         PR target/26015
1589         * config/vax/elf.h (FRAME_POINTER_CFA_OFFSET): Define.
1590
1591 2008-01-11  Anatoly Sokolov <aesok@post.ru>
1592
1593         * config/avr/avr.c (expand_prologue, expand_epilogue): Don't 
1594         save/restore frame pointer register and don't use 'call-prologues' 
1595         optimization in function with "OS_task" attribute.
1596
1597 2008-01-11  Eric Botcazou  <ebotcazou@adacore.com>
1598
1599         PR middle-end/31309
1600         * expr.c (copy_blkmode_from_reg): Use a mode suited to the size
1601         when copying to memory.
1602
1603 2008-01-11  Steven Bosscher  <stevenb.gcc@gmail.com>
1604
1605         PR rtl-optimization/30905
1606         * cfgcleanup.c: Include dce.h
1607         (crossjumps_occured): New global variable.
1608         (try_crossjump_bb): Exit loop after finding a fallthru edge.
1609         If something changed, set crossjumps_occured to true.
1610         (try_optimize_cfg): Clear crossjumps_occured at the beginning.
1611         Don't add/remove fake edges to exit here...
1612         (cleanup_cfg): ...but do it here, when crossjumping.
1613         Run a fast DCE when successful crossjumps occured in the latest
1614         iteration of try_optimize_cfg.
1615
1616 2008-01-11  Richard Guenther  <rguenther@suse.de>
1617
1618         * tree-ssa-sccvn.c (struct vn_binary_op_s): Move hashcode near opcode.
1619         (struct vn_unary_op_s): Likewise.
1620         (vn_reference_insert): Free old reference on hash collision.
1621
1622 2008-01-10  Raksit Ashok  <raksit@google.com>
1623
1624         PR rtl-optimization/27971
1625         * combine.c (find_split_point): Split PLUS expressions which are
1626         inside a MEM rtx, and whose first operand is complex.
1627
1628 2008-01-10  DJ Delorie  <dj@redhat.com>
1629
1630         * config/m32c/m32c.c (m32c_hard_regno_nregs_1): Renamed from...
1631         (m32c_hard_regno_nregs): ...this, which is now a wrapper.
1632         (m32c_hard_regno_ok): Call the underlying function.
1633
1634 2008-01-10  Richard Guenther  <rguenther@suse.de>
1635
1636         PR middle-end/34683
1637         * tree-cfg.c (tree_merge_blocks): Do not go through the
1638         full-blown folding and stmt updating path if we just deal
1639         with virtual operands.
1640         * tree-ssa-copy.c (may_propagate_copy): Do not short-cut
1641         test for abnormal SSA_NAMEs.
1642
1643 2008-01-10  Andreas Krebbel  <krebbel1@de.ibm.com>
1644
1645         PR middle-end/34641
1646         * reload.c (push_reload): Add assertions.  All constants from
1647         reg_equiv_constant should have been used for replacing the respective
1648         pseudo earlier.
1649         (find_reloads_address): Invoke find_reloads_address_part for
1650         constant taken from the reg_equiv_constant array.
1651
1652 2008-01-10  Steven Bosscher  <stevenb.gcc@gmail.com>
1653
1654         * tree-ssa-sccvn.h (struct vn_ssa_aux): Make the most accessed
1655         field (valnum) the first in the struct.  Replace bools with
1656         unit bit fields.
1657
1658 2008-01-10  Richard Guenther  <rguenther@suse.de>
1659
1660         PR tree-optimization/34651
1661         * tree-sra.c (sra_build_assignment): Sanitize.  Use the correct
1662         types and ordering for masking and converting.
1663
1664 2008-01-09  Sebastian Pop  <sebastian.pop@amd.com>
1665
1666         PR tree-optimization/34017
1667         * lambda-code.c (lambda_loopnest_to_gcc_loopnest): Generate code
1668         also for PHI_NODE expressions.
1669
1670 2008-01-09  Jan Hubicka  <jh@suse.cz>
1671
1672         PR tree-optimization/34708
1673         * tree-inline.c (estimate_num_insns_1): Compute cost of SWITCH_EXPR
1674         based on number of case labels.
1675         (init_inline_once): Remove switch_cost.
1676         * tree-inline.h (eni_weights_d): Remove switch_cost.
1677
1678 2008-01-09  Richard Guenther  <rguenther@suse.de>
1679         Andrew Pinski  <andrew_pinski@playstation.sony.com>
1680
1681         PR middle-end/30132
1682         * gimplify.c (gimplify_cond_expr): Do not create an addressable
1683         temporary if an rvalue is ok or an lvalue is not required.
1684
1685 2008-01-09  Richard Guenther  <rguenther@suse.de>
1686
1687         PR middle-end/34458
1688         * tree-data-ref.c (initialize_matrix_A): Use tree_low_cst,
1689         adjust return type.
1690
1691 2008-01-09  Richard Guenther  <rguenther@suse.de>
1692
1693         PR middle-end/34679
1694         * tree.c (host_integerp): Check for sizetype only if the
1695         type is an integer type.
1696
1697 2008-01-09  Steven Bosscher  <stevenb.gcc@gmail.com>
1698
1699         PR debug/26364
1700         * opts.c (decode_options): Disable inlining of functions called
1701         once if not in unit-at-a-time mode.
1702
1703 2008-01-09  Alexandre Oliva  <aoliva@redhat.com>
1704
1705         * Makefile.in (dse.o): Remove duplicate $(RECOG_H) dependency.
1706
1707 2008-01-08  Richard Guenther  <rguenther@suse.de>
1708
1709         PR middle-end/31863
1710         * tree-ssa-structalias.c (push_fields_onto_fieldstack): Bail
1711         out early if the result will be unused.
1712
1713 2008-01-08  Uros Bizjak  <ubizjak@gmail.com>
1714
1715         PR target/34709
1716         Revert:
1717
1718         2008-01-05  Uros Bizjak  <ubizjak@gmail.com>
1719         * config/i386/i386.c (ix86_builtin_reciprocal): Remove check
1720         for TARGET_RECIP.       
1721         
1722 2008-01-08  Jan Sjodin  <jan.sjodin@amd.com>
1723         
1724         * config/i386/i386.c (k8_cost, amdfam10_cost): Branch costs
1725         for vectorization tuned.
1726         
1727 2008-01-08  Richard Guenther  <rguenther@suse.de>
1728
1729         PR tree-optimization/34683
1730         * tree-ssa-operands.c (operand_build_cmp): Export.
1731         * tree-ssa-operands.h (operand_build_cmp): Declare.
1732         * tree-vn.c (vuses_compare): Remove.
1733         (sort_vuses): Use operand_build_cmp.
1734         (sort_vuses_heap): Likewise.
1735         * tree-ssa-sccvn.c (vuses_to_vec): Use VEC_reserve, not VEC_alloc
1736         to re-use old VEC if available.  Do not sort already sorted VUSEs.
1737         (vdefs_to_vec): Do not sort already sorted VDEFs.
1738
1739 2008-01-08  Jakub Jelinek  <jakub@redhat.com>
1740
1741         PR middle-end/34694
1742         * omp-low.c (copy_var_decl): Copy also DECL_SOURCE_LOCATION.
1743
1744 2008-01-08  Uros Bizjak  <ubizjak@gmail.com>
1745
1746         PR target/34702
1747         * doc/invoke.texi (i386 and x86-64 Options) [mrecip]: Document
1748         limitations of reciprocal sequences on x86 targets.
1749
1750 2008-01-08  Richard Guenther  <rguenther@suse.de>
1751
1752         PR tree-optimization/34683
1753         * tree-flow-inline.h (var_ann): Remove overzealous asserts.
1754
1755 2008-01-07  Jakub Jelinek  <jakub@redhat.com>
1756
1757         PR target/34622
1758         * config/darwin.c (darwin_mergeable_string_section): Don't use
1759         .cstring if int_size_in_bytes != TREE_STRING_LENGTH.
1760
1761 2008-01-07  Uros Bizjak  <ubizjak@gmail.com>
1762
1763         PR target/34682
1764         * config/i386/i386.md (neg<mode>2): Rename from negsf2, negdf2 and
1765         negxf2.  Macroize expander using X87MODEF mode iterator.  Change
1766         predicates of op0 and op1 to register_operand.
1767         (abs<mode>2): Rename from abssf2, absdf2 and negxf2.  Macroize
1768         expander using X87MODEF mode iterator.  Change predicates of
1769         op0 and op1 to register_operand.
1770         ("*absneg<mode>2_mixed", "*absneg<mode>2_sse"): Rename from
1771         corresponding patterns and macroize using MODEF macro.  Change
1772         predicates of op0 and op1 to register_operand and remove
1773         "m" constraint. Disparage "r" alternative with "!".
1774         ("*absneg<mode>2_i387"): Rename from corresponding patterns and
1775         macroize using X87MODEF macro.  Change predicates of op0 and op1
1776         to register_operand and remove "m" constraint.  Disparage "r"
1777         alternative with "!".
1778         (absneg splitter with memory operands): Remove.
1779         ("*neg<mode>2_1", "*abs<mode>2_1"): Rename from corresponding
1780         patterns and macroize using X87MODEF mode iterator.
1781         * config/i386/sse.md (negv4sf2, absv4sf2, neg2vdf2, absv2df2):
1782         Change predicate of op1 to register_operand.
1783         * config/i386/i386.c (ix86_expand_fp_absneg_operator): Remove support
1784         for memory operands.
1785
1786 2008-01-07  Nathan Froyd  <froydnj@codesourcery.com>
1787
1788         * config/rs6000/rs6000.h (ASM_CPU_SPEC): Add clause for mcpu=8548.
1789
1790 2008-01-07  Richard Guenther  <rguenther@suse.de>
1791
1792         * basic-block.h (struct edge_def): Pair dest_idx with goto_locus
1793         fields.
1794
1795 2008-01-07  Richard Guenther  <rguenther@suse.de>
1796
1797         PR tree-optimization/34683
1798         * tree-ssa-sccvn.c (vuses_to_vec): Pre-allocate the vector of
1799         VOPs of the needed size to save memory.  Use VEC_quick_push
1800         to save compile-time.
1801         (vdefs_to_vec): Likewise.
1802
1803 2008-01-07  Sa Liu  <saliu@de.ibm.com>
1804
1805         * config/spu/spu.md (divdf3): Genetate inline code for double
1806         division.  The implementation doesn't handle INF or NAN, therefore it
1807         only applies when -ffinite-math-only is given.
1808
1809 2008-01-06  Paolo Carlini  <pcarlini@suse.de>
1810
1811         PR libstdc++/34680
1812         * c-cppbuiltin.c (c_cpp_builtins): Define __GXX_RTTI, if appropriate.
1813         * doc/cpp.texi ([Common Predefined Macros]): Document.
1814
1815 2008-01-06  Uros Bizjak  <ubizjak@gmail.com>
1816
1817         * config/i386/i386.c (ix86_emit_swsqrtsf): Use negative constants in
1818         order to use commutative addition instead of subtraction.
1819
1820 2008-01-06  Andrew Pinski  <andrew_pinski@playstation.sony.com>
1821             Mircea Namolaru  <namolaru@il.ibm.com>
1822             Vladimir Yanovsky  <yanov@il.ibm.com>
1823             Revital Eres  <eres@il.ibm.com>
1824
1825         PR tree-optimization/34263
1826         * tree-outof-ssa.c (process_single_block_loop_latch,
1827         contains_tree_r): New functions.
1828         (analyze_edges_for_bb): Call process_single_block_loop_latch
1829         function to empty single-basic-block latch block if possible.
1830
1831 2008-01-05  Uros Bizjak  <ubizjak@gmail.com>
1832
1833         * config/i386/i386.c (ix86_builtin_reciprocal): Remove check
1834         for TARGET_RECIP.
1835         (ix86_emit_swsqrtsf): Do not filter out infinity for rsqrt expansion.
1836
1837 2008-01-05  Richard Sandiford  <rsandifo@nildram.co.uk>
1838
1839         * c-omp.c (check_omp_for_incr_expr): Handle CONVERT_EXPR.
1840
1841 2008-01-05  Richard Sandiford  <rsandifo@nildram.co.uk>
1842
1843         * config/mips/mips.c (mips_in_small_data_p): Reinstate size > 0 check.
1844
1845 2008-01-05  Jakub Jelinek  <jakub@redhat.com>
1846
1847         PR tree-optimization/34618
1848         * tree-outof-ssa.c (create_temp): Copy over DECL_GIMPLE_REG_P
1849         flag from T.
1850
1851 2008-01-05  Uros Bizjak  <ubizjak@gmail.com>
1852
1853         PR target/34673
1854         * config/i386/i386.c (ix86_emit_swsqrtsf): Swap input operands
1855         in the call to gen_rtx_NE.  Remove unneeded VECTOR_MODE_P check.
1856         Update copyright year.
1857
1858         * config/i386/i386.md (rsqrtsf2): Enable for TARGET_SSE_MATH.
1859         Update copyright year.
1860         * config/i386/sse.md (rsqrtv4sf2): Ditto. Unconditionally expand
1861         using NR fixup.
1862
1863 2008-01-05  Zhouyi Zhou  <zhouzhouyi@FreeBSD.org>
1864
1865         * tree-vrp.c (find_conditional_asserts): Remove redundant check that
1866         edge does not point to current bb before changing need_assert.
1867
1868 2008-01-04  Richard Guenther  <rguenther@suse.de>
1869
1870         PR middle-end/34029
1871         * tree-cfg.c (verify_expr): Do not look inside ADDR_EXPRs
1872         for verifying purposes if they are is_gimple_min_invariant.
1873
1874 2008-01-04  Aldy Hernandez  <aldyh@redhat.com>
1875
1876         PR tree-optimization/34448
1877         PR tree-optimization/34465
1878         * gimplify.c (gimplify_init_constructor): Add new parameter
1879         notify_temp_creation.  Use it.
1880         (gimplify_modify_expr_rhs): Take volatiles into account when
1881         optimizing constructors.
1882         Do not optimize constructors if gimplify_init_constructor will dump to
1883         memory.
1884         * gcc.dg/tree-ssa/pr32901.c: Tests const volatiles.
1885         * gcc.c-torture/compile/pr34448.c: New.
1886
1887 2008-01-04  Jakub Jelinek  <jakub@redhat.com>
1888
1889         PR gcov-profile/34609
1890         * tree-inline.c (declare_return_variable): Set TREE_ADDRESSABLE on
1891         return_slot if result is TREE_ADDRESSABLE.
1892
1893 2008-01-04  Richard Sandiford  <rsandifo@nildram.co.uk>
1894
1895         * config/mips/mips.md (sqrt_condition): Tweak comment.
1896         (recip_condition): Likewise.  Require TARGET_FLOAT64 for DFmode.
1897
1898 2008-01-03  Tom Tromey  <tromey@redhat.com>
1899
1900         PR c/34457
1901         * c-common.c (c_type_hash): Handle VLAs.
1902
1903 2008-01-03  Jan Hubicka  <jh@suse.cz>
1904
1905         PR tree-optimization/31081
1906         * tree-inline.c (remap_ssa_name): Initialize uninitialized SSA vars to
1907         0 when inlining and not inlining to first basic block.
1908         (remap_decl): When var is initialized to 0, don't set default_def.
1909         (expand_call_inline): Set entry_bb.
1910         * tree-inline.h (copy_body_data): Add entry_bb.
1911
1912 2008-01-03  Jakub Jelinek  <jakub@redhat.com>
1913
1914         PR c++/34619
1915         * cgraphunit.c (cgraph_build_static_cdtor): set_cfun back to NULL
1916         before returning.
1917
1918         PR tree-optimization/29484
1919         * tree-inline.c (inline_forbidden_p_2): New function.
1920         (inline_forbidden_p): Disallow inlining if some static var
1921         has an address of a local LABEL_DECL in its initializer.
1922         * doc/extend.texi (Labels as Values): Document &&foo behaviour
1923         vs. inlining.
1924
1925 2008-01-03  Sebastian Pop  <sebastian.pop@amd.com>
1926
1927         PR tree-optimization/34635
1928         * tree-data-ref.c (add_other_self_distances): Make sure that the
1929         evolution step is constant.
1930
1931 2008-01-03  Jakub Jelinek  <jakub@redhat.com>
1932
1933         PR middle-end/34608
1934         * omp-low.c (expand_omp_parallel): Purge dead EH edges in the child fn.
1935
1936 2008-01-02  Richard Sandiford  <rsandifo@nildram.co.uk>
1937
1938         * tree-sra.c (scalarize_init): Insert the generate_element_init
1939         statements after the generate_element_zero statements.
1940
1941 2008-01-02  Richard Guenther  <rguenther@suse.de>
1942
1943         PR middle-end/34093
1944         PR middle-end/31976
1945         * tree-ssa-operands.c (ssa_operand_alloc): Also allocate a buffer
1946         for very large number of operands instead of ICEing.
1947
1948 2008-01-02  Arthur Norman <acn1@cam.ac.uk>
1949
1950         PR target/34013
1951         * gcc/config/i386/i386.c (ix86_expand_prologue): Save red-zone
1952         while stack probing.
1953
1954 2008-01-01  Douglas Gregor  <doug.gregor@gmail.com>
1955
1956         * c-opts.c (sanitize_cpp_opts): Don't warn about "long long" when
1957         in C++0x mode.
1958
1959 2008-01-01  Volker Reichelt  <v.reichelt@netcologne.de>
1960
1961         PR libmudflap/26442
1962         * tree-mudflap.c (mx_register_decls): Guard warning by
1963         !DECL_ARTIFICIAL check.
1964
1965 2008-01-01  Jakub Jelinek  <jakub@redhat.com>
1966
1967         * config/i386/sse.md (sse5_pperm, sse5_pperm_pack_v2di_v4si,
1968         sse5_pperm_pack_v4si_v8hi, sse5_pperm_pack_v8hi_v16qi,
1969         sse5_perm<mode>): Fix constraints.