OSDN Git Service

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