OSDN Git Service

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