OSDN Git Service

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