OSDN Git Service

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