OSDN Git Service

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