OSDN Git Service

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