Daily bump.
[official-gcc.git] / gcc / ChangeLog
blobdabadd20d0dc0334d8392bc66a51c18917c5a77f
1 2008-02-22  Tomas Bily  <tbily@suse.cz>
3         * tree-vectorizer.c (vect_is_simple_reduction): Fix comment typo.
5 2008-02-21  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
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.
12 2008-02-21  Jan Hubicka  <jh@suse.cz>
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.
18 2008-02-21  Michael Matz  <matz@suse.de>
20         PR target/35264
21         * config/i386/i386.c (ix86_expand_branch): Add missing breaks.
23 2008-02-21  Uros Bizjak  <ubizjak@gmail.com>
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.
42 2008-02-21  Richard Guenther  <rguenther@suse.de>
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.
54 2008-02-20  Kaz Kojima  <kkojima@gcc.gnu.org>
56         PR target/35225
57         * config/sh/sh.c (find_barrier): Don't go past 'from' argument.
59 2008-02-20  Kaz Kojima  <kkojima@gcc.gnu.org>
61         PR target/35190
62         * config/sh/sh.md (jump_compact): Disable for crossing jumps.
64         * config/sh/sh.c (find_barrier): Don't go past
65         NOTE_INSN_SWITCH_TEXT_SECTIONS note.
67 2008-02-20  DJ Delorie  <dj@redhat.com>
69         * config/h8300/h8300.md (insv): Force source operand to be a register.
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>
76         * doc/invoke.texi (Warning Options): Add new option
77         -Wframe-larger-than=.
78         (-Wframe-larger-than): Document.
80         * flags.h (warn_frame_larger_than, frame_larger_than_size):
81         Add declarations for new option variables.
83         * final.c (final_start_function): Check the frame size
84         before emission and issue a Wframe-larger-than warning.
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_.
90         * common.opt (Wframe-larger-than=): New option.
92 2008-02-20  Uros Bizjak  <ubizjak@gmail.com>
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.
103 2008-02-20  Richard Guenther  <rguenther@suse.de>
105         PR middle-end/35265
106         * builtins.c (validate_arg): If we want an INTEGER_TYPE,
107         be happy with INTEGRAL_TYPE_P.
109 2008-02-20  Richard Guenther  <rguenther@suse.de>
111         * fold-const.c (split_tree): Associate floatig-point expressions
112         if flag_associative_math is set.
114 2008-02-20  Richard Guenther  <rguenther@suse.de>
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.
121 2008-02-20  Paolo Bonzini  <bonzini@gnu.org>
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>
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.
177 2008-02-20  Ira Rosen  <irar@il.ibm.com>
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.
183 2008-02-19  Jan Hubicka  <jh@suse.cz>
185         * predict.c (tree_bb_level_predictions): Remove variable next
186         mistakely introduced by previous commit.
188 2008-02-19  Jan Hubicka  <jh@suse.cz>
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.
194 2008-02-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
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.
203 2008-02-19  Jan Hubicka  <jh@suse.cz>
205         PR rtl-optimization/34408
206         * see.c (see_def_extension_not_merged): Copy subreg so we don't have
207         invalid sharing.
209 2008-02-19  Jan Hubicka  <jh@suse.cz>
211         PR middle-end/28779
212         * tree-inline.c (estimate_num_insns_1): Fix counting of cost of
213         call_expr.
215 2008-02-19  H.J. Lu  <hongjiu.lu@intel.com>
217         PR Ada/35186
218         * config/i386/i386-modes.def: Revert the last DI alignment
219         change until Ada people can look into it.
221 2008-02-19  Nick Clifton  <nickc@redhat.com>
223         * opts.c (print_specific_help): Fix typo in --help text.
225 2008-02-19  Jakub Jelinek  <jakub@redhat.com>
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.
231 2008-02-19  Richard Guenther  <rguenther@suse.de>
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.
237 2008-02-19  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
239         * c-common.c (warn_for_collisions_1): Use appropriate option when
240         warning.
242 2008-02-19  Nick Clifton  <nickc@redhat.com>
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.
259 2008-02-19  Revital Eres  <eres@il.ibm.com> 
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.
266 2008-02-19  Christian Bruel  <christian.bruel@st.com>
267             Zdenek Dvorak  <ook@ucw.cz>
269         * tree-ssa-loop-ivopts.c (may_be_unaligned_p): Check step alignment.
271 2008-02-19  Uros Bizjak  <ubizjak@gmail.com>
273         PR target/33555
274         * config/i386/i386.md (*x86_movsicc_0_m1_se): New insn pattern.
275         (*x86_movdicc_0_m1_se): Ditto.
277 2008-02-19  Uros Bizjak  <ubizjak@gmail.com>
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.
284 2008-02-19  Hans-Peter Nilsson  <hp@axis.com>
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.
300 2008-02-19  Paul Brook  <paul@codesourcery.com>
302         PR target/35071
303         * config/arm/ieee754-df.S: Fix do_it typo.
304         * config/arm/ieee754-sf.S: Fix do_it typo.
306 2008-02-18  H.J. Lu  <hongjiu.lu@intel.com>
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.
337 2008-02-18  H.J. Lu  <hongjiu.lu@intel.com>
339         * config/i386/i386-modes.def: Use 4 byte alignment on DI for
340         32bit host.
342 2008-02-18  Joey Ye  <joey.ye@intel.com>
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.
348 2008-02-18  Jakub Jelinek  <jakub@redhat.com>
350         * BASE-VER: Set to 4.4.0.
352 2008-02-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
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.
367 2008-02-17  Richard Guenther  <rguenther@suse.de>
369         PR middle-end/35227
370         * tree-complex.c (init_parameter_lattice_values): Handle parameters
371         without default definition.
373 2008-02-17  Richard Guenther  <rguenther@suse.de>
375         PR tree-optimization/35231
376         * tree-vrp.c (register_edge_assert_for): Do not assume A == 0
377         if A | B != 1.
379 2008-02-17  Uros Bizjak  <ubizjak@gmail.com>
381         Revert:
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.
387 2008-02-16  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
389         PR c/28368
390         * doc/invoke.texi (-std): Clarify description of -std= and -ansi.
392 2008-02-16  Ralf Corsepius  <ralf.corsepius@rtems.org>
394         * config/m68k/t-rtems (M68K_MLIB_CPU): Add 5208, 5307, 5407, 5475
395         multilibs.
397 2008-02-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
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.
410 2008-02-15  Jakub Jelinek  <jakub@redhat.com>
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.
418 2008-02-15  Uros Bizjak  <ubizjak@gmail.com>
420         * config/i386/sfp-machine.h (CMPtype): Define as typedef using
421         libgcc_cmp_return mode.
423 2008-02-15  Jakub Jelinek  <jakub@redhat.com>
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.
429 2008-02-15  Richard Guenther  <rguenther@suse.de>
430             Zdenek Dvorak  <ook@ucw.cz>
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.
439 2008-02-15  Joseph Myers  <joseph@codesourcery.com>
441         PR target/35088
442         * config/m68k/m68k.h (DWARF_CIE_DATA_ALIGNMENT): Define.
444 2008-02-15  Jan Hubicka  <jh@suse.cz>
446         PR middle-end/35149
447         * ipa.c (cgraph_remove_unreachable_nodes): Clear local.inlinable flag.
449 2008-02-15  Uros Bizjak  <ubizjak@gmail.com>
451         PR middle-end/34621
452         * function.c (pad_to_arg_alignment): Remove test for STACK_BOUNDARY
453         when calculating alignment_pad.
455 2008-02-15  Uros Bizjak  <ubizjak@gmail.com>
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.
462 2008-02-14  Danny Smith  <dannysmith@users.sourceforge.net>
464         PR preprocessor/35061
465         * c-pragma.c (handle_pragma_pop_macro): Check that
466         pushed_macro_table has been allocated.
468 2008-02-14  Eric Botcazou  <ebotcazou@adacore.com>
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.
479 2008-02-14  Michael Matz  <matz@suse.de>
481         PR target/34930
482         * function.c (instantiate_virtual_regs_in_insn): Reload address
483         before falling back to reloading the whole operand.
485 2008-02-14  Andreas Krebbel  <krebbel1@de.ibm.com>
487         * config/s390/s390.c (s390_mainpool_start): Emit the pool
488         before the first section switch note.
490 2008-02-14 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
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.
514         * doc/extend.texi: Use @: or add comma where appropriate.
515         * doc/invoke.texi: Likewise.
516         * doc/tm.texi: Likewise.
518 2008-02-14  Alan Modra  <amodra@bigpond.net.au>
520         PR target/34393
521         * config/rs6000/rs6000.md (restore_stack_block): Force operands[1]
522         to a reg.
524 2008-02-14  Jesper Nilsson  <jesper.nilsson@axis.com>
526         * doc/md.texi (clz, ctz): Add reference.
527         * doc/rtl.texi (clz, ctz): Likewise.
529 2008-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
531         PR other/35148
532         * Makefile.in (gcc-vers.texi): Use abs_srcdir for the value of
533         srcdir.
535 2008-02-13  Andreas Krebbel  <krebbel1@de.ibm.com>
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.
546 2008-02-13  Michael Matz  <matz@suse.de>
548         PR debug/35065
549         * var-tracking.c (clobber_variable_part): Correctly traverse the
550         list.
552 2008-02-13  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
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>
562         PR tree-optimization/35171
563         * tree-vect-patterns.c (vect_recog_dot_prod_pattern): Deal with
564         default defs.
566 2008-02-12  Richard Guenther  <rguenther@suse.de>
568         PR middle-end/35163
569         * fold-const.c (fold_widened_comparison): Use get_unwidened in
570         value-preserving mode.  Disallow final truncation.
572 2008-02-12  Eric Botcazou  <ebotcazou@adacore.com>
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.
579 2008-02-12  Jakub Jelinek  <jakub@redhat.com>
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.
588         PR inline-asm/35160
589         * function.c (match_asm_constraints_1): Don't replace the same input
590         multiple times.
592 2008-02-12  Anatoly Sokolov <aesok@post.ru>
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.
599 2008-02-11  Kai Tietz  <kai.tietz@onevision.com>
601         * config/i386/cygwin.asm: (__alloca): Correct calling
602         convention and alignment.
603         (__chkstk): Force 8 byte stack alignment.
605 2008-02-11  Uros Bizjak  <ubizjak@gmail.com>
606             Richard Guenther  <rguenther@suse.de>
608         PR tree-optimization/33992
609         * tree-ssa-loop-im.c (rewrite_bittest): Fixup the type of
610         the zero we compare against.
612 2008-02-10  Danny Smith  <dannysmith@users.sourceforge.net>
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.
619 2008-02-09  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
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.
626 2008-02-08  Steven Bosscher  <stevenb.gcc@gmail.com>
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)).
632 2008-02-08  Richard Sandiford  <rsandifo@nildram.co.uk>
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.
641 2008-02-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
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.
647 2008-02-08  Sa Liu  <saliu@de.ibm.com>
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.
653 2008-02-08  Hans-Peter Nilsson  <hp@axis.com>
655         * doc/extend.texi (Function Attributes) <noinline>: Mention
656         asm ("") as method to keep calls.
658 2008-02-07  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
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>
668         * config/s390/s390.h (FUNCTION_ARG_REGNO_P): Fix fprs for 64 bit.
670 2008-02-07  Richard Henderson  <rth@redhat.com>
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.
677 2008-02-07  Uros Bizjak  <ubizjak@gmail.com>
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.
684 2008-02-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
686         PR other/35107
687         * Makefile.in (LIBS): Remove $(GMPLIBS).
688         (cc1-dummy, cc1): Add $(GMPLIBS).
690 2008-02-06  Jan Hubicka  <jh@suse.cz>
692         PR target/23322
693         * i386.md (moddf_integer): Do not produce partial memory stalls for
694         targets where it hurts.
696 2008-02-06  Uros Bizjak  <ubizjak@gmail.com>
698         PR target/35083
699         * optabs.c (expand_float): Do not check for decimal modes when
700         expanding unsigned integer through signed conversion.
702 2008-02-06  Nick Clifton  <nickc@redhat.com>
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.
709 2008-02-06  Ralf Corsepius  <ralf.corsepius@rtems.org>
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.
717 2008-02-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
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}.
727 2008-02-05  Uros Bizjak  <ubizjak@gmail.com>
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.
734 2008-02-05  Diego Novillo  <dnovillo@google.com>
736         http://gcc.gnu.org/ml/gcc-patches/2008-02/msg00140.html
738         PR 33738
739         * tree-vrp.c (vrp_evaluate_conditional): Revert fix for PR 33738.
741 2008-02-05  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
743         PR other/35070
744         * toplev.c (print_version): Honor `indent' for GMP/MPFR warnings.
746 2008-02-05  H.J. Lu  <hongjiu.lu@intel.com>
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.
754 2008-02-05  Joseph Myers  <joseph@codesourcery.com>
756         * doc/include/texinfo.tex: Update to version 2008-02-04.16.
758 2008-02-05  Uros Bizjak  <ubizjak@gmail.com>
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.
764 2008-02-04  Diego Novillo  <dnovillo@google.com>
766         http://gcc.gnu.org/ml/gcc-patches/2008-02/msg00110.html
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.
773 2008-02-04  Richard Guenther  <rguenther@suse.de>
775         PR middle-end/33631
776         * expr.c (count_type_elements): Give for unions instead of
777         guessing.
779 2008-02-04  Richard Guenther  <rguenther@suse.de>
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.
785 2008-02-03  Jason Merrill  <jason@redhat.com>
787         * print-tree.c (print_node) [CONSTRUCTOR]: Print elements.
789 2008-02-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
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.
797 2008-02-02  Michael Matz  <matz@suse.de>
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.
807 2008-02-02  Gerald Pfeifer  <gerald@pfeifer.com>
809         * doc/extend.texi (X86 Built-in Functions): Fix grammar.
811 2008-02-01  Hans-Peter Nilsson  <hp@axis.com>
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.
819 2008-02-01  Roger Sayle  <roger@eyesopen.com>
821         PR bootstrap/33781
822         * configure.ac (--enable-fixed-point): Disable unless explicitly
823         requested on IRIX.
824         * configure: Regenerate.
826 2008-02-01  Richard Guenther  <rguenther@suse.de>
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.
832 2008-02-01  Andrew Pinski  <pinskia@gmail.com>
833             Mark Mitchell  <mark@codesourcery.com>
834             Ben Elliston  <bje@au.ibm.com>
836         PR c/29326
837         * doc/extend.texi (Other Builtins): Document.
839 2008-01-31  Tom Browder <tom.browder@gmail.com>
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.
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.
859 2008-01-31  Richard Sandiford  <rsandifo@nildram.co.uk>
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.
868 2008-01-31  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
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>
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.
884 2008-01-30  Richard Henderson  <rth@redhat.com>
886         PR c/34993
887         * tree.c (build_type_attribute_qual_variant): Skip TYPE_DOMAIN
888         for unbounded arrays.
890 2008-01-30  Silvius Rus  <rus@google.com>
892         * config/i386/xmmintrin.h (_mm_prefetch): Add const to first arg.
894 2008-01-30  Jan Hubicka  <jh@suse.cz>
896         PR target/34982
897         * i386.c (init_cumulative_args): Use real function declaration when
898         calling locally.
900 2008-01-30  Richard Sandiford  <rsandifo@nildram.co.uk>
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.
910 2008-01-30  Andreas Krebbel  <krebbel1@de.ibm.com>
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.
917 2008-01-30  Jakub Jelinek  <jakub@redhat.com>
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.
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.
933 2008-01-29  Joseph Myers  <joseph@codesourcery.com>
935         * config.gcc (i[34567]86-*-nto-qnx*): Remove deprecation.
937 2008-01-29  Bernhard Fischer  <aldot@gcc.gnu.org>
939         PR c/35002
940         * ipa-struct-reorg.c: Fix spelling.
941         * params.def: Ditto.
943 2008-01-29  Richard Guenther  <rguenther@suse.de>
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.
953 2008-01-29  Douglas Gregor  <doug.gregor@gmail.com>
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.
967 2008-01-28  Andy Hutchinson   <hutchinsonandy@netscape.net>
969         PR target/34412
970         * config/avr/avr.c (expand_prologue): Use correct QI mode frame 
971         pointer for tiny stack.
973 2008-01-28  Bernhard Fischer  <aldot@gcc.gnu.org>
975         * doc/tree-ssa.texi: Add cindex PHI nodes and improve wording.
977 2008-01-28  Bernhard Fischer  <aldot@gcc.gnu.org>
979         * config/vx-common.h: Fix typo in comment.
981 2008-01-28  Ian Lance Taylor  <iant@google.com>
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.
990 2008-01-28  Nathan Froyd  <froydnj@codesourcery.com>
992         PR 31535
993         * config/rs6000/rs6000.c (small_data_operand): Vectors and floats
994         are not legitimate small data references on SPE targets.
996 2008-01-28  David Daney  <ddaney@avtrex.com>
998         * doc/install.texi (mips-*-*): Recommend binutils 2.18.
1000 2008-01-28  David Daney  <ddaney@avtrex.com>
1002         * doc/install.texi (--disable-libgcj-bc):  Reword documentation.
1004 2008-01-27  Joseph Myers  <joseph@codesourcery.com>
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.
1015 2008-01-27  Bernhard Fischer  <aldot@gcc.gnu.org>
1017         * basic-block.h (condjump_equiv_p): Fix comment.
1019 2008-01-27  Bernhard Fischer  <aldot@gcc.gnu.org>
1021         * tree-pretty-print.c (print_generic_decl, print_generic_stmt,
1022         print_generic_stmt_indented): Fix comment.
1024 2008-01-27  Bernhard Fischer  <aldot@gcc.gnu.org>
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.
1030 2008-01-26  Maxim Kuvyrkov  <maxim@codesourcery.com>
1032         PR middle-end/34688
1033         * final.c (output_addr_const): Handle TRUNCATE.
1035 2008-01-26  Zdenek Dvorak  <ook@ucw.cz>
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.
1060 2008-01-26  Peter Bergner  <bergner@vnet.ibm.com>
1061             Janis Johnson  <janis187@us.ibm.com>
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.
1115 2008-01-26  Jakub Jelinek  <jakub@redhat.com>
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.
1125 2008-01-26  David Edelsohn  <edelsohn@gnu.org>
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.
1133 2008-01-26  Richard Sandiford  <rsandifo@nildram.co.uk>
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.
1141 2008-01-26  Richard Sandiford  <rsandifo@nildram.co.uk>
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.
1176 2008-01-26  Danny Smith  <dannysmith@users.sourceforge.net>
1178         PR target/34970
1179         * config/i386/cygming.h (ASM_OUTPUT_LABELREF): Define.
1181 2008-01-25  Joseph Myers  <joseph@codesourcery.com>
1183         PR other/31955
1184         * doc/install.texi2html: Generate gcc-vers.texi.
1186 2008-01-25  DJ Delorie  <dj@redhat.com>
1188         * config/m32c/m32c.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
1190 2008-01-25  Joseph Myers  <joseph@codesourcery.com>
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.
1212 2008-01-25  Bernd Schmidt  <bernd.schmidt@analog.com>
1214         * config/bfin/bfin.c (override_options): Reorder tests so that
1215         flag_pic gets enabled for -msep-data.
1217 2008-01-25  Richard Guenther  <rguenther@suse.de>
1219         PR middle-end/32244
1220         * expr.c (expand_expr_real_1): Reduce result of LSHIFT_EXPR
1221         to its bitfield precision if required.
1223 2008-01-25  Jakub Jelinek  <jakub@redhat.com>
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.
1232 2008-01-25  Richard Guenther  <rguenther@suse.de>
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.
1239 2008-01-24  Nick Clifton  <nickc@redhat.com>
1241         * config/stormy16/stormy16-lib2.c (MIN_UNITS_PER_WORD):
1242         Provide a default definition.
1243         (LIBGCC2_UNITS_PER_WORD): Likewise.
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.
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.
1270         * config/storm16/stormy16.md (addhi3): Remove earlyclobber
1271         modifiers as they are no longer needed and they can trigger
1272         reload spill failures.
1274         * config/storm16/stormy16.md (ineqbranchsi): Replace match_dup
1275         with a match_operand in order to help reload.
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.
1281 2008-01-25  Uros Bizjak  <ubizjak@gmail.com>
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.
1288 2008-01-25  Jakub Jelinek  <jakub@redhat.com>
1290         PR middle-end/33333
1291         * gimplify.c (gimplify_omp_for): Gimplify OMP_FOR_PRE_BODY.
1293 2008-01-25  Golovanevsky Olga  <olga@il.ibm.com>
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>
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.
1305 2008-01-25  Ben Elliston  <bje@au.ibm.com>
1307         PR other/22232
1308         * fixproto: Escape "." in sed expression that strips leading "./".
1310 2008-01-24  H.J. Lu  <hongjiu.lu@intel.com>
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.
1327 2008-01-24  Andreas Krebbel  <krebbel1@de.ibm.com>
1329         * config/s390/s390.h (MOVE_RATIO): Define new target macro.
1331 2008-01-24  Richard Sandiford  <rsandifo@nildram.co.uk>
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.
1341 2008-01-24  Uros Bizjak  <ubizjak@gmail.com>
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.
1347 2008-01-24  Jakub Jakub Jelinek  <jakub@redhat.com>
1349         PR middle-end/34934
1350         * tree-stdarg.c (reachable_at_most_once): Use VEC vector instead of
1351         a fixed vector for stack.
1353 2008-01-24  Ben Elliston  <bje@au.ibm.com>
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>
1360         * config/cris/cris.h (CC1PLUS_SPEC, OPTIMIZATION_OPTIONS): Drop
1361         stale and straggling -fforce-addr comments above.
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.
1368 2008-01-23  Michael Matz  <matz@suse.de>
1370         PR debug/34895
1371         * dwarf2out.c (force_type_die): Use modified_type_die instead of
1372         gen_type_die.
1374 2008-01-23  Andreas Krebbel  <krebbel1@de.ibm.com>
1376         * ipa-struct-reorg.c (create_new_malloc): Use pointer type as
1377         malloc result type.
1379 2008-01-23 Anatoly Sokolov <aesok@post.ru>
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.).
1398 2008-01-23  Richard Guenther  <rguenther@suse.de>
1400         PR middle-end/31529
1401         * cgraphunit.c (cgraph_reset_node): Always mark the node
1402         not reachable if it is not queued already.
1404 2008-01-23  Bernd Schmidt  <bernd.schmidt@analog.com>
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.
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.
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.
1429 2008-01-22  Eric Botcazou  <ebotcazou@adacore.com>
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.
1436 2008-01-22  David Edelsohn  <edelsohn@gnu.org>
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.
1442 2008-01-22  Jakub Jelinek  <jakub@redhat.com>
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.
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.
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.
1458 2008-01-22  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
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.
1473 2008-01-22  Kenneth Zadeck <zadeck@naturalbridge.com>
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.
1492 2008-01-22  H.J. Lu  <hongjiu.lu@intel.com>
1494         PR bootstrap/32287
1495         * configure.ac (ld_vers): Support GNU linker version xx.xx.*
1496         (as_vers): Likewise.
1497         * configure: Regenerated.
1499 2008-01-22  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
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.
1508 2008-01-22  Wolfgang Gellerich  <gellerich@de.ibm.com>
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.
1528 2008-01-22  Ben Elliston  <bje@au.ibm.com>
1530         * tree.c (check_qualified_type): Improve function description.
1532 2008-01-21  Jason Merrill  <jason@redhat.com>
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.
1539 2008-01-21  DJ Delorie  <dj@redhat.com>
1541         * doc/tm.texi (HARD_REGNO_NREGS): Note that this macro must not
1542         return zero.
1544 2008-01-21  Richard Guenther  <rguenther@suse.de>
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.
1553 2008-01-21  H.J. Lu  <hongjiu.lu@intel.com>
1555         * regmove.c (fixup_match_1): Update call crossed frequencies.
1557 2008-01-21  Richard Guenther  <rguenther@suse.de>
1559         PR c/34885
1560         * tree-inline.c (setup_one_parameter): Deal with mismatched
1561         types using a VIEW_CONVERT_EXPR.
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.
1570 2008-01-20  Kenneth Zadeck <zadeck@naturalbridge.com>
1572         * doc/install.texi: Add doc for --enable-checking=df.
1573         
1574 2008-01-20  Kaz Kojima  <kkojima@gcc.gnu.org>
1576         PR rtl-optimization/34808
1577         * emit-rtl.c (try_split): Handle REG_RETVAL notes.
1579 2008-01-20  Richard Sandiford  <rsandifo@nildram.co.uk>
1581         * global.c (find_reg): Only compute EH_RETURN_DATA_REGNO once per
1582         input.
1584 2008-01-19  Kenneth Zadeck <zadeck@naturalbridge.com>
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.
1604 2008-01-20  Richard Sandiford  <rsandifo@nildram.co.uk>
1606         PR target/34831
1607         * config/mips/mips.md (div<mode>3): Use <recip_condition> when
1608         deciding whether to use reciprocal instructions.
1610 2008-01-19  Uros Bizjak  <ubizjak@gmail.com>
1612         * dwarf2out.c (dwarf2out_switch_text_section): Do not call
1613         dwarf2out_note_section_used if cold_text_section is NULL.
1615 2008-01-19  Jakub Jelinek  <jakub@redhat.com>
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.
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.
1630 2008-01-19 Anatoly Sokolov <aesok@post.ru>
1632         * config/avr/avr.S (_exit): Disable interrupt.
1634 2008-01-18  Kenneth Zadeck  <zadeck@naturalbridge.com>
1635             Steven Bosscher  <stevenb.gcc@gmail.com>
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.
1650 2008-01-18  Ian Lance Taylor  <iant@google.com>
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.
1659 2008-01-18  Ian Lance Taylor  <iant@google.com>
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.
1669 2008-01-18  Uros Bizjak  <ubizjak@gmail.com>
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.
1679 2008-01-17  Bob Wilson  <bob.wilson@acm.org>
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.
1692 2008-01-18  Bernhard Fischer  <aldot@gcc.gnu.org>
1694         * modulo-sched.c (get_sched_window): Fix comment typo.
1696 2008-01-17  Andrew MacLeod  <amacleod@redhat.com>
1698         PR tree-optimization/34648
1699         * tree-ssa-sccvn.c (visit_use): Expressions which can throw are varying.
1701 2008-01-17  Anatoly Sokolov <aesok@post.ru>
1703         * config/avr/avr.h (LINK_SPEC): Support -mrelax and -mpmem-wrap-around.
1704         * config/avr/avr.opt (mrelax, mpmem-wrap-around): Add.
1706 2008-01-17  Seongbae Park  <seongbae.park@gmail.com>
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.
1715 2008-01-16  Sebastian Pop  <sebastian.pop@amd.com>
1717         PR testsuite/34821
1718         * doc/invoke.texi: Document the dependence on pthread for fopenmp
1719         and ftree-parallelize-loops.
1721 2008-01-17  Mircea Namolaru  <namolaru@il.ibm.com>
1723         PR rtl-optimization/34826
1724         * loop-doloop (doloop_modify): Update the REG_BR_PROB note.
1726 2008-01-17  Andreas Krebbel  <krebbel1@de.ibm.com>
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.
1733 2008-01-17  Eric Botcazou  <ebotcazou@adacore.com>
1735         * tree.c (substitute_in_expr): Add missing 'break'.
1737 2008-01-17  Richard Guenther  <rguenther@suse.de>
1739         PR tree-optimization/34825
1740         * tree-ssa-math-opts.c (is_division_by): Do not recognize
1741         x / x as division to handle.
1743 2008-01-16  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
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.
1749 2008-01-16  Janis Johnson  <janis187@us.ibm.com>
1750             Peter Bergner  <bergner@vnet.ibm.com>
1752         PR rtl-optimization/33796
1753         * sparseset.c (sparseset_alloc): Use xcalloc rather than xmalloc.
1755 2008-01-16  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
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.
1763 2008-01-16  Richard Guenther  <rguenther@suse.de>
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.
1771 2008-01-16  Uros Bizjak  <ubizjak@gmail.com>
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.
1777 2008-01-16  Sebastian Pop  <sebastian.pop@amd.com>
1779         * lambda-code.c (lambda_transform_legal_p): Handle the case of
1780         no dependences in the dependence_relations vector.
1782 2008-01-16  Jan Hubicka  <jh@suse.cz>
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.
1799 2008-01-16  Sebastian Pop  <sebastian.pop@amd.com>
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.
1805 2008-01-16  Richard Guenther  <rguenther@suse.de>
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.
1813 2008-01-16  Jakub Jelinek  <jakub@redhat.com>
1814             Richard Guenther  <rguenther@suse.de>
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.
1827 2008-01-16  Sebastian Pop  <sebastian.pop@amd.com>
1829         * tree-data-ref.c (subscript_dependence_tester_1): Call 
1830         free_conflict_function.
1831         (compute_self_dependence): Same.
1833 2008-01-16  Uros Bizjak  <ubizjak@gmail.com>
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.
1843 2008-01-16  Richard Guenther  <rguenther@suse.de>
1845         PR c/34768
1846         * c-typeck.c (common_pointer_type): Do not merge inconsistent
1847         type qualifiers for function types.
1849 2008-01-15  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1851         * tree-parloops.c (gen_parallel_loop): Fix ommision of declaration for
1852         loop_iterator li from previous commit.
1854 2008-01-15  Sebastian Pop  <sebastian.pop@amd.com>
1856         * tree-parloops.c (gen_parallel_loop): Free loop bound estimations.
1858 2008-01-12  Sebastian Pop  <sebastian.pop@amd.com>
1860         * tree-parloops.c (loop_has_blocks_with_irreducible_flag): New.
1861         (parallelize_loops): Don't parallelize irreducible components.
1863 2008-01-14  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
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>
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.
1876 2008-01-13  Richard Guenther  <rguenther@suse.de>
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.
1882 2008-01-13  Uros Bizjak  <ubizjak@gmail.com>
1884         * gcse.c (cprop_jump): Call validate_unshare_change instead of
1885         validate_change to unshare the source of the PC set.
1887 2008-01-12  Jan Hubicka  <jh@suse.cz>
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.
1894 2008-01-12  Sebastian Pop  <sebastian.pop@amd.com>
1896         * tree-ssa-ter.c (free_temp_expr_table): Free num_in_part and
1897         new_replaceable_dependencies.
1899 2008-01-12  Doug Kwan  <dougkwan@google.com>
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.
1913 2008-01-12  Eric Botcazou  <ebotcazou@adacore.com>
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.
1919 2008-01-12  Jan Hubicka  <jh@suse.cz>
1921         PR other/28023
1922         * invoke.texi (max-inline-recursive-depth): Fix default value.
1924 2008-01-12  Zdenek Dvorak  <ook@ucw.cz>
1926         * tree-parloops.c (transform_to_exit_first_loop): Cast nit to the
1927         correct type.
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>
1935         PR target/26015
1936         * config/vax/elf.h (FRAME_POINTER_CFA_OFFSET): Define.
1938 2008-01-11  Anatoly Sokolov <aesok@post.ru>
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.
1944 2008-01-11  Eric Botcazou  <ebotcazou@adacore.com>
1946         PR middle-end/31309
1947         * expr.c (copy_blkmode_from_reg): Use a mode suited to the size
1948         when copying to memory.
1950 2008-01-11  Steven Bosscher  <stevenb.gcc@gmail.com>
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.
1963 2008-01-11  Richard Guenther  <rguenther@suse.de>
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.
1969 2008-01-10  Raksit Ashok  <raksit@google.com>
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.
1975 2008-01-10  DJ Delorie  <dj@redhat.com>
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.
1981 2008-01-10  Richard Guenther  <rguenther@suse.de>
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.
1990 2008-01-10  Andreas Krebbel  <krebbel1@de.ibm.com>
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.
1999 2008-01-10  Steven Bosscher  <stevenb.gcc@gmail.com>
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.
2005 2008-01-10  Richard Guenther  <rguenther@suse.de>
2007         PR tree-optimization/34651
2008         * tree-sra.c (sra_build_assignment): Sanitize.  Use the correct
2009         types and ordering for masking and converting.
2011 2008-01-09  Sebastian Pop  <sebastian.pop@amd.com>
2013         PR tree-optimization/34017
2014         * lambda-code.c (lambda_loopnest_to_gcc_loopnest): Generate code
2015         also for PHI_NODE expressions.
2017 2008-01-09  Jan Hubicka  <jh@suse.cz>
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.
2025 2008-01-09  Richard Guenther  <rguenther@suse.de>
2026         Andrew Pinski  <andrew_pinski@playstation.sony.com>
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.
2032 2008-01-09  Richard Guenther  <rguenther@suse.de>
2034         PR middle-end/34458
2035         * tree-data-ref.c (initialize_matrix_A): Use tree_low_cst,
2036         adjust return type.
2038 2008-01-09  Richard Guenther  <rguenther@suse.de>
2040         PR middle-end/34679
2041         * tree.c (host_integerp): Check for sizetype only if the
2042         type is an integer type.
2044 2008-01-09  Steven Bosscher  <stevenb.gcc@gmail.com>
2046         PR debug/26364
2047         * opts.c (decode_options): Disable inlining of functions called
2048         once if not in unit-at-a-time mode.
2050 2008-01-09  Alexandre Oliva  <aoliva@redhat.com>
2052         * Makefile.in (dse.o): Remove duplicate $(RECOG_H) dependency.
2054 2008-01-08  Richard Guenther  <rguenther@suse.de>
2056         PR middle-end/31863
2057         * tree-ssa-structalias.c (push_fields_onto_fieldstack): Bail
2058         out early if the result will be unused.
2060 2008-01-08  Uros Bizjak  <ubizjak@gmail.com>
2062         PR target/34709
2063         Revert:
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>
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.
2086 2008-01-08  Jakub Jelinek  <jakub@redhat.com>
2088         PR middle-end/34694
2089         * omp-low.c (copy_var_decl): Copy also DECL_SOURCE_LOCATION.
2091 2008-01-08  Uros Bizjak  <ubizjak@gmail.com>
2093         PR target/34702
2094         * doc/invoke.texi (i386 and x86-64 Options) [mrecip]: Document
2095         limitations of reciprocal sequences on x86 targets.
2097 2008-01-08  Richard Guenther  <rguenther@suse.de>
2099         PR tree-optimization/34683
2100         * tree-flow-inline.h (var_ann): Remove overzealous asserts.
2102 2008-01-07  Jakub Jelinek  <jakub@redhat.com>
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.
2108 2008-01-07  Uros Bizjak  <ubizjak@gmail.com>
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.
2133 2008-01-07  Nathan Froyd  <froydnj@codesourcery.com>
2135         * config/rs6000/rs6000.h (ASM_CPU_SPEC): Add clause for mcpu=8548.
2137 2008-01-07  Richard Guenther  <rguenther@suse.de>
2139         * basic-block.h (struct edge_def): Pair dest_idx with goto_locus
2140         fields.
2142 2008-01-07  Richard Guenther  <rguenther@suse.de>
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.
2150 2008-01-07  Sa Liu  <saliu@de.ibm.com>
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.
2156 2008-01-06  Paolo Carlini  <pcarlini@suse.de>
2158         PR libstdc++/34680
2159         * c-cppbuiltin.c (c_cpp_builtins): Define __GXX_RTTI, if appropriate.
2160         * doc/cpp.texi ([Common Predefined Macros]): Document.
2162 2008-01-06  Uros Bizjak  <ubizjak@gmail.com>
2164         * config/i386/i386.c (ix86_emit_swsqrtsf): Use negative constants in
2165         order to use commutative addition instead of subtraction.
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>
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.
2178 2008-01-05  Uros Bizjak  <ubizjak@gmail.com>
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.
2184 2008-01-05  Richard Sandiford  <rsandifo@nildram.co.uk>
2186         * c-omp.c (check_omp_for_incr_expr): Handle CONVERT_EXPR.
2188 2008-01-05  Richard Sandiford  <rsandifo@nildram.co.uk>
2190         * config/mips/mips.c (mips_in_small_data_p): Reinstate size > 0 check.
2192 2008-01-05  Jakub Jelinek  <jakub@redhat.com>
2194         PR tree-optimization/34618
2195         * tree-outof-ssa.c (create_temp): Copy over DECL_GIMPLE_REG_P
2196         flag from T.
2198 2008-01-05  Uros Bizjak  <ubizjak@gmail.com>
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.
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.
2210 2008-01-05  Zhouyi Zhou  <zhouzhouyi@FreeBSD.org>
2212         * tree-vrp.c (find_conditional_asserts): Remove redundant check that
2213         edge does not point to current bb before changing need_assert.
2215 2008-01-04  Richard Guenther  <rguenther@suse.de>
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.
2221 2008-01-04  Aldy Hernandez  <aldyh@redhat.com>
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.
2234 2008-01-04  Jakub Jelinek  <jakub@redhat.com>
2236         PR gcov-profile/34609
2237         * tree-inline.c (declare_return_variable): Set TREE_ADDRESSABLE on
2238         return_slot if result is TREE_ADDRESSABLE.
2240 2008-01-04  Richard Sandiford  <rsandifo@nildram.co.uk>
2242         * config/mips/mips.md (sqrt_condition): Tweak comment.
2243         (recip_condition): Likewise.  Require TARGET_FLOAT64 for DFmode.
2245 2008-01-03  Tom Tromey  <tromey@redhat.com>
2247         PR c/34457
2248         * c-common.c (c_type_hash): Handle VLAs.
2250 2008-01-03  Jan Hubicka  <jh@suse.cz>
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.
2259 2008-01-03  Jakub Jelinek  <jakub@redhat.com>
2261         PR c++/34619
2262         * cgraphunit.c (cgraph_build_static_cdtor): set_cfun back to NULL
2263         before returning.
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.
2272 2008-01-03  Sebastian Pop  <sebastian.pop@amd.com>
2274         PR tree-optimization/34635
2275         * tree-data-ref.c (add_other_self_distances): Make sure that the
2276         evolution step is constant.
2278 2008-01-03  Jakub Jelinek  <jakub@redhat.com>
2280         PR middle-end/34608
2281         * omp-low.c (expand_omp_parallel): Purge dead EH edges in the child fn.
2283 2008-01-02  Richard Sandiford  <rsandifo@nildram.co.uk>
2285         * tree-sra.c (scalarize_init): Insert the generate_element_init
2286         statements after the generate_element_zero statements.
2288 2008-01-02  Richard Guenther  <rguenther@suse.de>
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.
2295 2008-01-02  Arthur Norman <acn1@cam.ac.uk>
2297         PR target/34013
2298         * gcc/config/i386/i386.c (ix86_expand_prologue): Save red-zone
2299         while stack probing.
2301 2008-01-01  Douglas Gregor  <doug.gregor@gmail.com>
2303         * c-opts.c (sanitize_cpp_opts): Don't warn about "long long" when
2304         in C++0x mode.
2306 2008-01-01  Volker Reichelt  <v.reichelt@netcologne.de>
2308         PR libmudflap/26442
2309         * tree-mudflap.c (mx_register_decls): Guard warning by
2310         !DECL_ARTIFICIAL check.
2312 2008-01-01  Jakub Jelinek  <jakub@redhat.com>
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.