OSDN Git Service

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