OSDN Git Service

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