OSDN Git Service

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