OSDN Git Service

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