OSDN Git Service

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