OSDN Git Service

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