OSDN Git Service

PR c/35750
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2008-03-31  Volker Reichelt  <v.reichelt@netcologne.de>
2
3         PR c/35750
4         * c-decl.c (store_parm_decls_oldstyle): Skip invalid parameters.
5
6 2008-03-31  Andrew Pinski  <andrew_pinski@playstation.sony.com>
7
8         PR middle-end/30186
9         * fold-const.c (fold_indirect_ref_1): Support accessing non first
10         element of the vector via a pointer.
11
12 2008-03-31  Ian Lance Taylor  <iant@google.com>
13
14         * tlink.c (scan_linker_output): Look for symbol name in single
15         quotes.
16
17 2008-03-31  Jan Hubicka  <jh@suse.cz>
18
19         * builtins.c (expand_builtin_setjmp_receiver): Update call of
20         get_arg_pointer_save_area.
21         * expr.c (init_expr): Just clear out rtl.expr.
22         * function.c (free_after_compilation): Clear out whole RTL structure.
23         (get_func_frame_size): Merge into ...
24         (get_frame_size): ... this one.
25         (assign_stack_local_1): Merge into ...
26         (assign_stack_local): ... this one.
27         (expand_function_end): Update call of get_arg_pointer_save_area.
28         (get_art_pointer_save_area): Remove cfun argument.
29         * function.h (emit_status): regno_pointer_align does not need length
30         attribute. Move x_regno_reg_rtx to ...
31         (regno_reg_rtx): ... new global array.
32         (reg_rtx_no, seq_stack, REGNO_POINTER_ALIGN): Update accestors.
33         (pending_stack_adjust, inhibit_defer_pop, saveregs_value,
34         apply_args_value, forced_labels, stack_pointer_delta): Update accestors.
35         (struct varasm_status): Move here from varasm.c
36         (struct rtl_data): New. Move here some fields from struct function.
37         (return_label, naked_return_label, stack_slot_list, parm_birth_insn,
38         frame_offset, stack_check_probe_note, arg_pointer_save_area,
39         used_temp_slots avail_temp_slots, temp_slot_level,
40         nonlocal_goto_handler_labels): Update accesstors.
41         (rtl): New global variable.
42         (struct function): Move some fileds to rtl_data.
43         (get_arg_pointer_save_area): Update prototype.
44         * emit-rtl.c (rtl): Declare.
45         (regno_reg_rtx): Declare.
46         (first_insn, last_insn, cur_insn_uid, last_location, first_label_num): Update.
47         (gen_reg_rtx): Update.
48         (init_virtual_regs): Do not tate emit_status argument.
49         (init_emit): Do not allocate emit.
50         * varasm.c (varasm_statuc): Move to function.h.
51         (n_deferred_constatns): Update accestor.
52         (init_varasm_status): Do not allocate varasm_status.
53         (force_const_mem, get_pool_size, output_constant_pool): Update.
54         * stmt.c (force_label_rtx): Do not use x_ prefixes.
55         (expand_nl_goto_receiver): Update get_arg_pointer_save_area.
56
57 2008-03-31  Zdenek Dvorak  <ook@ucw.cz>
58
59         PR rtl-optimization/35729
60         * loop-invariant.c (check_maybe_invariant): Disallow volatile memory
61         references.
62
63 2008-03-31  H.J. Lu  <hongjiu.lu@intel.com>
64
65         PR target/32000
66         * config/i386/i386.md (*movti_internal): Emit unaligned SSE
67         load/store if memory is unaligned.
68         (*movti_rex64): Likewise.
69
70         * config/i386/predicates.md (misaligned_operand): New.
71
72 2008-03-31  Andrew Pinski  <pinskia@gmail.com>
73
74         PR tree-opt/35431
75         * tree-ssa-phiopt.c (conditional_replacement): Return early for
76         complex types.
77
78 2008-03-31  Jan Beulich  <jbeulich@novell.com>
79
80         * config/ia64/constraints.md: Add 'j' constraint.
81         * config/ia64/ia64.md (movsi_internal): Add addp4 case.
82         (movdi_internal): Likewise.
83
84 2008-03-30  Volker Reichelt  <v.reichelt@netcologne.de>
85
86         PR c/35748
87         * c-typeck.c (build_c_cast): Skip invalid fields in unions.
88
89 2008-03-30  H.J. Lu  <hongjiu.lu@intel.com>
90
91         PR target/35757
92         * config/i386/i386.c (ix86_expand_sse_4_operands_builtin): Issue
93         proper error message for the third argument on blendpd and
94         blendps.
95
96         * config/i386/sse.md (blendbits): New.
97         (sse4_1_blendp<ssemodesuffixf2c>): Use it.
98
99 2008-03-30  Eric Botcazou  <ebotcazou@adacore.com>
100
101         * fold-const.c (fold_binary) <BIT_IOR_EXPR>: Add missing conversions.
102
103 2008-03-30  Richard Guenther  <rguenther@suse.de>
104
105         PR middle-end/31023
106         * fold-const.c (fold_sign_changed_comparison): Do leave
107         conversions to base-types alone.
108
109 2008-03-29  Andrew Pinski  <andrew_pinski@playstation.sony.com>
110
111         * config/rs6000/rs6000.c (rs6000_stack_info): Don't force saving of
112         the link register if one altivec register is be saved.
113
114 2008-03-30  Ben Elliston  <bje@au.ibm.com>
115
116         * final.c (final_scan_insn): Remove if (0) code.
117
118 2008-03-28  Volker Reichelt  <v.reichelt@netcologne.de>
119
120         * c-parser.c (c_parser_next_token_is_keyword): Simplify.
121
122 2008-03-28  H.J. Lu  <hongjiu.lu@intel.com>
123
124         * config/i386/sse.md (*and<mode>3): Pass <MODE>mode instead
125         of V4SFmode to ix86_binary_operator_ok.
126
127 2008-03-28  Uros Bizjak  <ubizjak@gmail.com>
128
129         * config/i386/i386.c (override_options): Initialize
130         ix86_veclib_handler to ix86_veclibabi_svml when
131         -mveclibabi=svml is used.
132         (ix86_veclibabi_svml): New function for SVML ABI style
133         vectorization support.
134         * doc/invoke.texi (-mveclibabi) [svml]: Document new target option.
135
136 2008-03-28  Rafael Espindola  <espindola@google.com>
137
138         * fold-const.c (tree_unary_nonnegative_warnv_p): Make it public.
139         (tree_binary_nonnegative_warnv_p): Make it public.
140         (tree_single_nonnegative_warnv_p): Make it public.
141         (tree_invalid_nonnegative_warnv_p): Make it public.
142         (tree_unary_nonzero_warnv_p): Make it public.
143         (tree_binary_nonzero_warnv_p): Make it public
144         (tree_single_nonzero_warnv_p): Make it public.
145         * tree-vrp.c (vrp_evaluate_conditional_warnv_with_ops): New function.
146         (extract_range_from_binary_expr): Split the expr argument.
147         (extract_range_from_unary_expr): Split the expr argument.
148         (extract_range_from_comparison): Split the expr argument.
149         (extract_range_from_expr): Use the new aux functions.
150         (vrp_evaluate_conditional_warnv): Use
151         vrp_evaluate_conditional_warnv_with_ops.
152         * tree.h (tree_unary_nonzero_warnv_p): Declare.
153         (tree_binary_nonzero_warnv_p): Declare.
154         (tree_single_nonzero_warnv_p): Declare.
155         (tree_expr_nonzero_warnv_p): Declare.
156         (tree_unary_nonnegative_warnv_p): Declare.
157         (tree_binary_nonnegative_warnv_p): Declare.
158         (tree_single_nonnegative_warnv_p): Declare.
159         (tree_invalid_nonnegative_warnv_p): Declare.
160
161 2008-03-28  Richard Guenther  <rguenther@suse.de>
162
163         PR tree-optimization/30317
164         PR tree-optimization/30911
165         PR tree-optimization/34793
166         * tree-vrp.c (set_and_canonicalize_value_range): New function.
167         (struct assert_locus_d): New member EXPR.
168         (register_new_assert_for): Add EXPR parameter to support
169         ASSERT_EXPR <name, expr OP limit>.
170         (register_edge_assert_for_1): Adjust callers.
171         (find_assert_locations): Likewise.
172         (process_assert_insertions_for): Build condition from expression.
173         (extract_range_from_assert): Handle ASSERT_EXPRs
174         of the form ASSERT_EXPR <name, expr OP limit>.
175         (register_edge_assert_for_2): New helper registering
176         asserts for comparisons.  Recognize range tests of the form
177         (unsigned)i - CST1 OP CST2.
178         (register_edge_assert_for_1): Use it.
179         (register_edge_assert_for): Likewise.
180         (needs_overflow_infinity): Integer sub-types
181         do not need overflow infinities.
182         (vrp_val_is_max): The extreme values of integer sub-types
183         are those of the base type.
184         (vrp_val_is_min): Likewise.
185         * tree.def (ASSERT_EXPR): Document extra allowed conditional
186         expressions.
187
188 2008-03-28  Nick Clifton  <nickc@redhat.com>
189
190         * config/mn10300/mn10300.c (mn10300_secondary_reload_class):
191         Return GENERAL_REGS for stack adjustment reloads.
192
193 2008-03-28  Andrew Pinski  <andrew_pinski@playstation.sony.com>
194
195         PR target/31334
196         * config/rs6000/rs6000.c (rs6000_expand_vector_init): Create a
197         const_vector when all the vectors are constant.
198
199 2008-03-27  Bob Wilson  <bob.wilson@acm.org>
200
201         * config/xtensa/xtensa.c (gen_float_relational): Handle unordered
202         comparisons.
203         * config/xtensa/xtensa.md (any_cond): Add unordered comparisons.
204         (any_scc_sf): Add uneq, unlt, unle and unordered operators.
205         (scc_sf): New.
206         (s<code>_sf): Use new scc_sf attribute for opcode names.
207
208 2008-03-27  Tom Tromey  <tromey@redhat.com>
209
210         * doc/sourcebuild.texi, doc/install.texi, configure, aclocal.m4,
211         configure.ac, Makefile.in, config/t-darwin, config/m32c/t-m32c,
212         config/spu/t-spu-elf, config/i386/t-interix,
213         config/i386/t-cygming, config/i386/x-i386, config/i386/t-cygwin,
214         config/i386/x-darwin, config/i386/x-mingw32,
215         config/i386/t-netware, config/i386/x-cygwin, config/i386/t-nwld,
216         config/sh/t-sh, config/sh/t-symbian, config/x-linux,
217         config/t-sol2, config/x-hpux, config/x-darwin, config/ia64/t-ia64,
218         config/x-solaris, config/t-vxworks, config/m68k/t-uclinux,
219         config/rs6000/x-rs6000, config/rs6000/x-darwin64,
220         config/rs6000/x-darwin, config/rs6000/t-rs6000,
221         config/score/t-score-elf, config/arm/t-strongarm-pe,
222         config/arm/t-pe, config/arm/t-arm, config/arm/t-wince-pe,
223         config/v850/t-v850, config/v850/t-v850e, config/bfin/t-bfin-linux:
224         Revert automatic dependency patch.
225
226 2008-03-27  H.J. Lu  <hongjiu.lu@intel.com>
227
228         PR target/35657
229         * config/i386/i386.c (ix86_function_arg_boundary): Align
230         decimal floating point to its natural boundary.
231
232 2008-03-27  Richard Guenther  <rguenther@suse.de>
233
234         PR middle-end/35716
235         * fold-const.c (fold_comparison): Restrict distinct decl
236         comparison folding to VAR_DECLs and PARM_DECLs.  Do not
237         solely rely on operand_equal_p.
238
239 2008-03-27  Richard Guenther  <rguenther@suse.de>
240
241         PR c/32511
242         * c-common.c (handle_weak_attribute): Reject combination of
243         weak and inline.
244
245 2008-03-27  Richard Guenther  <rguenther@suse.de>
246
247         PR tree-optimization/32810
248         * tree-ssa-ccp.c (get_symbol_constant_value): Strip useless
249         conversions from DECL_INITIAL.
250         (fold_const_aggregate_ref): Likewise from constructor elements.
251
252 2008-03-27  Zdenek Dvorak  <ook@ucw.cz>
253
254         * tree-affine.h (aff_combination_expand): Declare.
255         (get_inner_reference_aff): Likewise.
256         * tree-affine.c (aff_combination_expand): Split out from
257         tree_to_aff_combination_expand.
258         (get_inner_reference_aff): New function.
259         * tree-parloops.c (loop_parallel_p): Free vectorizer info.
260         * tree-ssa-loop-im.c: Include tree-affine.h and pointer-set.h.
261         (struct lim_aux_data): sm_done field removed.
262         (mem_ref_loc_p, mem_ref_locs_p): New types.
263         (struct mem_ref): Added id, stored, accesses_in_loop,
264         indep_loop, dep_loop, indep_ref, dep_ref fields.
265         Removed is_stored, locs and next fields.
266         (memory_accesses): New variable.
267         (movement_possibility): Do not allow moving statements
268         that store to memory.
269         (outermost_indep_loop, simple_mem_ref_in_stmt, mem_ref_in_stmt):
270         New functions.
271         (determine_max_movement): For statements with memory references,
272         find the outermost loop in that the reference is independent.
273         (move_computations_stmt): Mark the virtual operands for renaming.
274         (memref_free, mem_ref_alloc, mem_ref_locs_alloc, mark_ref_stored,
275         gather_mem_refs_stmt, gather_mem_refs_in_loops, vtoe_hash, vtoe_eq,
276         vtoe_free, record_vop_access, get_vop_accesses, get_vop_stores,
277         add_vop_ref_mapping, create_vop_ref_mapping_loop,
278         create_vop_ref_mapping, analyze_memory_references,
279         cannot_overlap_p, mem_refs_may_alias_p, rewrite_mem_ref_loc,
280         get_all_locs_in_loop, ref_always_accessed_p,
281         refs_independent_p, record_indep_loop, ref_indep_loop_p_1,
282         ref_indep_loop_p, can_sm_ref_p, find_refs_for_sm,
283         store_motion_loop, store_motion): New functions.
284         (struct vop_to_refs_elt): New type.
285         (record_mem_ref_loc, free_mem_ref_locs, rewrite_mem_refs,
286         memref_hash, memref_eq, hoist_memory_references): Rewritten.
287         (schedule_sm): Replaced by...
288         (execute_sm): ... this.
289         (determine_lsm_ref, hoist_memory_references,
290         loop_suitable_for_sm, gather_mem_refs_stmt, gather_mem_refs,
291         find_more_ref_vops, free_mem_ref, free_mem_refs,
292         determine_lsm_loop, determine_lsm): Removed.
293         (tree_ssa_lim_finalize): Free data structures used by store motion.
294         (tree_ssa_lim): Call analyze_memory_references.  Use
295         store_motion instead of determine_lsm.
296
297 2008-03-27  Paolo Bonzini  <bonzini@gnu.org>
298
299         * config.cc (m68hc11, m6811, m68hc12, m6812): Add usegas.h,
300         rename tmake_file to m68hc11/t-m68hc11.
301         (mcore): Set inhibit_libc to true.
302         * config.host (alpha*-dec-*vms*): Set extra_programs.
303         (interix3*): Don't use host_xmake_file.
304         * configure.ac: Let config.gcc override inhibit_libc.
305         * configure: Regenerate.
306
307         * config/alpha/x-vms (EXTRA_PROGRAMS): Remove.
308         * config/t-openbsd-thread: Remove commented out lines.
309         
310         * config/x-interix: Remove.
311
312         * config/m68hc11/t-m68hc11-gas: Rename to...
313         * config/m68hc11/t-m68hc11: ... this.  Remove T_CPPFLAGS.
314
315         * config/mcore/t-mcore: Remove T_CFLAGS.
316         * config/mcore/t-mcore-pe: Likewise.
317
318 2008-03-27  Paolo Bonzini  <bonzini@gnu.org>
319
320         * configure.ac: Replace custom __GNU_SOURCE test with
321         AC_USE_SYSTEM_EXTENSIONS.  Move it earlier.
322         * aclocal.m4: Regenerate.
323         * configure: Regenerate.
324         * config.in: Regenerate.
325
326 2008-03-27  Richard Guenther  <rguenther@suse.de>
327
328         * fold-const.c (target.h): Include.
329         (fold_comparison): Fold comparison of addresses of decls
330         that bind locally or of constants.  Consolidate address folding code.
331         * tree-vrp.c (operand_less_p): Deal with non-INTEGER_CST
332         results from fold_binary_to_constant.
333         (compare_values_warnv): Likewise.
334
335 2008-03-27  Andrew Pinski  <pinskia@gmail.com>
336
337         PR middle-end/35429
338         * fold-const.c (fold_truthop): Check for integeral types when folding
339         a == 0 && b == 0 and a != 0 || b != 0 .
340
341 2008-03-26  Eric Botcazou  <ebotcazou@adacore.com>
342
343         * tree.c (get_unwidened): Remove code fiddling with COMPONENT_REF.
344
345 2008-03-26  Andreas Schwab  <schwab@suse.de>
346
347         * doc/invoke.texi: Fix use of @item vs. @itemx.
348
349 2008-03-26  Tom Tromey  <tromey@redhat.com>
350
351         * Makefile.in (build/gensupport.o, build/print-rtl.o,
352         build/read-rtl.o, build/rtl.o, build/gencondmd.o, build/genattr.o,
353         build/genattrtab.o, build/genautomata.o, build/gencheck.o,
354         build/gencodes.o, build/genconditions.o, build/genconfig.o,
355         build/genconstants.o, build/genemit.o, build/genextract.o,
356         build/genflags.o, build/genmddeps.o, build/genopinit.o,
357         build/genoutput.o, build/genpeep.o, build/genrecog.o): Depend on
358         options.h.
359
360 2008-03-26  Richard Guenther  <rguenther@suse.de>
361
362         Revert
363         2008-03-26  Richard Guenther  <rguenther@suse.de>
364
365         * fold-const.c (target.h): Include.
366         (fold_comparison): Fold comparison of addresses of two decls
367         that bind locally.  Consolidate address folding code.
368
369 2008-03-26  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
370
371         * builtins.c (expand_builtin_pow, fold_builtin_cabs,
372         fold_builtin_sqrt, fold_builtin_cbrt, fold_builtin_logarithm,
373         fold_builtin_hypot, fold_builtin_pow): Remove uses of dconst3,
374         dconstsqrt2, dconstthird, dconste and/or dconst10.
375         * config/i386/i386.c (ix86_emit_swsqrtsf): Likewise.
376         * emit-rtl.c (dconst3, dconst10, dconstm2, dconstthird,
377         dconstsqrt2, dconste): Delete.
378         (init_emit_once): Likewise.  Simplify initializing dconstm1.
379         Constify variable.
380         * real.c (get_real_const): New.
381         * real.h (dconst3, dconst10, dconstm2, dconstthird,
382         dconstsqrt2, dconste): Delete.
383         (real_value_const, get_real_const): New.
384
385 2008-03-26  H.J. Lu  <hongjiu.lu@intel.com>
386
387         * config/i386/cygming.h (BIGGEST_ALIGNMENT): Removed.
388
389         * config/i386/i386.c (ix86_function_arg_boundary): Check
390         BIGGEST_ALIGNMENT instead of 128.
391         (setup_incoming_varargs_64): Likewise.
392
393 2008-03-26  Tom Tromey  <tromey@redhat.com>
394
395         * Makefile.in (DEPFILES): Add missing '/'.
396
397 2008-03-26  Richard Guenther  <rguenther@suse.de>
398
399         * fold-const.c (target.h): Include.
400         (fold_comparison): Fold comparison of addresses of two decls
401         that bind locally.  Consolidate address folding code.
402
403 2008-03-26  Nick Clifton  <nickc@redhat.com>
404
405         PR target/31232
406         * config/stormy16/stormy16.c (xstormy16_legitimate_address_p): Do
407         not allow INT+INT as a legitimate addressing mode.
408
409 2008-03-26  Richard Guenther  <rguenther@suse.de>
410
411         * tree-flow.h (widen_bitfield): Remove declaration.
412         * tree-ssa-ccp.c (visit_assignment): Remove unneeded code.
413         (widen_bitfield): Remove function.
414         * tree-ssa-dom.c (record_equivalences_from_stmt): Remove unneeded
415         code.
416
417 2008-03-25  Andrew Pinski  <andrew_pinski@playstation.sony.com>
418
419         PR target/31558
420         * config/rs6000/rs6000-c.c (rs6000_builtin_type_compatible): Handle
421         error_mark_node's.
422
423 2008-03-25  Richard Sandiford  <rsandifo@nildram.co.uk>
424
425         PR rtl-optimization/35232
426         * reload1.c (reg_reloaded_call_part_clobbered): Clarify comment.
427         (forget_old_reloads_1, forget_marked_reloads): Don't clear
428         reg_reloaded_call_part_clobbered here.
429         (reload_regs_reach_end_p): New function.
430         (reload_reg_rtx_for_input): New variable.
431         (reload_reg_rtx_for_output): Likewise.
432         (emit_input_reload_insns): Use reloadreg rather than rl->reg_rtx
433         when reassigning a pseudo register.  Load reloadreg from 
434         reload_reg_rtx_for_input, moving the mode and register
435         calculation to...
436         (do_input_reload): ...here.  Use the mode-adjusted reg_rtx
437         instead of the original when deciding whether an input reload
438         would be a no-op or whether an output reload can be deleted.
439         (emit_output_reload_insns): Use the mode-adjusted reg_rtx
440         when setting up new_spill_reg_store.  Load it from
441         reload_reg_rtx_for_output, moving the mode and register
442         calculation to...
443         (do_output_reload): ...here.  Use the mode-adjusted reg_rtx
444         instead of the original when deciding whether an output reload
445         would be a no-op.  Do the same when modifying insn notes.
446         Use rtx_equal_p instead of == to compare the registers.
447         (inherit_piecemeal_p): Take a mode and two register numbers
448         as argument.
449         (emit_reload_insns): Clear new_spill_reg_store for every hard
450         register in the reload register.  Remove spill registers
451         from reg_reloaded_valid before considering whether to record
452         inheritance information for them.  Use reload_reg_rtx_for_output
453         instead of reg_rtx when recording output reloads.  Use
454         reload_reg_rtx_for_input instead of reg_rtx when recording
455         input reloads.  Set or clear reg_reloaded_call_part_clobbered
456         at the same time as setting reg_reloaded_valid.
457         (delete_output_reload): Add a new_reload_reg parameter and use it
458         instead of rld[j].reg_rtx.
459         (emit_input_reload_insns, do_input_reload, do_output_reload): Adjust
460         calls accordingly.
461
462 2008-03-25  Tom Tromey  <tromey@redhat.com>
463
464         * Makefile.in (build/gensupport.o): Depend on insn-modes.h.
465         (build/genattr.o): Likewise.
466         (build/genattrtab.o): Likewise.
467         (build/gencodes.o): Likewise.
468         (build/genconfig.o): Likewise.
469         (build/genconstants.o): Likewise.
470         (build/genemit.o): Likewise.
471         (build/genextract.o): Likewise.
472         (build/genflags.o): Likewise.
473
474 2008-03-25  Bob Wilson  <bob.wilson@acm.org>
475         
476         * config/xtensa/xtensa.c (xtensa_va_start): Use build_int_cst
477         instead of size_int for integer types.
478         (xtensa_gimplify_va_arg_expr): Likewise.  Convert index to sizetype
479         to match type of MINUS_EXPR.
480         
481 2008-03-25  Tom Tromey  <tromey@redhat.com>
482
483         * configure: Rebuilt.
484         * configure.ac (BUILD_DEPMODE): Extract CCDEPMODE from temporary
485         Makefile.
486
487 2008-03-25  Tom Tromey  <tromey@redhat.com>
488
489         * config/x-solaris (host-solaris.o): Update.
490         * config/x-linux (host-linux.o): Update.
491         * config/x-hpux (host-hpux.o): Update.
492         * config/x-darwin (host-darwin.o): Update.
493         * config/v850/t-v850e (v850-c.o): Update.
494         * config/v850/t-v850 (v850-c.o): Update.
495         * config/t-vxworks (vxworks.o): Update.
496         * config/t-sol2 (sol2-c.o, sol2.o): Update.
497         * config/t-darwin (darwin.o, darwin-c.o, darwin-driver.o): Update.
498         * config/spu/t-spu-elf (spu-c.o): Update.
499         (spu.o): Remove.
500         * config/sh/t-symbian (sh-c.o): Update.
501         (symbian.o): Update.
502         * config/sh/t-sh (sh-c.o): Update.
503         * config/score/t-score-elf (score7.o, score3.o): Update.
504         * config/rs6000/x-rs6000 (driver-rs6000.o): Update.
505         * config/rs6000/x-darwin64 (host-ppc64-darwin.o): Update.
506         * config/rs6000/x-darwin (host-ppc-darwin.o): Update.
507         * config/rs6000/t-rs6000 (rs6000-c.o): Update.
508         (rs6000.o): Remove.
509         * config/m68k/t-uclinux (generated_files): Add sysroot-suffix.h.
510         * config/m32c/t-m32c (m32c-pragma.o): Update.
511         * config/ia64/t-ia64 (ia64-c.o): Update.
512         * config/i386/x-mingw32 (host-mingw32.o): Update.
513         * config/i386/x-i386 (driver-i386.o): Update.
514         * config/i386/x-darwin (host-i386-darwin.o): Update.
515         * config/i386/x-cygwin (host-cygwin.o): Update.
516         * config/i386/t-nwld (nwld.o): Update.
517         * config/i386/t-netware (netware.o): Update.
518         * config/i386/t-interix (winnt.o): Update.
519         * config/i386/t-cygwin (cygwin1.o, cygwin2.o): Update.
520         * config/i386/t-cygming (winnt.o, winnt-cxx.o, winnt-stubs.o,
521         msformat-c.o): Update.
522         * config/bfin/t-bfin-linux (generated_files): Add
523         linux-sysroot-suffix.h.
524         * config/arm/t-wince-pe (pe.o): Update.
525         * config/arm/t-strongarm-pe (pe.o): Update.
526         * config/arm/t-pe (pe.o): Update.
527         * config/arm/t-arm (arm-c.o): Update.
528         * doc/install.texi (Prerequisites): Require make 3.80.
529         * Makefile.in: Remove .o targets.
530         (CCDEPMODE, DEPDIR, depcomp, BUILD_DEPMODE): New variables.
531         (OBSTACK_H, FIBHEAP_H, PARTITION_H, MD5_H, BCONFIG_H): Remove.
532         (simple_generated_h, simple_generated_c): Move earlier.
533         (generated_files): New variable.
534         (TARGET_H, MACHMODE_H, HOOKS_H, HOSTHOOKS_DEF_H, LANGHOOKS_DEF_H,
535         TARGET_DEF_H, RTL_BASE_H, RTL_H, PARAMS_H, BUILTINS_DEF, TREE_H,
536         BASIC_BLOCK_H, GCOV_IO_H, COVERAGE_H, DEMANGLE_H, RECOG_H,
537         ALIAS_H, EMIT_RTL_H, FLAGS_H, FUNCTION_H, EXPR_H, OPTABS_H,
538         REGS_H, RA_H, RESOURCE_H, SCHED_INT_H, INTEGRATE_H, CFGLAYOUT_H,
539         CFGLOOP_H, IPA_UTILS_H, IPA_REFERENCE_H, IPA_TYPE_ESCAPE_H,
540         CGRAPH_H, DF_H, RESOURCE_H, DDG_H, GCC_H, GGC_H, TIMEVAR_H,
541         INSN_ATTR_H, C_COMMON_H, C_PRAGMA_H, C_TREE_H, SYSTEM_H,
542         PREDICT_H, DECNUM_H, MKDEPS_H, SYMTAB_H, TREE_DUMP_H,
543         TREE_GIMPLE_H, TREE_FLOW_H, TREE_SSA_LIVE_H, PRETTY_PRINT_H,
544         DIAGNOSTIC_H, C_PRETTY_PRINT_H, SCEV_H, LAMBDA_H, TREE_DATA_REF_H,
545         VARRAY_H, TREE_INLINE_H, REAL_H, DBGCNT_H, EBIMAP_H): Remove.
546         (.c.o): Remove.
547         (COMPILE.base, COMPILE): New variables.
548         (%.o): New pattern rule.
549         (ALL_HOST_OBJS): New variable.
550         (xgcc$(exeext), cpp$(exeext)): Remove extra version.o.
551         (dummy-checksum.o, cc1-checksum.o): Remove.
552         (DRIVER_SHLIB): New variable.
553         (DRIVER_DEFINES): Use it.
554         (gencondmd.c): Move out of build/.
555         (s-conditions): Update.
556         (BUILDCOMPILE.base, BUILDCOMPILE): New variables.
557         (ALL_BUILD_OBJS): Likewise.
558         (build/%.o): Use BUILDCOMPILE.
559         (build/ggc-none.o, build/ggc-none.o, build/min-insn-modes.o,
560         build/print-rtl.o, build/read-rtl.o, build/rtl.o, build/vec.o,
561         build/gencondmd.o, build/genattrtab.o, build/genautomata.o,
562         build/gencheck.o, build/gencodes.o, build/genconditions.o,
563         build/genconfig.o, build/genconstants.o, build/genemit.o,
564         build/genextract.o, build/genflags.o, build/genmddeps.o,
565         build/genopinit.o, build/genoutput.o, build/genpeep.o,
566         build/genpreds.o, build/genrecog.o, build/gcov-iov.o,
567         build/gen-protos.o, build/scan.o, build/fix-header.o,
568         build/scan-decls.o): Simplify.
569         (collect2.o, c-opts.o, gcc.o, gccspec.o, gcc-options.o,
570         cppdefault.o, protoize.o, unprotoize.o, intl.o, version.o,
571         prefix.o, toplev.o): Reduce to variable setting.
572         (libbackend.o): Use COMPILE.  Remove most dependencies.  Move later.
573         ($(out_object_file), gcc-options.o): New targets.
574         ($(ALL_HOST_OBJS)): New target.  Include dependency files.
575         * configure: Rebuilt.
576         * configure.ac: Call ZW_CREATE_DEPDIR, ZW_PROG_COMPILER_DEPENDENCIES.
577         * doc/sourcebuild.texi (Front End Directory): Document new variable.
578
579 2008-03-25  Douglas Gregor  <doug.gregor@gmail.com>
580
581         * c-common.c (c_sizeof_or_alignof_type): If we're not allowed to
582         complain when we hit an error, return ERROR_MARK_NODE.
583
584 2008-03-25  Naveen.H.S  <naveen.hs@kpitcummins.com>
585
586         * config/sh/constraints.md (Pso, Psz): New constraints.
587         * config/sh/sh.c (print_operand): Add %V and %W operand codes.
588         * config/sh/sh.md (*andsi3_bclr, *iorsi3_bset): New insns.
589
590 2008-03-25  Naveen.H.S  <naveen.hs@kpitcummins.com>
591
592         * config/sh/sh.c (sh_expand_t_scc): Emit movrt for SH2A if possible.
593         * config/sh/sh.md (xorsi3_movrt, movrt): New insns.
594
595 2008-03-25  Naveen.H.S  <naveen.hs@kpitcummins.com>
596
597         * config/sh/sh.md (prefetch): Add condition for SH2A target.
598         (prefetch_sh2a): New.   
599
600 2008-03-25  Jayant Sonar  <Jayant.sonar@kpitcummins.com>
601             Naveen.H.S  <naveen.hs@kpitcummins.com>
602
603         * config/sh/constraints.md (I28): New constraint.
604         * config/sh/sh.c (broken_move): Add support for movi20s.
605         * config/sh/sh.md (movsi_ie): Add the alternative for movi20s.
606
607 2008-03-25  Anil Paranjape  <anil.paranjape@kpitcummins.com>
608             Jayant Sonar  <Jayant.sonar@kpitcummins.com>
609             Naveen.H.S  <naveen.hs@kpitcummins.com>
610
611         * config/sh/sh.c (SH_ATTRIBUTES): Define.
612         (SYMBOL_FLAG_FUNCVEC_FUNCTION): Define.
613         (print_operand): Handle resbank in %@ operand code.
614         (sh_encode_section_info): New.
615         (push_regs): Add conditions for resbank.
616         (sh_expand_epilogue): Likewise.
617         (sh_insert_attributes): Likewise.
618         (sh_attribute_table): Likewise.
619         (sh_handle_resbank_handler_attribute): New.
620         (sh2a_handle_function_vector_handler_attribute): New.
621         (sh2a_is_function_vector_call): New.
622         (sh2a_get_function_vector_number): New.
623         (sh2a_function_vector_p): New.
624         (sh_cfun_resbank_handler_p): New.
625         * config/sh/sh.md (calli): Emit jsr/n if possible.
626         (calli_tbr_rel): New.
627         (calli_pcrel): Emit jsr/n if possible.
628         (return_i): Emit rts/n if possible.
629         (call_valuei_tbr_rel): New.
630         (call_valuei_pcrel): Add condition for SH2A target.
631         (call_value): Likewise.
632         * config/sh/sh-protos.h (sh_cfun_resbank_handler_p): Declare.
633         (sh2a_get_function_vector_number): Likewise.
634         (sh2a_is_function_vector_call): Likewise.
635         * doc/extend.texi: Document TBR relative addressing of SH2A.
636         (resbank): Add description for SH2A.
637
638 2008-03-24  Richard Guenther  <rguenther@suse.de>
639
640         PR c/22371
641         * gimplify.c (gimplify_modify_expr): For frontend type-correct
642         pointer assignments change conversions according to middle-end rules.
643         (gimplify_modify_expr_rhs): Deal with NULL TARGET_EXPR_INITIAL.
644         * configure.ac: Include type checking in yes.
645         * configure: Regenerate.
646
647 2008-03-24  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
648
649         * diagnostic.c (diagnostic_count_diagnostic): Delete.
650         (diagnostic_report_diagnostic): Update. Handle ICEs here.
651         
652 2008-03-24  Nathan Sidwell  <nathan@codesourcery.com>
653
654         * gthr-vxworks.h (UNUSED): Define.
655
656 2008-03-23  H.J. Lu  <hongjiu.lu@intel.com>
657
658         * config/i386/i386.h (STATIC_CHAIN_REGNUM): Use R10_REG and CX_REG.
659
660 2008-03-23  Zuxy Meng <zuxy.meng@gmail.com>
661
662         * doc/extend.texi (Function Attributes): Add missing comma in the
663         example of the "alloc_size" attribute.
664         
665 2008-03-23  Uros Bizjak  <ubizjak@gmail.com>
666
667         Revert:
668         2008-03-05  H.J. Lu  <hongjiu.lu@intel.com>
669
670         * config/i386/i386-modes.def: Use 4 byte alignment on DI for
671         32bit host.
672
673         2008-03-19  Uros Bizjak  <ubizjak@gmail.com>
674
675         PR target/35496
676         * stor-layout.c (update_alignment_for_field): Set minimum alignment
677         of the underlying type of a MS bitfield layout to the natural
678         alignment of the type.
679
680         2008-03-22  Uros Bizjak  <ubizjak@gmail.com>
681
682         * config/i386/i386.c (assign_386_stack_local): Align DImode slots
683         to their natural alignment to avoid store forwarding stalls.
684
685 2008-03-22  Richard Guenther  <rguenther@suse.de>
686
687         * tree-cfg.c (verify_expr): Recurse again for invariant addresses.
688         For PHI nodes verify the address is invariant.
689         * tree-ssa-ccp.c (ccp_decl_initial_min_invariant): Remove.
690         (get_symbol_constant_value): Use is_gimple_min_invariant.
691         (maybe_fold_stmt_indirect): Likewise.
692
693 2008-03-22  Richard Sandiford  <rsandifo@nildram.co.uk>
694
695         PR rtl-optimization/33927
696         * Makefile.in (dse.o): Depend on $(TM_P_H).
697         * expr.h (extract_low_bits): Declare.
698         * expmed.c (extract_low_bits): New function.
699         * rtlhooks.c (gen_lowpart_general): Generalize SUBREG handling.
700         * dse.c: Include tm_p.h.
701         (find_shift_sequence): Remove the read_reg argument and return the
702         read value.  Emit the instructions instead of returning them.
703         Iterate on new_mode rather than calculating it each time.
704         Check MODES_TIEABLE_P.  Use simplify_gen_subreg to convert the
705         source to NEW_MODE and extract_low_bits to convert the shifted
706         value to READ_MODE.
707         (replace_read): Allow the load and store to have different mode
708         classes.  Use extract_low_bits when SHIFT == 0.  Create the shift
709         or extraction instructions before trying the replacement.  Update
710         dump-file code accordingly, avoiding use of REGNO (store_info->rhs).
711
712 2008-03-22  Uros Bizjak  <ubizjak@gmail.com>
713
714         * config/i386/i386.c (assign_386_stack_local): Align DImode slots
715         to their natural alignment to avoid store forwarding stalls.
716
717 2008-03-21  Andrew Pinski  <andrew_pinski@playstation.sony.com>
718
719         PR target/27946
720         * config/rs6000/rs6000.md (floatdidf2): Discouraging fprs and
721         encouraging but not allowing gprs for input;
722         change the input constraint to !f#r.
723         (fix_truncdfdi2): Discouraging fprs and encouraging but not allowing
724         gprs for output;
725         change the output constraint to !f#r.
726
727 2008-03-21  Uros Bizjak  <ubizjak@gmail.com>
728
729         PR target/13958
730         * config/i386/i386.md ("*floatunssi<mode2>_1"): New pattern with
731         corresponding post-reload splitters.
732         ("floatunssi<mode>2"): Expand to unsigned_float x87 insn pattern
733         when x87 FP math is selected.
734         * config/i386/i386-protos.h (ix86_expand_convert_uns_sixf_sse):
735         New function prototype.
736         * config/i386/i386.c (ix86_expand_convert_uns_sixf_sse): New
737         unreachable function to ease macroization of insn patterns.
738
739 2008-03-21  Martin Jambor  <mjambor@suse.cz>
740
741         * tree-data-ref.c (dump_data_dependence_relation): Avoid data
742         reference dumps if ddr is NULL or dependence is unknown.
743
744 2008-03-20  Kaz Kojima  <kkojima@gcc.gnu.org>
745
746         * config/sh/linux-atomic.asm (ATOMIC_TEST_AND_SET): Take
747         unsigned extension into account.
748         (ATOMIC_COMPARE_AND_SWAP): Likewise.
749         (ATOMIC_FETCH_AND_OP, ATOMIC_FETCH_AND_COMBOP): Likewise.
750         Do computations on a scratch register.
751
752 2008-03-21  Richard Guenther  <rguenther@suse.de>
753
754         * tree-scalar-evolution.c (chrec_contains_symbols_defined_in_loop):
755         Use is_gimple_min_invariant instead of TREE_INVARIANT.
756         * tree-ssa-loop-ivopts.c (force_expr_to_var_cost): Likewise.
757         * tree-ssa-dom.c (record_equality): Likewise.
758         * tree-inline.c (copy_body_r): Likewise.
759         * tree-ssa-pre.c (make_values_for_stmt): Remove test for
760         TREE_INVARIANT.
761
762 2008-03-20  Kaz Kojima  <kkojima@gcc.gnu.org>
763
764         * config/sh/sh.c (split_branches): Pass zero to redirect_jump
765         as 'delete_unused' argument.
766
767 2008-03-20  Richard Guenther  <rguenther@suse.de>
768
769         * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Remove
770         special casing of constant qualifiers.
771         * tree-ssa.c (useless_type_conversion_p_1): Instead do not
772         care about them in general.
773         * tree-ssa-ccp.c (ccp_fold): Addresses are constant or not
774         regardless of their type.
775         (fold_stmt_r): Forcefully fold *& if we end up with that.
776
777 2008-03-20  Paul Brook  <paul@codesourcery.com>
778
779         * config.gcc (arm*-*-uclinux*): Remove duplicate arm/uclinux-elf.h.
780         * config/arm/uclinux-eabi.h (SUBTARGET_EXTRA_LINK_SPEC): Add extra
781         linker flags.
782         * config/arm/bpabi.h (SUBTARGET_EXTRA_LINK_SPEC): Provide default
783         definition.
784         (LINK_SPEC): Use SUBTARGET_EXTRA_LINK_SPEC.
785         * config/arm/unwind-arm.h (_Unwind_decode_target2): Add uClinux.
786
787 2008-03-20  Volker Reichelt  <v.reichelt@netcologne.de>
788
789         * common.opt (Wmudflap): New option.
790         * tree-mudflap.c (mf_xform_derefs_1): Guard warning by OPT_Wmudflap.
791         (mx_register_decls): Likewise.
792         (mudflap_finish_file): Likewise.
793         * doc/invoke.texi: Document -Wno-mudflap.
794
795 2008-03-20  Kai Tietz  <kai.tietz@onevision.com>
796
797         * c-format.c (replace_format_name_to_system_name): New.
798         (cmp_attribs): New.
799         (convert_format_name_to_system_name): New.
800         (decode_format_attr): Add use of convert_format_name_to_system_name.
801         (format_types_orig): Add gnu_ prefix to names.
802         (check_format_info_main): Special treating of \0 escaped names for
803         supporting multi-character format specifiers as I32, I64.
804         (TARGET_OVERRIDES_FORMAT_ATTRIBUTES): Use of user defined attributes.
805         (gnu_target_overrides_format_attributes): New.
806         * c-format.h: Add structure target_ovr_attr to hold
807         system specific formatter names.
808         * config.gcc: Add for x86&x86_64 cygwin and mingw32 targets the
809         msformat-c.o file to c_target_objs and cxx_target_objs.
810         * config/i386/mingw32.h (TARGET_OVERRIDES_FORMAT_ATTRIBUTES): New.
811         (TARGET_OVERRIDES_FORMAT_ATTRIBUTES_COUNT): New.
812         (TARGET_N_FORMAT_TYPES): New.
813         * config/i386/msformat-c.c: New.
814         * config/i386/t-cygming: Add build rule for msformat-c.o.
815         * doc/extend.texi: Add new format names gnu_* and ms_* and
816         further details.
817         * doc/tm.texi: (TARGET_OVERRIDES_FORMAT_ATTRIBUTES): New.
818
819 2008-03-20  Ira Rosen  <irar@il.ibm.com>
820
821         * doc/invoke.texi (-O3): Add -ftree-vectorize to the list of
822         optimizations turned on under -O3.
823         (ftree-vectorize): Add that the flag is turned on with -O3.
824
825 2008-03-20  Ben Elliston  <bje@au.ibm.com>
826
827         * regmove.c (try_auto_increment): Fix spelling error in comment.
828         * final.c (final_scan_insn): Likewise.
829
830 2008-03-20  Uros Bizjak  <ubizjak@gmail.com>
831
832         PR target/14552
833         * config/i386/mmx.md (*mov<mode>_internal_rex64"): Adjust register
834         allocator preferences for "y" and "r" class registers.
835         ("*mov<mode>_internal"): Ditto.
836         ("*movv2sf_internal_rex64"): Ditto.
837         ("*movv2sf_internal"): Ditto.
838
839 2008-03-19  Michael Matz  <matz@suse.de>
840
841         PR middle-end/35616
842         * calls.c (expand_call): Check overlap of arguments with call
843         address for sibcalls.
844
845 2008-03-19  Uros Bizjak  <ubizjak@gmail.com>
846
847         PR target/35496
848         * stor-layout.c (update_alignment_for_field): Set minimum alignment
849         of the underlying type of a MS bitfield layout to the natural
850         alignment of the type.
851
852 2008-03-19  Jan Hubicka  <jh@suse.cz>
853
854         PR other/35094
855         * toplev.c (decode_d_option): Handle all CPP flags.
856         * tree-vrp.c: Update tree_pass descriptors.
857         * regrename.c: Update tree_pass descriptors.
858         * fwprop.c: Update tree_pass descriptors.
859         * doc/invoke.texi: Remove documentation of dropped -d? flags.
860         * tree-into-ssa.c: Update tree_pass descriptors.
861         * tree-dump.c: Update tree_pass descriptors.
862         * tree-complex.c: Update tree_pass descriptors.
863         * tree-dump.h: Update tree_pass descriptors.
864         * see.c: Update tree_pass descriptors.
865         * cgraphbuild.c: Update tree_pass descriptors.
866         * tracer.c: Update tree_pass descriptors.
867         * tree-loop-distribution.c: Update tree_pass descriptors.
868         * cgraph.c: Update tree_pass descriptors.
869         * postreload-gcse.c: Update tree_pass descriptors.
870         * postreload.c: Update tree_pass descriptors.
871         * tree-ssa-loop-ch.c: Update tree_pass descriptors.
872         * tree-tailcall.c: Update tree_pass descriptors.
873         * tree-pass.h (tree_opt_pass): Rename to ...
874         (opt_pass) ... this one; add "type" field and remove letter field.
875         (gimple_opt_pass, rtl_opt_pass, simple_ipa_opt_pass): New.
876         (execute_pass_list, execute_ipa_pass_list, all_passes, all_ipa_passes,
877         all_lowering_passes): Update declaration.
878         * ipa-cp.c: Update tree_pass descriptors.
879         * final.c: Update tree_pass descriptors.
880         * omp-low.c: Update tree_pass descriptors.
881         * tree-ssa-dse.c: Update tree_pass descriptors.
882         * ipa-reference.c: Update tree_pass descriptors.
883         * tree-ssa-uncprop.c: Update tree_pass descriptors.
884         * auto-inc-dec.c: Update tree_pass descriptors.
885         * reorg.c: Update tree_pass descriptors.
886         * cgraphunit.c: Update tree_pass descriptors.
887         * tree-ssa-copyrename.c: Update tree_pass descriptors.
888         * tree-ssa-ccp.c: Update tree_pass descriptors.
889         * df-core.c: Update tree_pass descriptors.
890         * mode-switching.c: Update tree_pass descriptors.
891         * tree-nomudflap.c: Update tree_pass descriptors.
892         * modulo-sched.c: Update tree_pass descriptors.
893         * ipa-pure-const.c: Update tree_pass descriptors.
894         * cse.c: Update tree_pass descriptors.
895         * web.c: Update tree_pass descriptors.
896         * tree-stdarg.c: Update tree_pass descriptors.
897         * tree-ssa-math-opts.c: Update tree_pass descriptors.
898         * tree-ssa-dom.c: Update tree_pass descriptors.
899         * tree-nrv.c: Update tree_pass descriptors.
900         * tree-ssa-alias.c: Update tree_pass descriptors.
901         * loop-init.c: Update tree_pass descriptors.
902         * gimple-low.c: Update tree_pass descriptors.
903         * ipa-inline.c: Update tree_pass descriptors.
904         * tree-ssa-sink.c: Update tree_pass descriptors.
905         * global.c: Update tree_pass descriptors.
906         * ifcvt.c: Update tree_pass descriptors.
907         * jump.c: Update tree_pass descriptors.
908         * predict.c: Update tree_pass descriptors.
909         * tree-ssa-loop.c: Update tree_pass descriptors.
910         * recog.c: Update tree_pass descriptors.
911         * dse.c: Update tree_pass descriptors.
912         * tree-ssa-ifcombine.c: Update tree_pass descriptors.
913         * tree-eh.c: Update tree_pass descriptors.
914         * regmove.c: Update tree_pass descriptors.
915         * local-alloc.c
916         * function.c: Update tree_pass descriptors.
917         * tree-vectorizer.c: Update tree_pass descriptors.
918         * gcse.c: Update tree_pass descriptors.
919         * ipa-type-escape.c: Update tree_pass descriptors.
920         * tree-if-conv.c: Update tree_pass descriptors.
921         * init-regs.c: Update tree_pass descriptors.
922         * ipa.c: Update tree_pass descriptors.
923         * tree-ssa-phiopt.c: Update tree_pass descriptors.
924         * rtl-factoring.c: Update tree_pass descriptors.
925         * lower-subreg.c: Update tree_pass descriptors.
926         * bt-load.c: Update tree_pass descriptors.
927         * tree-dfa.c: Update tree_pass descriptors.
928         * except.c: Update tree_pass descriptors.
929         * emit-rtl.c: Update tree_pass descriptors.
930         * cfgexpand.c: Update tree_pass descriptors.
931         * tree-cfgcleanup.c: Update tree_pass descriptors.
932         * cfgcleanup.c: Update tree_pass descriptors.
933         * tree-ssa-pre.c: Update tree_pass descriptors.
934         * tree-sra.c: Update tree_pass descriptors.
935         * tree-mudflap.c: Update tree_pass descriptors.
936         * tree-ssa-copy.c: Update tree_pass descriptors.
937         * cfglayout.c: Update tree_pass descriptors.
938         * tree-ssa-forwprop.c: Update tree_pass descriptors.
939         * tree-ssa-dce.c: Update tree_pass descriptors.
940         * tree-ssa.c: Update tree_pass descriptors.
941         * regclass.c: Update tree_pass descriptors.
942         * integrate.c: Update tree_pass descriptors.
943         * tree-optimize.c: Update tree_pass descriptors.
944         * tree-ssa-phiprop.c: Update tree_pass descriptors.
945         * tree-object-size.c: Update tree_pass descriptors.
946         * combine.c: Update tree_pass descriptors.
947         * tree-outof-ssa.c: Update tree_pass descriptors.
948         * bb-reorder.c: Update tree_pass descriptors.
949         * stack-ptr-mod.c: Update tree_pass descriptors.
950         * var-tracking.c: Update tree_pass descriptors.
951         * tree-profile.c: Update tree_pass descriptors.
952         * tree-vect-generic.c: Update tree_pass descriptors.
953         * reg-stack.c: Update tree_pass descriptors.
954         * sched-rgn.c: Update tree_pass descriptors.
955         * tree-ssa-structalias.c: Update tree_pass descriptors.
956         * tree-cfg.c: Update tree_pass descriptors.
957         * passes.c (current_pass): Update declaration.
958         (finish_optimization_passes): Update.
959         (all_passes, all_ipa_passes, all_lowering_passes): Update declaration.
960         (register_one_dump_file, register_dump_files_1, next_pass_1):
961         Update arguments.
962         (init_optimization_passes): Update handling of new types.
963         (execute_one_pass, execute_pass_list, execute_ipa_pass_list): Update.
964         * ipa-struct-reorg.c: Update tree_pass descriptors.
965         * tree-ssa-reassoc.c: Update tree_pass descriptors.
966         * combine-stack-adj.c: Update tree_pass descriptors.
967         * cfgrtl.c: Update tree_pass descriptors.
968         * dce.c: Update tree_pass descriptors.
969         * tree-ssanames.c: Update tree_pass descriptors.
970
971 2008-03-19  Richard Guenther  <rguenther@suse.de>
972
973         PR middle-end/35609
974         * tree-ssa.c (walk_data): New structure.
975         (warn_uninitialized_var): If not always_executed warn with "maybe"
976         instead of "is".
977         (execute_early_warn_uninitialized): Compute post-dominators.
978         Initialize always_executed before processing each basic block.
979
980 2008-03-18  Mikulas Patocka  <mikulas@artax.karlin.mff.cuni.cz>
981
982         PR target/35504
983         * config/i386/i386.c (x86_this_parameter): Calculate correct location
984         of "this" pointer when "regparm = N" or "fastcall" is in effect.
985
986 2008-03-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
987
988         * doc/include/texinfo.tex: Update to version 2008-03-17.10.
989
990 2008-03-18  Paolo Bonzini  <bonzini@gnu.org>
991
992         * expr.c (store_expr): Assume lang_hooks.reduce_bit_field_operations
993         is true.
994         (expand_expr_real_1) <REDUCE_BIT_FIELD>: Don't look at ignore.
995         (expand_expr_real_1): Assume lang_hooks.reduce_bit_field_operations
996         is true.  Add "&& !ignore" condition to reduce_bit_field.  Modify
997         target after ignore has been set, and move there also the commputation
998         of subtarget and original_target.
999         * langhooks-def.h (LANG_HOOKS_REDUCE_BIT_FIELD_OPERATIONS): Delete.
1000         (LANG_HOOKS_INITIALIZER): Remove it.
1001         * langhooks.h (struct lang_hooks): Remove reduce_bit_field_operations.
1002
1003 2008-03-18  Richard Guenther  <rguenther@suse.de>
1004
1005         * tree-ssa-sccvn.c (visit_reference_op_load): If the lookup
1006         found an expression with constants, note that in the VN for the lhs.
1007         * tree-ssa-pre.c (eliminate): Visit COND_EXPR statements and
1008         fold them to constants if possible.  Run cleanup_cfg if done so.
1009         (execute_pre): Return todo.
1010         (do_pre): Likewise.
1011         (execute_fre): Likewise.
1012         * tree-ssa-forwprop.c (can_propagate_from): Allow propagation
1013         of constants.
1014         (get_prop_source_stmt): Look through pointer conversions.
1015
1016 2008-03-18  Jan Hubicka  <jh@suse.cz>
1017
1018         * tree-pretty-print.c: Include predict.h.
1019         (dump_generic_node): Dump predictor.
1020         * tree.h (PREDICT_EXPR_OUTCOME, PREDICT_EXPR_PREDICTION): Update.
1021         * tree-gimple.c (is_gimple_stmt): Add PREDICT_EXPR.
1022         * gimple-low.c (lower_stmt): Likewise.
1023         * expr.c (expand_expr_real): Likewise.
1024         * predict.c (tree_bb_level_predictions): Use PREDICT_EXPRs and remove
1025         them.
1026         (build_predict_expr, build_predict_expr): New.
1027         * predict.h (predictor_name, build_predict_expr): Update.
1028         * c-typeck.c (c_finish_bc_stmt): Add prediction.
1029         * gimplify.c (gimplify_expr): Add PREDICT_EXPR.
1030         * predict.def (PRED_CONTINUE): Update hitrate.
1031         * tree.def (PREDICT_EXPR): Define.
1032         * tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Mark PREDICT_EXPR;
1033         do not handle BIND_EXPR.
1034         * tree-inline.c (estimate_num_insns_1): PREDICT_EXPR is free.
1035         * tree-cfg.c (verify_gimple_stmt): PREDICT_EXPR is valid.
1036         * tree-ssa-operands.c (get_expr_operands): PREDICT_EXPR takes no
1037         operands.
1038
1039 2008-03-18  Michael Matz  <matz@suse.de>
1040
1041         * gcov-io.h (__gcov_merge_ior, __gcov_fork): Mark hidden.
1042
1043 2008-03-18  Richard Guenther  <rguenther@suse.de>
1044
1045         * tree-gimple.h (is_gimple_invariant_address): Declare.
1046         (is_gimple_constant): Likewise.
1047         * tree-gimple.c (is_gimple_constant): New function.
1048         (is_gimple_invariant_address): Likewise.
1049         (is_gimple_min_invariant): Implement in terms of is_gimple_constant
1050         and is_gimple_invariant_address.
1051         * tree-ssa-loop-niter.c (expand_simple_operations): Revert
1052         previous change.
1053         * tree-data-ref.c (get_references_in_stmt): A SSA_NAME is not
1054         an addressable base.
1055
1056 2008-03-18  Jakub Jelinek  <jakub@redhat.com>
1057
1058         PR middle-end/35611
1059         * gimplify.c (gimplify_expr): Gimplify second operand of
1060         OMP_ATOMIC_LOAD.
1061
1062 2008-03-17  Richard Guenther  <rguenther@suse.de>
1063
1064         PR tree-optimization/19637
1065         * fold-const.c (fold_unary): Remove restrictions of removing
1066         intermediate pointer-conversions (P2)(P1)P0.
1067         * tree-ssa-ccp.c (maybe_fold_stmt_addition): Recover from
1068         conversion to void pointer.
1069         (get_maxval_strlen): Handle addresses of the form &(*p)[0].
1070
1071 2008-03-16  James E. Wilson  <wilson@tuliptree.org>
1072
1073         PR debug/31510
1074         * dbxout.c (dbxout_expand_expr, case VAR_DECL): Return NULL for
1075         emulated thread local variables.
1076
1077 2008-03-16  Richard Guenther  <rguenther@suse.de>
1078
1079         PR middle-end/35607
1080         * tree-ssa-loop-niter.c (expand_simple_operations): Do not
1081         expand TREE_INVARIANT operations that are not gimple invariant.
1082
1083 2008-03-16  Hans-Peter Nilsson  <hp@axis.com>
1084
1085         * doc/extend.texi (Alignment): Say that the ABI controls
1086         the __alignof__ for non-strict-alignment targets rather
1087         than being a recommendation.
1088
1089 2008-03-15  Paul Brook  <paul@codesourcery.com>
1090
1091         * config/arm/arm.c (arm_unwind_emit): Suppress unused unwinding
1092         annotations.
1093         (arm_output_fn_unwind): Mark functions that can not be unwound.
1094
1095 2008-03-15  Paul Brook  <paul@codesourcery.com>
1096
1097         * config/arm/arm.c (arm_rtx_costs_1): Add costs for ARMv6 value
1098         extension instructions.
1099
1100 2008-03-15  Richard Guenther  <rguenther@suse.de>
1101
1102         * tree-ssa-ccp.c (ccp_fold): Also read from constant values
1103         and fold constant aggregate refs.
1104         (fold_const_aggregate_ref): Handle string constants
1105         and constructors in ARRAY_REFs.  Handle INDIRECT_REF.
1106         (evaluate_stmt): Simplify now that ccp_fold folds constant
1107         aggregate refs.
1108
1109 2008-03-15  Paul Brook  <paul@codesourcery.com>
1110
1111         * config/arm/arm.md (insv): Use gen_insv_t2 and gen_insv_zero.
1112         (extzv): Use gen_extzv_t2.
1113         (insv_t2, insv_zero, extv, extzv_t2): New patterns.
1114
1115 2008-03-15  Richard Guenther  <rguenther@suse.de>
1116
1117         * tree-ssa-ccp.c (get_symbol_constant_value): Export.
1118         (fold_const_aggregate_ref): Likewise.
1119         (get_value): Return NULL if we don't have any values.
1120         (ccp_finalize): Set const_val to NULL after freeing it.
1121         * tree-flow.h (get_symbol_constant_value): Declare.
1122         (fold_const_aggregate_ref): Likewise.
1123         * tree-ssa-sccvn.c (try_to_simplify): Use them.
1124
1125 2008-03-15  Richard Guenther  <rguenther@suse.de>
1126
1127         PR middle-end/35593
1128         * tree-ssa-ccp.c (maybe_fold_offset_to_array_ref): Make sure
1129         to not produce negative array indices if not allowed.  Add
1130         parameter to indicate that.
1131         (maybe_fold_offset_to_component_ref): Allow negative array
1132         indices only for the first member of a structure.
1133         (maybe_fold_offset_to_reference): Allow negative array indices.
1134         (maybe_fold_stmt_addition): Likewise.
1135
1136 2008-03-15  Bjoern Haase  <bjoern.m.haase@web.de>
1137             Anatoly Sokolov <aesok@post.ru>
1138
1139         * gcc/gcc/config/avr/avr.c (avr_arch_types): Add avr6 entry.
1140         (avr_arch): Add ARCH_AVR6.
1141         (avr_mcu_types): Add 'atmega2560' and 'atmega2561' entry.
1142         (initial_elimination_offset): Initialize and use 'avr_pc_size' 
1143         instead of fixed value 2.
1144         (print_operand_address): Use gs() asm specifier instead of pm().
1145         (avr_assemble_integer): (Ditto.).
1146         (avr_output_addr_vec_elt): (Ditto.).
1147         (print_operand): Handle "!" code.
1148         * gcc/gcc/config/avr/avr.h (TARGET_CPU_CPP_BUILTINS): Add 
1149         __AVR_3_BYTE_PC__, __AVR_2_BYTE_PC__ and __AVR_HAVE_JMP_CALL__.
1150         (AVR_HAVE_EIJMP_EICALL): Define.
1151         (AVR_3_BYTE_PC): Redefine.
1152         (AVR_2_BYTE_PC): (Ditto.).
1153         (PRINT_OPERAND_PUNCT_VALID_P): Add '!' code.
1154         (LINK_SPEC): Add atmega2560 and atmega2561.
1155         (CRT_BINUTILS_SPEC): Add atmega2560 (crtm2560.o) and atmega2561 
1156         (crtm2561.o).
1157         * gcc/gcc/config/avr/avr.md (call_insn): Use eicall instead of icall 
1158         for 3 byte PC devices.
1159         (call_value_insn): (Ditto.).
1160         (*tablejump_enh): Use eijmp instead of ijmp for 3 byte PC devices.
1161         (indirect_jump): Use only for for 2 byte PC devices.
1162         (*tablejump): (Ditto.).
1163         (*indirect_jump_avr6): Add insn.
1164         (*tablejump_rjmp): Don't use for 3 byte PC devices.
1165         * gcc/gcc/config/avr/libgcc.S (__prologue_saves__): Use eijmp 
1166         instead of ijmp for 3 byte PC devices.
1167         (__tablejump2__): (Ditto.).
1168         * gcc/gcc/config/avr/t-avr (MULITLIB_OPTIONS): Add avr6 architecture.
1169         (MULITLIB_DIRNAMES): (Ditto.). 
1170         (MULTILIB_MATCHES): Add atmega2560 and atmega2561 to list.
1171
1172 2008-03-15  Uros Bizjak  <ubizjak@gmail.com>
1173
1174         * config/i386/mmx.md ("sse2_umulv1siv2di3"): Rename from
1175         "sse2_umulsidi3".  Use V1DI mode for operand 0.
1176         ("mmx_psadbw"): Use V1DI mode for operand 0.
1177         * config/i386/i386-modes.def (V1SI): New vector mode.
1178         * config/i386/i386.c (struct builtin_description)
1179         [IX86_BUILTIN_PMULUDQ]: Use CODE_FOR_sse2_umulv1siv1di3.
1180         (v1di_ftype_v8qi_v8qi): Rename from di_ftype_v8qi_v8qi.
1181         (v1di_ftype_v2si_v2si): Rename from di_ftype_v2si_v2si.
1182         (ix86_init_mmx_sse_builtins) [__builtin_ia32_psadbw]: Use
1183         v1di_ftype_v8qi_v8qi type.
1184         [__builtin_ia32_pmuludq]: Use v1di_ftype_v2si_v2si type.
1185
1186         * doc/extend.texi (X86 Built-in Functions) [__builtin_ia32_psadbw,
1187         __builtin_ia32_pmuludq]: Fix the mode of return value.
1188
1189 2008-03-15  Richard Guenther  <rguenther@suse.de>
1190
1191         PR middle-end/35595
1192         * tree-ssa-pre.c (bitmap_find_leader): Handle expression
1193         being a PHI_NODE.
1194
1195 2008-03-14  Bob Wilson  <bob.wilson@acm.org>
1196         
1197         * doc/invoke.texi (Option Summary, Xtensa Options): Document
1198         -mserialize-volatile and -mno-serialize-volatile Xtensa options.
1199         * config/xtensa/xtensa.c (print_operand): Do not emit MEMW instructions
1200         unless TARGET_SERIALIZE_VOLATILE is enabled.
1201         * config/xtensa/xtensa.md (*lsiu, *ssiu): Likewise.
1202         * config/xtensa/xtensa.h (TARGET_DEFAULT): Add MASK_SERIALIZE_VOLATILE.
1203         * config/xtensa/xtensa.opt (mserialize_volatile): New option.
1204
1205 2008-03-14  Richard Guenther  <rguenther@suse.de>
1206
1207         PR tree-optimization/34172
1208         * tree-flow.h (refs_may_alias_p): Declare.
1209         (get_single_def_stmt): Likewise.
1210         (get_single_def_stmt_from_phi): Likewise.
1211         (get_single_def_stmt_with_phi): Likewise.
1212         * tree-dfa.c (refs_may_alias_p): New function.
1213         (get_single_def_stmt): Likewise.
1214         (get_single_def_stmt_from_phi): Likewise.
1215         (get_single_def_stmt_with_phi): Likewise.
1216         * tree-ssa-sccvn.c (get_def_ref_stmt_vuses): New function.
1217         (vn_reference_lookup_1): New helper function.
1218         (vn_reference_lookup): Walk the virtual use-def chain to
1219         continue searching for a match if the def does not alias the
1220         reference we are looking for.
1221
1222 2008-03-14  David Edelsohn  <edelsohn@gnu.org>
1223
1224         * doc/install.texi (Binaries): Remove UCLA archive.  Add HVCC
1225         archive and Perzl.  Update The Written Word listing.
1226
1227 2008-03-14  Richard Guenther  <rguenther@suse.de>
1228
1229         PR tree-optimization/34043
1230         PR tree-optimization/33989
1231         * tree-ssa-pre.c (execute_pre): Allow SCCVN to do insertion
1232         when doing FRE.
1233         (bitmap_find_leader): Use extra argument to verify dominance
1234         relationship inside a basic-block.
1235         (can_PRE_operation): Add VIEW_CONVERT_EXPR.
1236         (find_leader_in_sets): Adjust.
1237         (create_component_ref_by_pieces): Take extra argument for
1238         dominance check, handle lookup failures.
1239         (find_or_generate_expression): Likewise.
1240         (create_expression_by_pieces): Likewise.
1241         (insert_into_preds_of_block): Adjust.
1242         (create_value_expr_from): If asked for, verify all operands
1243         are in the blocks AVAIL_OUT set.
1244         (make_values_for_stmt): Check for SSA_NAMEs that are life
1245         over an abnormal edge.
1246         (compute_avail): Remove such check.
1247         (do_SCCVN_insertion): New function.
1248         (eliminate): If we do not find a leader suitable for replacement
1249         insert a replacement expression from SCCVN if available.
1250         * tree-ssa-sccvn.h (run_scc_vn): Update prototype.
1251         (struct vn_ssa_aux): Add needs_insertion flag.
1252         * tree-ssa-sccvn.c (may_insert): New global flag.
1253         (copy_reference_ops_from_ref): Value-number union member access
1254         based on its size, not type and member if insertion is allowed.
1255         (visit_reference_op_load): For a weak match from union type
1256         punning lookup a view-converted value and insert a SSA_NAME
1257         for that value if that is not found.
1258         (visit_use): Make dumps shorter.  Do not disallow value numbering
1259         SSA_NAMEs that are life over an abnormal edge to constants.
1260         (free_scc_vn): Release inserted SSA_NAMEs.
1261         (run_scc_vn): New flag to specify whether insertion is allowed.
1262         Process SSA_NAMEs in forward order.
1263         * tree-ssa-loop-im.c (for_each_index): Handle invariant
1264         ADDR_EXPRs inside VIEW_CONVERT_EXPR.
1265         * fold-const.c (fold_unary): Fold VIEW_CONVERT_EXPRs from/to
1266         pointer type to/from integral types that do not change the
1267         precision to regular conversions.
1268
1269 2008-03-13  Uros Bizjak  <ubizjak@gmail.com>
1270
1271         * doc/extend.texi (X86 Built-in Functions) [__builtin_ia32_psll?,
1272         __builtin_ia32_psrl?, __builtin_ia32_psra?, __builtin_ia32_psll?i,
1273         __builtin_ia32_psrl?i, __builtin_ia32_psra?i, __builtin_ia32_psll?128,
1274         __builtin_ia32_psrl?128, __builtin_ia32_psra?128]: Fix the mode of
1275         input arguments and the mode of return value.  Built-in functions
1276         that operate on whole 64-bit MMX register now use V1DI mode.
1277
1278 2008-03-13  Alon Dayan  <alond@il.ibm.com>
1279             Olga Golovanevsky  <olga@il.ibm.com>
1280
1281         PR tree-optimization/35041
1282         * ipa-struct-reorg.c (find_pos_in_stmt_1): Add another option
1283         to locate the right position in a statement.
1284
1285 2008-03-13  Uros Bizjak  <ubizjak@gmail.com>
1286
1287         PR target/34000
1288         PR target/35553
1289         * config/i386/xmmintrin.h:  Change all static inline functions to
1290         extern inline and add __gnu_inline__ attribute.
1291         * config/i386/bmintrin.h: Ditto.
1292         * config/i386/smmintrin.h: Ditto.
1293         * config/i386/tmmintrin.h: Ditto.
1294         * config/i386/mmintrin-common.h: Ditto.
1295         * config/i386/ammintrin.h: Ditto.
1296         * config/i386/emmintrin.h: Ditto.
1297         * config/i386/pmmintrin.h: Ditto.
1298         * config/i386/mmintrin.h: Ditto.
1299         * config/i386/mm3dnow.h: Ditto.
1300
1301 2008-03-13  Jakub Jelinek  <jakub@redhat.com>
1302
1303         PR middle-end/35185
1304         * omp-low.c (lower_regimplify, init_tmp_var, save_tmp_var): Removed.
1305         (lower_omp_2): New function.
1306         (lower_omp_1, lower_omp): Rewritten.
1307
1308 2008-03-13  Danny Smith  <dannysmith@users.sourceforge.net>
1309
1310         PR 35054
1311         * doc/extend.texi (Structure-Packing Pragmas): Replace "Win32"
1312         with the phrase "Microsoft Windows compilers".
1313         (Push/Pop Macro Pragmas): New subsection. Document
1314         #pragma push_macro and pragma pop_macro.
1315
1316 2008-03-12  Paul Brook  <paul@codesourcery.com>
1317
1318         * config/arm/arm.c (output_move_double): Prefer LDRD to LDM.
1319
1320 2008-03-12  Paul Brook  <paul@codesourcery.com>
1321
1322         * config/arm/thumb2.md: Extend peephole to cover 3-arg subs.
1323         (thumb2_alusi3_short): Exclude PLUS and MINUS.
1324         (thumb2_addsi_shortim): Rename ...
1325         (thumb2_addsi_short): ... to this.  Allow register operands.
1326         (thumb2_subsi_short): New pattern.
1327         (thumb2_one_cmplsi2_short,
1328         thumb2_negsi2_short): New patterns and peepholes.
1329
1330 2008-03-12  Paul Brook  <paul@codesourcery.com>
1331
1332         * config/arm/arm.c (arm_size_rtx_costs): Use ARM costs for Thumb-2.
1333
1334 2008-03-12  Uros Bizjak  <ubizjak@gmail.com>
1335
1336         * config/i386/i386.md (int_cond): New code iterator.
1337         (fp_cond): Ditto.
1338         ("s<code>"): Macroize expander from seq, sne, sgt, sgtu, slt, sltu,
1339         sge, sgeu, sle and sleu expanders usign int_cond code iterator.
1340         ("s<code>"): Macroize expander from sunordered, sordered, suneq, sunge,
1341         sungt, sunle, sunlt and sltgt expanders usign fp_cond code iterator.
1342         ("b<code>"): Macroize expander from beq, bne, bgt, bgtu, blt, bltu,
1343         bge, bgeu, ble and bleu expanders usign int_cond code iterator.
1344         ("b<code>"): Macroize expander from bunordered, bordered, buneq, bunge,
1345         bungt, bunle, bunlt and bltgt expanders usign fp_cond code iterator.
1346
1347 2008-03-12  Paul Brook  <paul@codesourcery.com>
1348
1349         * config/arm/arm.c (use_return_insn): Use offsets->saved_regs_mask
1350         instead of {arm,thumb}_compute_save_reg_mask.
1351         (output_return_instruction): Ditto.
1352         (thumb_unexpanded_epilogue): Ditto.
1353         (thumb1_expand_prologue): Ditto.
1354         (thumb1_output_function_prologue): Ditto.
1355         (arm_set_return_address): Ditto.
1356         (thumb_set_return_address): Ditto.
1357         (arm_get_frame_offsets): Set offsets->saved_regs_mask.  Push extra
1358         regs to achieve stack alignment.
1359         (thumb1_compute_save_reg_mask): Fix compiler warning.
1360         (arm_output_epilogue): Use offsets->saved_regs_mask.
1361         Adjust stack pointer by poping call clobered registers.
1362         (arm_expand_prologue): Use offsets->saved_regs_mask.
1363         Adjust stack pointer by pushing extra registers.
1364         * config/arm.h (arm_stack_offsets): Add saved_regs_mask.
1365
1366 2008-03-12  Paolo Bonzini  <bonzini@gnu.org>
1367
1368         PR tree-opt/35422
1369         * fold-const.c (fold_unary) <NOP_EXPR>: Distribute a narrowing
1370         conversion to the operands of a multiplication.
1371
1372 2008-03-12  Richard Guenther  <rguenther@suse.de>
1373
1374         * Makefile.in (OBJS-common): Add tree-ssa-phiprop.o
1375         (tree-ssa-phiprop.o): Copy dependencies from tree-ssa-forwprop.o.
1376         * timevar.def (TV_TREE_PHIPROP): Add.
1377         * tree-ssa-phiprop.c: Split from tree-ssa-forwprop.c, added
1378         pass description.  Use TV_TREE_PHIPROP.
1379         * tree-ssa-forwprop.c: Remove phiprop code.
1380
1381 2008-03-12  Jakub Jelinek  <jakub@redhat.com>
1382
1383         PR middle-end/35549
1384         * omp-low.c (maybe_lookup_decl): Constify first argument.
1385         (use_pointer_for_field): Change last argument from bool to
1386         omp_context *.  Disallow shared copy-in/out in nested
1387         parallel if decl is shared in outer parallel too.
1388         (build_outer_var_ref, scan_sharing_clauses,
1389         lower_rec_input_clauses, lower_copyprivate_clauses,
1390         lower_send_clauses, lower_send_shared_vars): Adjust callers.
1391
1392 2008-03-12  Victor Kaplansky  <victork@il.ibm.com>
1393             Ira Rosen  <irar@il.ibm.com>
1394
1395         * tree-vectorizer.c (free_stmt_vec_info): New function.
1396         (destroy_loop_vec_info): Move code to free_stmt_vec_info().
1397         Call free_stmt_vec_info(). Free LOOP_VINFO_STRIDED_STORES..
1398         * tree-vectorizer.h (free_stmt_vec_info): Declare.
1399         * tree-vect-transform.c (vectorizable_conversion): Free
1400         vec_oprnds0 if it was allocated.
1401         (vect_permute_store_chain): Remove unused VECs.
1402         (vectorizable_store): Free VECs that are allocated in the..
1403         function.
1404         (vect_transform_strided_load, vectorizable_load): Likewise.
1405         (vect_remove_stores): Simplify the code.
1406         (vect_transform_loop): Move code to vect_remove_stores().
1407         Call vect_remove_stores() and free_stmt_vec_info().
1408
1409 2008-03-11  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1410
1411         * pa.h (TARGET_LONG_PIC_SDIFF_CALL): Conditionalize define on
1412         TARGET_HPUX.  Revise comment.
1413         (TARGET_LONG_PIC_PCREL_CALL): Revise comment.
1414         * pa.c (output_call): Update for revised TARGET_LONG_PIC_SDIFF_CALL.
1415         Use sr4 variant of `be' instruction when not generating PIC code.
1416         (attr_length_call): Adjust for above change.
1417
1418 2008-03-11  Andrew Pinski  <andrew_pinski@playstation.sony.com>
1419
1420         * ipa-reference.c (static_execute): Remove module_statics_const and
1421         associated setting code.
1422
1423 2008-03-11  Uros Bizjak  <ubizjak@gmail.com>
1424
1425         PR target/35540
1426         * config/i386/i386.md (paritysi2, paritydi2): Use register_operand
1427         predicate for operand 1.
1428         (paritysi2_cmp): Use register_operand predicate for operand 2.
1429         Use earlyclobber modifier for operand 1.  Remove support for
1430         memory operands.
1431         (paritydi2_cmp): Use register_operand predicate for operand 3.
1432         Use earlyclobber modifier for operand 1.  Remove support for
1433         memory operands.
1434
1435 2008-03-11  Paul Brook  <paul@codesourcery.com>
1436             Vladimir Prus  <vladimir@codesourcery.com>
1437
1438         * config/arm/arm.c (use_return_insn): Check TARGET_APCS_FRAME.
1439         (arm_compute_save_reg0_reg12_mask): Always
1440         check if register 11 must be saved.  Always safe hard frame pointer
1441         when frame_pointer_needeed.
1442         (arm_compute_save_reg_mask): Save IP and PC
1443         only with apcs frames.
1444         (arm_output_epilogue): Adjust Thumb2 codepath to
1445         be also invoked and work for ARM non-apcs frames.
1446         (arm_expand_prologue): Don't bother saving IP
1447         for non-apcs frame, since it's not clobbered by
1448         prologue code.  Implement non-apcs frame
1449         layout.
1450
1451 2008-03-11  Paolo Bonzini  <bonzini@gnu.org>
1452
1453         PR rtl-optimization/35281
1454         * expr.c (convert_move): Use a new pseudo for the intermediate
1455         from_mode->word_mode result.
1456
1457 2008-03-11  Paolo Bonzini  <bonzini@gnu.org>
1458
1459         * langhooks-def.h (LANG_HOOKS_CLEAR_BINDING_STACK): Delete.
1460         * langhooks.h (struct lang_hooks): Delete clear_binding_stack member.
1461         * toplev.c (compile_file): Don't call it.
1462
1463 2008-03-11  Uros Bizjak  <ubizjak@gmail.com>
1464
1465         PR middle-end/35526
1466         * expr.c (store_expr): Call emit_block_move if the mode
1467         of "temp" RTX is BLKmode.
1468
1469 2008-03-11  Andrew Pinski  <andrew_pinski@playstation.sony.com>
1470             Richard Guenther  <rguenther@suse.de>
1471
1472         PR tree-optimization/31358
1473         * tree-ssa-loop-manip.c (create_iv): Call force_gimple_operand for
1474         the step with a NULL_TREE.
1475         * tree-ssa-loop-ivopts.c (find_bivs): Convert the step
1476         to sizetype if type is a pointer type.
1477         (add_candidate_1): Don't convert the base and step to
1478         the generic type if the orginal type is a pointer type.
1479         (add_iv_value_candidates): Use sizetype for the step
1480         if type is a pointer type.
1481         (cand_value_at): Likewise.
1482         * tree-ssa-address.c (add_to_parts): Use POINTER_PLUS_EXPR
1483         for pointer types.
1484         * tree-affine.c (tree_to_aff_combination <POINTER_PLUS_EXPR>):
1485         Don't convert the tem affine to the type.
1486         (add_elt_to_tree): Use sizetype for the step if a pointer.
1487         Use POINTER_PLUS_EXPR for pointers.
1488         (aff_combination_to_tree): Use sizetype for the step if a
1489         pointer.
1490
1491 2008-03-10  Vladimir Makarov  <vmakarov@redhat.com>
1492
1493         * config/i386/sse.md (ssse3_pmaddubswv8hi3, ssse3_pmaddubswv4hi3):
1494         Remove commutativity hint.
1495
1496 2008-03-10  Jakub Jelinek  <jakub@redhat.com>
1497
1498         PR c/35438
1499         PR c/35439
1500         * c-parser.c (c_parser_omp_threadprivate): Don't add vars with
1501         errorneous type.  Check that v is a VAR_DECL.
1502
1503         PR middle-end/35099
1504         * tree-cfg.c (new_label_mapper): Update cfun->last_label_uid.
1505
1506 2008-03-10  H.J. Lu  <hongjiu.lu@intel.com>
1507
1508         PR tree-optimization/35494
1509         * tree-ssa-ccp.c (get_symbol_constant_value): Check if value
1510         may be overriden at link and run time.
1511
1512 2008-03-10  Richard Guenther  <rguenther@suse.de>
1513
1514         PR tree-optimization/34677
1515         * tree-ssa-pre.c (modify_expr_node_pool): Remove.
1516         (poolify_tree): Likewise.
1517         (modify_expr_template): Likewise.
1518         (poolify_modify_stmt): Likewise.
1519         (insert_fake_stores): Handle all component-ref style stores
1520         in addition to INDIRECT_REF.  Also handle complex types.
1521         Do not poolify the inserted load.
1522         (realify_fake_stores): Do not rebuild the tree but only
1523         make it a SSA_NAME copy.
1524         (init_pre): Remove initialzation of modify_expr_template.
1525         Do not allocate modify_expr_node_pool.
1526         (fini_pre): Do not free modify_expr_node_pool.
1527
1528 2008-03-10  Paul Brook  <paul@codesourcery.com>
1529
1530         * config/arm/arm.md (UNSPEC_STACK_ALIGN, UNSPEC_PIC_OFFSET): Renumber
1531         to avoid conflicts.
1532
1533 2008-03-10  Paul Brook  <paul@codesourcery.com>
1534             Mark Shinwell  <shinwell@codesourcery.com>
1535
1536         * config/arm/cortex-r4.md: New.
1537         * config/arm/thumb2.md (divsi3, udivsi3): Annotate with
1538         insn attributes.
1539         * config/arm/arm.md: Include cortex-r4.md.
1540         (insn): Add smmls, sdiv and udiv values.
1541         (generic_sched): Don't use generic scheduling for Cortex-R4.
1542         (arm_issue_rate): New function.
1543         (TARGET_SCHED_ISSUE_RATE): Define.
1544
1545 2008-03-10  Sebastian Pop  <sebastian.pop@amd.com>
1546
1547         * doc/invoke.texi (-ftree-loop-distribution): Add an example.
1548
1549 2008-03-10  Richard Guenther  <rguenther@suse.de>
1550
1551         * tree-ssa-pre.c (get_sccvn_value): Simplify.
1552         (compute_avail): Do not add stmt uses to AVAIL_OUT.
1553
1554 2008-03-10  Paolo Bonzini  <bonzini@gnu.org>
1555
1556         * langhooks-def.h (LANG_HOOKS_REDUCE_BIT_FIELD_OPERATIONS):
1557         Set default to true.
1558
1559 2008-03-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1560
1561         * c.opt (Wsynth): Deprecate.
1562         * doc/invoke.texi (Option Summary, Warning Options): Document
1563         -Wno-format-contains-nul.
1564
1565 2008-03-09  Uros Bizjak  <ubizjak@gmail.com>
1566
1567         PR target/35496
1568         * config/i386/i386.c (ix86_constant_alignment): Compute alignment using
1569         ALIGN_MODE_128 for VECTOR_CST and INTEGER_CST in addition to REAL_CST.
1570
1571 2008-03-09  Ira Rosen  <irar@il.ibm.com>
1572
1573         * config/rs6000/rs6000.c (builtin_description): Rename vector
1574         left shift operations.
1575         * config/rs6000/altivec.md (UNSPEC_VSL): Remove.
1576         (altivec_vsl<VI_char>): Rename to ...
1577         (ashl<mode>3): ... new name.
1578         (mulv4sf3, mulv4si3, negv4sf2): Replace gen_altivec_vslw with
1579         gen_ashlv4si3.
1580         (absv4sf2): Convert to use ashift:V4SI instead of UNSPEC_VSL.
1581
1582 2008-03-08  Richard Guenther  <rguenther@suse.de>
1583
1584         * coverage.h (tree_coverage_counter_addr): Declare.
1585         * coverage.c (tree_coverage_counter_addr): New function.
1586         * tree-profile.c (tree_gen_edge_profiler): Unshare counter
1587         before using again.
1588         (tree_gen_pow2_profiler): Use tree_coverage_counter_addr.
1589         (tree_gen_one_value_profiler): Likewise.
1590         (tree_gen_ic_profiler): Likewise.
1591         (tree_gen_average_profiler): Likewise.
1592         (tree_gen_ior_profiler): Likewise.
1593
1594 2008-03-08  Richard Guenther  <rguenther@suse.de>
1595
1596         * tree-ssa-sccvn.h (vn_binary_op_lookup): Remove.
1597         (vn_binary_op_insert): Likewise.
1598         (vn_unary_op_lookup): Likewise.
1599         (vn_unary_op_insert): Likewise.
1600         (vn_nary_op_lookup): Declare.
1601         (vn_nary_op_insert): Likewise.
1602         * tree-ssa-sccvn.c (struct vn_tables_s): Merge unary
1603         and binary hashes, use a single obstack for unary_op_pool
1604         and binary_op_pool.
1605         (struct vn_binary_op_s, struct vn_unary_op_s): Replace with
1606         a single struct vn_nary_op_s.  Store tree code length and
1607         a variable number of operands.
1608         (struct vn_reference_op_struct): Remove unused op2.
1609         (vn_reference_op_eq): Do not compare op2.
1610         (vn_reference_op_compute_hash): Do not compute hash of op2.
1611         (vn_unary_op_hash, vn_binary_op_hash): Replace with vn_nary_op_hash.
1612         (vn_unary_op_compute_hash, vn_binary_op_compute_hash): Replace
1613         with vn_nary_op_compute_hash.
1614         (vn_unary_op_eq, vn_binary_op_eq): Replace with vn_nary_op_eq.
1615         (vn_unary_op_lookup, vn_binary_op_lookup): Replace with
1616         vn_nary_op_lookup.
1617         (vn_unary_op_insert, vn_binary_op_insert): Replace with
1618         vn_nary_op_insert.
1619         (visit_unary_op): Call nary functions.
1620         (visit_binary_op): Likewise.
1621         (process_scc): Adjust for struct vn_tables_s changes.
1622         (allocate_vn_table): Likewise.
1623         (free_vn_table): Likewise.
1624         * tree-vn.c (vn_add): Call nary functions.
1625         (vn_lookup): Likewise.
1626
1627 2008-03-08  Jakub Jelinek  <jakub@redhat.com>
1628
1629         PR target/35498
1630         * config/rs6000/rs6000.c (rs6000_expand_compare_and_swapqhi): Shift
1631         wdst back after sync_compare_and_swapqhi_internal.
1632
1633 2008-03-08  Uros Bizjak  <ubizjak@gmail.com>
1634
1635         PR target/22152
1636         * config/i386/i386-modes.def (V1DI): New vector mode.
1637         * config/i386/i386.h (VALID_MMX_REG_MODE): Add V1DImode.
1638         * config/i386/mmx.md (MMXMODEI8): New mode iterator.
1639         (MMXMODE248): Ditto.
1640         (MMXMODE): Add V1DI mode.
1641         (mmxvecsize): Change DI mode to V1DI mode.
1642         ("mov<mode>): Use MMXMODEI8 mode iterator.
1643         ("*mov<mode>_internal_rex64"): Ditto.
1644         ("*mov<mode>_internal"): Ditto.
1645         ("mmx_add<mode>3"): Ditto.  Handle V1DImode for TARGET_SSE2.
1646         ("mmx_sub<mode>3"): Ditto.
1647         ("mmx_adddi3"): Remove insn pattern.
1648         ("mmx_subdi3"): Ditto.
1649         ("mmx_ashr<mode>3"): Use SImode and "yN" constraint for operand 2.
1650         ("mmx_lshr<mode>3"): Ditto. Use MMXMODE248 mode iterator.
1651         ("mmx_ashl<mode>3"): Ditto.
1652         ("mmx_lshrdi3"): Remove insn pattern.
1653         ("mmx_ashldi3"): Ditto.
1654         * config/i386/i386.c (classify_argument): Handle V1DImode.
1655         (function_arg_advance_32): Ditto.
1656         (function_arg_32): Ditto.
1657         (struct builtin_description) [IX86_BUILTIN_PADDQ]: Use
1658         mmx_addv1di3 insn pattern.
1659         [IX86_BUILTIN_PSUBQ]: Use mmx_subv1di3 insn pattern.
1660         [IX86_BUILTIN_PSLL?, IX86_BUILTIN_PSRL?, IX86_BUILTIN_PSRA?,
1661         IX86_BUILTIN_PSLL?I, IX86_BUILTIN_PSRL?I, IX86_BUILTIN_PSRA?I,
1662         IX86_BUILTIN_PSLL?I128, IX86_BUILTIN_PSRL?I128, IX86_BUILTIN_PSRA?I128]:
1663         Remove definitions of built-in functions.
1664         (V1DI_type_node): New node.
1665         (v1di_ftype_v1di_int): Ditto.
1666         (v1di_ftype_v1di_v1di): Ditto.
1667         (v2si_ftype_v2si_si): Ditto.
1668         (v4hi_ftype_v4hi_di): Remove node.
1669         (v2si_ftype_v2si_di): Ditto.
1670         (ix86_init_mmx_sse_builtins): Handle V1DImode.
1671         (__builtin_ia32_psll?, __builtin_ia32_psrl?, __builtin_ia32_psra?):
1672         Redefine builtins using def_builtin_const with *_ftype_*_int node.
1673         (__builtin_ia32_psll?i, __builtin_ia32_psrl?i, __builtin_ia32_psra?i):
1674         Add new builtins using def_builtin_const.
1675         (ix86_expand_builtin) [IX86_BUILTIN_PSLL?, IX86_BUILTIN_PSRL?,
1676         IX86_BUILTIN_PSRA?, IX86_BUILTIN_PSLL?I, IX86_BUILTIN_PSRL?I,
1677         IX86_BUILTIN_PSRA?I]: Handle builtin definitions.
1678         * config/i386/mmintrin.h (__v1di): New typedef.
1679         (_mm_add_si64): Cast arguments to __v1di type.
1680         (_mm_sub_si64): Ditto.
1681         (_mm_sll_pi16): Cast __count to __v4hi type.
1682         (_mm_sll_pi32): Cast __count to __v2si type.
1683         (_mm_sll_si64): Cast arguments to __v1di type.
1684         (_mm_srl_pi16): Cast __count to __v4hi type.
1685         (_mm_srl_pi32): Cast __count to __v2si type.
1686         (_mm_srl_si64): Cast arguments to __v1di type.
1687         (_mm_sra_pi16): Cast __count to __v4hi type.
1688         (_mm_sra_pi32): Cast __count to __v2si type.
1689         (_mm_slli_pi16): Use __builtin_ia32_psllwi.
1690         (_mm_slli_pi32): Use __builtin_ia32_pslldi.
1691         (_mm_slli_si64): Use __builtin_ia32_psllqi. Cast __m to __v1di type.
1692         (_mm_srli_pi16): Use __builtin_ia32_psrlwi.
1693         (_mm_srli_pi32): Use __builtin_ia32_psrldi.
1694         (_mm_srli_si64): Use __builtin_ia32_psrlqi. Cast __m to __v1di type.
1695         (_mm_srai_pi16): Use __builtin_ia32_psrawi.
1696         (_mm_srai_pi32): Use __builtin_ia32_psradi.
1697         * config/i386/i386.md (UNSPEC_NOP): Remove unspec definition.
1698         * doc/extend.texi (X86 Built-in Functions) [__builtin_ia32_psll?,
1699         __builtin_ia32_psrl?, __builtin_ia32_psra?, __builtin_ia32_psll?i,
1700         __builtin_ia32_psrl?i, __builtin_ia32_psra?i]: Add new builtins.
1701
1702 2008-03-07  Joseph Myers  <joseph@codesourcery.com>
1703
1704         * doc/include/texinfo.tex: Update to version 2008-03-07.10.
1705
1706 2008-03-07  Peter Bergner  <bergner@vnet.ibm.com>
1707
1708         PR target/35373
1709         * config/rs6000/rs6000.c (rs6000_legitimize_address): Don't generate
1710         reg+const addressing for Altivec modes.  Don't generate reg+reg
1711         addressing for TFmode or TDmode quantities.
1712
1713 2008-03-07  Paolo Bonzini  <bonzini@gnu.org>
1714
1715         * c-common.c (vector_types_convertible_p): Call langhook
1716         instead of comptypes.
1717
1718 2008-03-06  Andrew Pinski  <andrew_pinski@playstation.sony.com>
1719
1720         PR tree-opt/35402
1721         * tree-ssa-ccp.c (get_symbol_constant_value): Handle
1722         integral and scalar float variables which have a
1723         NULL DECL_INITIAL.
1724
1725 2008-03-06  Nathan Froyd  <froydnj@codesourcery.com>
1726
1727         * dwarf2out.c (dwarf2out_frame_debug_expr): Consult the
1728         dwarf_register_span hook when emitting unwind information for
1729         register-to-memory saves.
1730         * config/rs6000/rs6000.c (spe_synthesize_frame): Delete.
1731         (rs6000_frame_related): Remove call to spe_synthesize_frame.
1732
1733 2008-03-06  Jakub Jelinek  <jakub@redhat.com>
1734
1735         * gimplify.c (goa_lhs_expr_p): Allow different ADDR_EXPR nodes
1736         for the same VAR_DECL.
1737
1738 2008-03-06  Tom Tromey  <tromey@redhat.com>
1739
1740         * treelang: Delete.
1741         * doc/standards.texi (Standards): Don't mention treelang.
1742         * doc/invoke.texi (Overall Options): Don't mention treelang.
1743         * doc/install.texi (Prerequisites): Don't mention bison or
1744         treelang.
1745         (Configuration): Don't mention treelang.
1746         (Building): Likewise.
1747         * doc/frontends.texi (G++ and GCC): Don't mention treelang.
1748
1749 2008-03-06  Paolo Bonzini  <bonzini@gnu.org>
1750
1751         * simplify-rtx.c (simplify_subreg): Remove useless shifts from
1752         word-extractions out of a multi-word object.
1753
1754 2008-03-06  Richard Guenther  <rguenther@suse.de>
1755
1756         * tree.def (BIT_FIELD_REF): Constrain result type and its precision.
1757         * tree-cfg.c (verify_expr): Verify BIT_FIELD_REF constraints on
1758         result type and precision.
1759         * expr.c (get_inner_reference): Set unsignedp based on the result
1760         type of BIT_FIELD_REF.
1761         * tree.h (BIT_FIELD_REF_UNSIGNED): Remove.
1762         * tree-sra.c (instantiate_element): Do not set BIT_FIELD_REF_UNSIGNED.
1763         (try_instantiate_multiple_fields): Likewise.  Use the correct type
1764         for BIT_FIELD_REF.
1765         (sra_build_assignment): Likewise.
1766         (sra_build_elt_assignment): Likewise.
1767         (sra_explode_bitfield_assignment): Likewise.
1768         * print-tree.c (print_node): Do not check BIT_FIELD_REF_UNSIGNED.
1769         * tree-vect-transform.c (vect_create_epilog_for_reduction): Do not
1770         set BIT_FIELD_REF_UNSIGNED.
1771         (vectorizable_load): Likewise.
1772
1773 2008-03-06  Andreas Krebbel  <krebbel1@de.ibm.com>
1774
1775         * cse.c (cse_extended_basic_block): Invalidate artificial defs
1776         at bb start.
1777
1778 2008-03-06  Richard Guenther  <rguenther@suse.de>
1779
1780         * alias.c (struct alias_set_entry): Move has_zero_child field
1781         to pack with alias_set.
1782
1783 2008-03-05  H.J. Lu  <hongjiu.lu@intel.com>
1784
1785         * config/i386/i386-modes.def: Use 4 byte alignment on DI for
1786         32bit host.
1787
1788 2008-03-05  Ian Lance Taylor  <iant@google.com>
1789
1790         * alias.h (alias_set_type): Change from HOST_WIDE_INT to int.
1791
1792 2008-03-05  Kenneth Zadeck <zadeck@naturalbridge.com>
1793
1794         * fwprop.c (update_df): Support width and offset parameters of
1795         df_ref_create.
1796         * ra-conflict.c (mark_reg_store, clear_reg_in_live,
1797         global_conflicts): Change DF_REF_EXTRACT to either
1798         DF_REF_ZERO_EXTRACT or DF_REF_SIGN_EXTRACT.  Change
1799         DF_REF_STRICT_LOWER_PART to DF_REF_STRICT_LOW_PART.
1800         * df-scan.c (df_ref_record, df_defs_record,
1801         df_ref_create_structure, df_def_record_1, df_uses_record,
1802         df_get_conditional_uses, df_get_call_refs, df_insn_refs_collect,
1803         df_bb_refs_collect, df_entry_block_defs_collect,
1804         df_exit_block_uses_collect): Support new width and offset fields.
1805         (ref_extract_pool): New storage pool.
1806         (df_free_ref): New function.
1807         (df_reg_chain_unlink, df_free_collection_rec,
1808         df_sort_and_compress_refs): Call df_free_ref.
1809         (df_ref_equal_p, df_ref_compare): Compare offset and width fields
1810         of df_ref_extract.
1811         (df_ref_create_structure): Allocate df_ref_extract if offset and
1812         width fields are used.
1813         (df_def_record_1): Get offset and width from ZERO_EXTRACT.
1814         (df_uses_record): Get offset and width from ZERO_EXTRACT 
1815         and SIGN_EXTRACT.
1816         * global.c (build_insn_chain): Change DF_REF_EXTRACT to either
1817         DF_REF_ZERO_EXTRACT or DF_REF_SIGN_EXTRACT.  Change
1818         DF_REF_STRICT_LOWER_PART to DF_REF_STRICT_LOW_PART.
1819         * df.h (df_ref_flags): Change DF_REF_EXTRACT to either
1820         DF_REF_ZERO_EXTRACT or DF_REF_SIGN_EXTRACT.  Change
1821         DF_REF_STRICT_LOWER_PART to DF_REF_STRICT_LOW_PART.
1822         (df_ref_extract): New structure.
1823         (DF_REF_WIDTH, DF_REF_OFFSET): New macros.
1824         (df_ref_create): Add width and offset parameters.
1825         
1826 2008-03-05  Richard Guenther  <rguenther@suse.de>
1827
1828         * tree-ssa-structalias.c (get_constraint_for_component_ref):
1829         Use ranges_overlap_p.
1830         (offset_overlaps_with_access): Rename
1831         to ranges_overlap_p and move ...
1832         * tree-flow-inline.h (ranges_overlap_p): ... here.
1833
1834         * tree.h (get_inner_reference, handled_component_p): Update
1835         comments.
1836
1837         * tree.h (record_component_aliases, get_alias_set,
1838         alias_sets_conflict_p, alias_sets_must_conflict_p,
1839         objects_must_conflict_p): Move declarations ...
1840         * alias.h (record_component_aliases, get_alias_set,
1841         alias_sets_conflict_p, alias_sets_must_conflict_p,
1842         objects_must_conflict_p): ... here.
1843         Include coretypes.h.
1844         * Makefile.in (ALIAS_H): Add coretypes.h dependency.
1845
1846 2008-03-05  Aldy Hernandez  <aldyh@redhat.com>
1847
1848         * cfg.c: Include tree-flow.h.
1849         (remove_edge_raw): Call redirect_edge_var_map_clear.
1850         (redirect_edge_succ_nodup): Call redirect_edge_var_map_dup.
1851         * tree-flow-inline.h (redirect_edge_var_map_def): New.
1852         (redirect_edge_var_map_result): New.
1853         * tree-cfgcleanup.c (remove_forwarder_block_with_phi): Replace
1854         PENDING_STMT use with redirect_edge_var_map_*.
1855         * tree-ssa.c (edge_var_maps): New definition.
1856         (redirect_edge_var_map_add): New.
1857         (redirect_edge_var_map_clear): New.
1858         (redirect_edge_var_map_dup): New.
1859         (redirect_edge_var_map_vector): New.
1860         (redirect_edge_var_map_destroy): New.
1861         (ssa_redirect_edge): Replace PENDING_STMT use with
1862         redirect_edge_var_map_*.
1863         (flush_pending_stmts): Same.
1864         (delete_tree_ssa): Destroy edge var map.
1865         * tree-flow.h (struct _edge_var_map): New.
1866         Define edge_var_map vector type.
1867         Declare redirect_edge_var_map_* prototypes.
1868         * Makefile.in (cfg.o): Depend on TREE_FLOW_H.
1869         * tree-cfg.c (reinstall_phi_args): Replace
1870         PENDING_STMT use with redirect_edge_var_map_*.
1871
1872 2008-03-05  Richard Guenther  <rguenther@suse.de>
1873
1874         PR tree-optimization/35472
1875         * tree-ssa-dse.c (dse_optimize_stmt): Do not delete a store
1876         whose single use_stmt has a overlapping set of loaded and
1877         stored symbols as that use_stmt might be a noop assignment then.
1878
1879 2008-03-05  Joel Sherrill <joel.sherrill@oarcorp.com>
1880
1881         * gthr-rtems.h: Implement __gthread_mutex_destroy.
1882
1883 2008-03-05  Richard Guenther  <rguenther@suse.de>
1884
1885         PR c++/35336
1886         * tree.def (BIT_FIELD_REF): Document that operands 1 and 2
1887         should be constants.
1888         * tree-cfg.c (verify_expr): Verify it.
1889         * fold-const.c (fold_truthop): Remove code generating
1890         BIT_FIELD_REFs of structure bases.
1891         (fold_binary): Likewise.
1892         (fold_ternary): Position and size of BIT_FIELD_REFs are
1893         always host integers.
1894         (make_bit_field_ref): Remove.
1895         (optimize_bit_field_compare): Remove.
1896         (all_ones_mask_p): Remove.
1897
1898 2008-03-05  Gabor Loki  <loki@gcc.gnu.org>
1899
1900         PR gcc/33009
1901         * rtl-factoring.c (clear_regs_live_in_seq): Fix backward steps.
1902         (split_block_and_df_analyze): New. Split basic block and rebuild
1903         dataflow.
1904         (block_label_after): Use SPLIT_BLOCK_AND_DF_ANALYZE instead of
1905         SPLIT_BLOCK.
1906         (split_pattern_seq): Likewise.
1907         (erase_matching_seqs): Likewise.
1908         (split_pattern_seq): Skip return insn in case of REG_NORETURN note.
1909
1910 2008-03-04  Geoff Keating  <geoffk@apple.com>
1911
1912         * fold-const.c (tree_single_nonnegative_warnv_p): Fix mixed
1913         declaration and code.
1914         (tree_invalid_nonnegative_warnv_p): Likewise.
1915
1916 2008-03-05  Serge Belyshev  <belyshev@depni.sinp.msu.ru>
1917
1918         * doc/install.texi (Testing): Correct quoting for the RUNTESTFLAGS
1919         examples.  Truncate option-names then causing overfull hbox.
1920
1921 2008-03-04  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1922
1923         PR target/35222
1924         * configure.ac (CONFIG_SJLJ_EXCEPTIONS): Force SJLJ exceptions
1925         on hpux10.
1926         * configure: Rebuilt.
1927
1928 2008-03-04  Rafael Espindola  <espindola@google.com>
1929
1930         * fold-const.c (tree_simple_nonnegative_warnv_p): New.
1931         (tree_unary_nonnegative_warnv_p): New.
1932         (tree_binary_nonnegative_warnv_p): New.
1933         (tree_single_nonnegative_warnv_p): New.
1934         (tree_invalid_nonnegative_warnv_p): New.
1935         (tree_expr_nonnegative_warnv_p): Redefine in term of the new functions.
1936
1937 2008-03-04  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
1938
1939         PR 28322
1940         * opts.c (handle_option): Postpone 'unknown option' errors only for
1941         warning options.
1942
1943 2008-03-04  H.J. Lu  <hongjiu.lu@intel.com>
1944
1945         PR target/35453
1946         * config/i386/smmintrin.h (SIDD_XXX): Renamed to ...
1947         (_SIDD_XXX): This.
1948
1949 2008-03-04  Rafael Espindola  <espindola@google.com>
1950
1951         * fold-const.c (tree_unary_nonzero_warnv_p): New.
1952         (tree_binary_nonzero_warnv_p): New.
1953         (tree_single_nonzero_warnv_p): New.
1954         (tree_expr_nonzero_warnv_p): Redefine using the new functions.
1955
1956 2008-03-04  Uros Bizjak  <ubizjak@gmail.com>
1957
1958         PR middle-end/35456
1959         * fold-const.c (fold_cond_expr_with_comparison): Prevent
1960         transformations for modes that have signed zeros.
1961         * ifcvt.c (noce_try_abs): Ditto.
1962
1963 2008-03-04  Joseph Myers  <joseph@codesourcery.com>
1964
1965         * config/i386/i386.c (override_options): Force
1966         -maccumulate-outgoing-args on if TARGET_STACK_PROBE.
1967
1968 2008-03-04  Jan Hubicka  <jh@suse.cz>
1969
1970         PR c++/35262
1971         * ipa-inline.c (cgraph_decide_inlining_of_small_function): Fix typo
1972         in last commit.
1973
1974 2008-03-04  Danny Smith  <dannysmith@users.sourceforge.net>
1975
1976         * config/i386/i386.md (allocate_stack_worker_32): Use  __chkstk
1977         label to probe the stack.
1978
1979 2008-03-04  Danny Smith  <dannysmith@users.sourceforge.net>
1980
1981         * gthr-win32.h [__GTHREAD_HIDE_WIN32API]
1982         (__gthr_win32_mutex_destroy): Declare.
1983         [__GTHREAD_HIDE_WIN32API] (__gthread_mutex_destroy): Use
1984         __gthr_win32_mutex_destroy.
1985         * config/i386/gthr-win32.c  (__gthr_win32_mutex_destroy): Define.
1986
1987 2008-03-03  Jan Hubicka  <jh@suse.cz>
1988
1989         PR c++/35262
1990         * ipa-inline.c (cgraph_decide_inlining_of_small_function): Be more
1991         aggressive on inlining cold calls.
1992
1993 2008-03-03  Richard Guenther  <rguenther@suse.de>
1994
1995         * tree-ssa-sccvn.c (visit_reference_op_store): Do not insert
1996         struct copies into the expression table.
1997         (simplify_unary_expression): Handle VIEW_CONVERT_EXPR.
1998         (try_to_simplify): Likewise.
1999         * fold-const.c (fold_unary): Fold VIEW_CONVERT_EXPR of
2000         integral and pointer arguments which do not change the
2001         precision to NOP_EXPRs.
2002         * tree-ssa-loop-ivopts.c (may_be_nonaddressable_p): Adjust
2003         VIEW_CONVERT_EXPR case.
2004
2005 2008-03-02  Sebastian Pop  <sebastian.pop@amd.com>
2006
2007         * tree-scalar-evolution.c (instantiate_parameters_1): An SSA_NAME
2008         defined in a loop at depth 0 is invariant.
2009         * tree-chrec.c (evolution_function_is_invariant_rec_p): Ditto.
2010         * tree-ssa-loop-ivopts.c (expr_invariant_in_loop_p): Should never
2011         be called at loop depth 0.
2012
2013 2008-03-02  Jakub Jelinek  <jakub@redhat.com>
2014
2015         PR driver/35420
2016         * gcc.c (process_command): Update copyright notice dates.
2017         * gcov.c (print_version): Likewise.
2018         * gcov-dump.c (print_version): Likewise.
2019         * mips-tfile.c (main): Likewise.
2020         * mips-tdump.c (main): Likewise.
2021
2022 2008-03-02  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
2023
2024         PR 24924
2025         * c-common.c (flag_permissive): Delete.
2026         (constant_expression_warnings): Check flags first.
2027         (constant_expression_error): New.
2028         * c-common.h (flag_permissive): Delete.
2029         (constant_expression_error): Declare.
2030         * flags.h (flag_permissive): Declare. Update description.
2031         * diagnostic.c (pedwarn): Update.
2032         (permerror): New.
2033         * diagnostic.h: (pedantic_error_kind): Rename as pedantic_warning_kind.
2034         (permissive_error_kind): New.
2035         * toplev.c (flag_permissive): Define. Update description.
2036         * toplev.h (permissive_error_kind): Declare.
2037         * c-errors.c (pedwarn_c99): Use pedantic_warning_kind.
2038         (pedwarn_c90): Use pedantic_warning_kind.
2039         * c-opts.c (c_common_post_options): flag_permissive does not affect
2040         flag_pedantic_errors.
2041
2042 2008-03-02  Joseph Myers  <joseph@codesourcery.com>
2043
2044         * libgcc2.c (__addvSI3, __addvsi3, __addvDI3, __subvSI3,
2045         __subvsi3, __subvDI3, __negvSI2, __negvsi2, __negvDI2, __absvSI2,
2046         __absvsi2, __absvDI2): Use unsigned arithmetic.
2047
2048 2008-03-02  Andi Kleen  <ak@suse.de>
2049             Richard Guenther  <rguenther@suse.de>
2050
2051         * struct-equiv.c: Remove file.
2052         * cfg_cleanup.c (condjump_equiv_p): Remove.
2053         * Makefile.in (OBJS-common): Remove struct-equiv.o.
2054         (struct-equiv.o): Remove rule.
2055         * basic-block.h (struct_equiv_checkpoint, STRUCT_EQUIV_*,
2056         insns_match_p, struct_equiv_block_eq, struct_equiv_init, 
2057         rtx_equiv_p, condjump_equiv_p): Remove prototypes.
2058
2059 2008-03-01  Alexandre Oliva  <aoliva@redhat.com>
2060
2061         * ifcvt.c (noce_process_if_block): Try to handle only the then
2062         block if the else block exists but isn't suitable.
2063
2064 2008-03-01  Janne Blomqvist  <jb@gcc.gnu.org>
2065
2066         PR gcc/35063
2067         * gthr-posix.h (__gthread_mutex_destroy): Remove extra declarations.
2068         * gthr-posix95.h (__gthread_mutex_destroy): Likewise. Note this fixes
2069         regression from previous patch.
2070
2071 2008-03-01  Janne Blomqvist  <jb@gcc.gnu.org>
2072
2073         PR gcc/35063
2074         * gthr.h: Add __gthread_mutex_destroy as a function that must be
2075         implemented.
2076         * gthr-vxworks.h (__gthread_mutex_destroy): Null implementation.
2077         * gthr-single.h (__gthread_mutex_destroy): Likewise.
2078         * gthr-rtems.h (__gthread_mutex_destroy): Likewise.
2079         * gthr-mipssde.h (__gthread_mutex_destroy): Likewise.
2080         * gthr-nks.h (__gthread_mutex_destroy): Likewise.
2081         * gthr-solaris.h (__gthread_mutex_destroy): Call mutex_destroy.
2082         * gthr-win32.h (__GTHREAD_MUTEX_DESTROY_FUNCTION): Remove.
2083         (__gthread_mutex_destroy_function): Rename to
2084         __gthread_mutex_destroy.
2085         * gthr-dce.h (__gthread_mutex_destroy): Call
2086         pthread_mutex_destroy.
2087         * gthr-tpf.h (__gthread_mutex_destroy): Likewise.
2088         * gthr-posix.h (__gthread_mutex_destroy): Likewise.
2089         * gthr-posix95.h (__gthread_mutex_destroy): Likewise.
2090
2091 2008-03-01  Alexandre Oliva  <aoliva@redhat.com>
2092
2093         * df-scan.c (df_ref_chain_change_bb): Simplify.
2094         (df_insn_change_bb): Add new_bb argument.  Simplify.  Call
2095         set_block_for_insn if there's any change.
2096         * df.h ((df_insn_change_bb): Fix prototype.
2097         * cfgrtl.c (update_bb_for_insn_chain): Pass bb to
2098         df_insn_change_bb, don't call set_block_for_insn.
2099         * emit-rtl.c (reorder_insns): Likewise.
2100         * haifa-sched.c (move_insn): Likewise.
2101
2102 2008-03-01  Alexandre Oliva  <aoliva@redhat.com>
2103
2104         * rtlanal.c (loc_mentioned_in_p): Test XVECEXPs correctly.
2105
2106 2008-03-01  Alexandre Oliva  <aoliva@redhat.com>
2107
2108         * tree-flow-inline.h (next_readonly_imm_use): Return
2109         NULL_USE_OPERAND_P after the end.
2110
2111 2008-03-01  Richard Guenther  <rguenther@suse.de>
2112
2113         PR tree-optimization/35411
2114         * tree-sra.c (sra_build_assignment): Split conversion to
2115         final type to a separate statement if we are not assigning
2116         to a register.
2117
2118 2008-02-29  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
2119
2120         * fold-const.c (fold_convertible_p): Correct the logic to follow
2121         that in fold_convert().
2122
2123 2008-02-29  Douglas Gregor  <doug.gregor@gmail.com>
2124
2125         PR c++/35315
2126         * tree-inline.c (build_duplicate_type): When we make a
2127         duplicate type, make it unique in the canonical types system.
2128
2129 2008-02-29  Tom Tromey  <tromey@redhat.com>
2130
2131         * toplev.c (input_file_stack, input_file_stack_tick, fs_p,
2132         input_file_stack_history, input_file_stack_restored): Remove.
2133         (push_srcloc, pop_srcloc, restore_input_file_stack): Likewise.
2134         * input.h (struct file_stack): Remove.
2135         (push_srcloc, pop_srcloc, restore_input_file_stack): Likewise.
2136         (input_file_stack, input_file_stack_tick, INPUT_FILE_STACK_BITS):
2137         Likewise.
2138         * diagnostic.h (struct diagnostic_context) <last_module>: Change
2139         type.
2140         (diagnostic_last_module_changed): Add 'map' argument.
2141         (diagnostic_set_last_function): Likewise.
2142         * diagnostic.c (undiagnostic_report_current_module): Iterate using
2143         line map, not input_file_stack.
2144         * c-lex.c (fe_file_change): Don't use push_srcloc or pop_srcloc.
2145
2146 2008-02-29  Paul Brook  <paul@codesourcery.com>
2147
2148         * config/arm/arm.md (arm_addsi3): Add r/k/n alternative.
2149
2150 2008-02-29  Paul Brook  <paul@codesourcery.com>
2151
2152         * config/arm/ieee754-df.S (muldf3): Use RET macros.
2153
2154 2008-02-29  Richard Guenther  <rguenther@suse.de>
2155
2156         * tree-ssa-pre.c (get_sccvn_value): Create missing VNs via
2157         vn_lookup_or_add.
2158         * tree-ssa-sccnv.c (visit_reference_op_store): Use the rhs
2159         value for comparing for a store match.
2160         (simplify_unary_expression): Do nothing for SSA_NAMEs.
2161         (try_to_simplify): Do not do a full-blown reference lookup.
2162
2163 2008-02-29  Kaz Kojima  <kkojima@gcc.gnu.org>
2164
2165         * config/sh/sh.c (sh_scalar_mode_supported_p): New function.
2166         (TARGET_SCALAR_MODE_SUPPORTED_P): Define.
2167
2168         * config/sh/sh.h (OVERRIDE_OPTIONS): Don't warn for profiling.
2169
2170 2008-02-29  Sebastian Pop  <sebastian.pop@amd.com>
2171
2172         * tree-loop-linear.c (try_interchange_loops): Compare memory access
2173         strides against cache sizes.
2174
2175 2008-02-29  Kaz Kojima  <kkojima@gcc.gnu.org>
2176
2177         * config/sh/sh.c (sh_secondary_reload): Handle loading a float
2178         constant to fpul.
2179
2180 2008-02-28  Richard Sandiford  <rsandifo@nildram.co.uk>
2181
2182         * simplify-rtx.c (simplify_unary_operation_1): Extend the handling
2183         of SUBREG_PROMOTED_VAR_P to cope with cases where the extended value
2184         is smaller than the original promoted value.
2185         (simplify_subreg): If OP is a SUBREG, try to preserve its
2186         SUBREG_PROMOTED_VAR_P information.
2187
2188 2008-02-28  Steven Bosscher  <stevenb.gcc@gmail.com>
2189
2190         * tree-ssa-sccvn (vn_ssa_aux_obstack): New obstack.
2191         (VN_INFO_GET): Allocate new objects on the obstack.
2192         (init_scc_vn): Initialize the obstack.  Use XDELETE instead of free
2193         for rpo_numbers_temp, for consistency.
2194         (free_scc_vn): Free the obstack.
2195
2196 2008-02-28  Sebastian Pop  <sebastian.pop@amd.com>
2197
2198         * doc/invoke.texi: Document -ftree-loop-distribution.
2199         * tree-loop-distribution.c: New.
2200         * tree-pass.h (pass_loop_distribution): New.
2201         * graphds.h (struct graph): Add htab_t indices.
2202         * timevar.def (TV_TREE_LOOP_DISTRIBUTION): New.
2203         * tree-vectorizer.c (rename_variables_in_loop): Extern.
2204         (slpeel_tree_duplicate_loop_to_edge_cfg): Init PENDING_STMT to NULL.
2205         * tree-vectorizer.h (tree_duplicate_loop_on_edge): Declared.
2206         * tree-data-ref.c (debug_data_dependence_relations): New.
2207         (dump_data_dependence_relation): Also print data references.
2208         (free_data_ref): Extern.
2209         (same_access_functions): Moved...
2210         (find_vertex_for_stmt): Renamed rdg_vertex_for_stmt.
2211         (dump_rdg_vertex, debug_rdg_vertex, dump_rdg_component,
2212         debug_rdg_component, dump_rdg, debug_rdg, dot_rdg_1, dot_rdg,
2213         struct rdg_vertex_info, rdg_vertex_for_stmt): New.
2214         (create_rdg_edge_for_ddr, create_rdg_vertices): Cleaned up.
2215         (stmts_from_loop): Skip LABEL_EXPR.
2216         (hash_stmt_vertex_info, eq_stmt_vertex_info, hash_stmt_vertex_del):
2217         New.
2218         (build_rdg): Initialize rdg->indices htab.
2219         (free_rdg, stores_from_loop, ref_base_address,
2220         rdg_defs_used_in_other_loops_p, have_similar_memory_accesses,
2221         have_similar_memory_accesses_1, ref_base_address_1,
2222         remove_similar_memory_refs): New.
2223         * tree-data-ref.h: Depend on tree-chrec.h.
2224         (debug_data_dependence_relations, free_data_ref): Declared.
2225         (same_access_functions): ... here.
2226         (ddr_is_anti_dependent, ddrs_have_anti_deps, ddr_dependence_level):
2227         New.
2228         (struct rdg_vertex): Add has_mem_write and has_mem_reads.
2229         (RDGV_HAS_MEM_WRITE, RDGV_HAS_MEM_READS, RDG_STMT,
2230         RDG_MEM_WRITE_STMT, RDG_MEM_READS_STMT): New.
2231         (dump_rdg_vertex, debug_rdg_vertex, dump_rdg_component,
2232         debug_rdg_component, dump_rdg, debug_rdg, dot_rdg,
2233         rdg_vertex_for_stmt): Declared.
2234         (struct rdg_edge): Add level.
2235         (RDGE_LEVEL): New.
2236         (free_rdg, stores_from_loop, remove_similar_memory_refs,
2237         rdg_defs_used_in_other_loops_p, have_similar_memory_accesses):
2238         Declared.
2239         (rdg_has_similar_memory_accesses): New.
2240         * tree-vect-analyze.c: Remove unused static decls.
2241         * lambda.h (dependence_level): New.
2242         * common.opt (ftree-loop-distribution): New.
2243         * tree-flow.h (mark_virtual_ops_in_bb, 
2244         slpeel_tree_duplicate_loop_to_edge_cfg,
2245         rename_variables_in_loop): Declared.
2246         * Makefile.in (TREE_DATA_REF_H): Depend on tree-chrec.h.
2247         (OBJS-common): Add tree-loop-distribution.o.
2248         (tree-loop-distribution.o): New rule.
2249         * tree-cfg.c (mark_virtual_ops_in_bb): New.
2250         (mark_virtual_ops_in_region): Use mark_virtual_ops_in_bb.
2251         * passes.c (init_optimization_passes): Schedule pass_loop_distribution.
2252
2253 2008-02-28  Joseph Myers  <joseph@codesourcery.com>
2254
2255         PR target/33963
2256         * tree.c (handle_dll_attribute): Disallow TYPE_DECLs for types
2257         other than structures and unions.
2258
2259 2008-02-28  Richard Guenther  <rguenther@suse.de>
2260
2261         Revert:
2262         2008-02-26  Richard Guenther  <rguenther@suse.de>
2263
2264         * tree-flow.h (uid_decl_map_hash, uid_decl_map_eq): Move ...
2265         * tree.h (uid_decl_map_hash, uid_decl_map_eq): ... here.
2266         (lookup_decl_from_uid): Declare.
2267         (remove_decl_from_map): Likewise.
2268         * tree-ssa.c (uid_decl_map_eq, uid_decl_map_hash): Move ...
2269         * tree.c (uid_decl_map_eq, uid_decl_map_hash): ... here.
2270         (decl_for_uid_map): New global hashtable mapping DECL_UID
2271         to the decl tree.
2272         (init_ttree): Allocate it.
2273         (insert_decl_to_uid_decl_map): New helper function.
2274         (make_node_stat): Insert new decls into the map.
2275         (copy_node_stat): Likewise.
2276         (lookup_decl_from_uid): New function.
2277         (remove_decl_from_map): Likewise.
2278         (print_decl_for_uid_map_statistics): New helper.
2279         (dump_tree_statistics): Call it.
2280
2281         * tree-flow.h (struct gimple_df): Make referenced_vars a bitmap.
2282         (referenced_var_iterator): Adjust.
2283         (FOR_EACH_REFERENCED_VAR): Adjust.
2284         (FOR_EACH_REFERENCED_VAR_IN_BITMAP): New iterator.
2285         (num_referenced_vars): Adjust.
2286         * tree-flow-inline.h (gimple_referenced_vars): Adjust.
2287         (first_referenced_var): Remove.
2288         (end_referenced_vars_p): Likewise.
2289         (next_referenced_var): Likewise.
2290         (referenced_var_iterator_set): New helper function.
2291         * tree-dfa.c (referenced_var_lookup): Adjust.
2292         (referenced_var_check_and_insert): Likewise.
2293         (remove_referenced_var): Likewise.
2294         * tree-ssa.c (verify_flow_insensitive_alias_info): Use
2295         FOR_EACH_REFERENCED_VAR_IN_BITMAP.
2296         (verify_call_clobbering): Likewise.
2297         (verify_memory_partitions): Likewise.
2298         (init_tree_ssa): Allocate bitmap instead of hashtable for
2299         referenced_vars.
2300         (delete_tree_ssa): Adjust.
2301         * tree-ssa-alias.c (mark_aliases_call_clobbered): Use
2302         FOR_EACH_REFERENCED_VAR_IN_BITMAP.
2303         (compute_tag_properties): Likewise.
2304         (set_initial_properties): Likewise.
2305         (find_partition_for): Likewise.
2306         (update_reference_counts): Likewise.
2307         (dump_may_aliases_for): Likewise.
2308         * tree-ssa-operands.c (add_virtual_operand): Likewise.
2309         (add_call_clobber_ops): Likewise.
2310         (add_call_read_ops): Likewise.
2311         (get_asm_expr_operands): Likewise.
2312         * tree-into-ssa.c (dump_decl_set): Likewise.
2313         (update_ssa): Likewise.
2314         * tree-sra.c (scan_function): Likewise.
2315         (decide_instantiations): Likewise.
2316         (scalarize_parms): Likewise.
2317         * tree-ssa-alias-warnings.c (build_reference_table): Likewise.
2318         (dsa_named_for): Likewise.
2319         * tree-ssa-structalias.c (update_alias_info): Likewise.
2320         (merge_smts_into): Likewise.
2321
2322 2008-02-27  David Daney  <ddaney@avtrex.com>
2323
2324         PR target/34409
2325         * config/mips/iris.h (MIPS_DEBUGGING_INFO): Define.
2326         * config/mips/openbsd.h (MIPS_DEBUGGING_INFO): Same.
2327         * config/mips/sde.h (MIPS_DEBUGGING_INFO): Remove undef.
2328         * config/mips/vxworks.h (MIPS_DEBUGGING_INFO): Same.
2329         * config/mips/mips.h (MIPS_DEBUGGING_INFO): Remove define.
2330
2331 2008-02-27  Uros Bizjak  <ubizjak@gmail.com>
2332
2333         PR target/25477
2334         * config/darwin-ppc-ldouble-patch.def (BUILT_IN_NANL): Add.
2335         (BUILT_IN_NEXTTOWARD): Remove.
2336         (BUILT_IN_NEXTTOWARDF): Ditto.
2337         * config/darwin.c (darwin_patch_builtin): Use ACONCAT instead of
2338         alloca/strcpy/strcat.  Remove commented-out code.  Fix whitespace.
2339
2340 2008-02-27  Tom Tromey  <tromey@redhat.com>
2341
2342         * tree-dump.c (dequeue_and_dump) <FUNCTION_DECL>: Check
2343         DECL_SAVED_TREE, not DECL_LANG_SPECIFIC, when dumping body.
2344
2345 2008-02-27  Jan Beulich  <jbeulich@novell.com>
2346
2347         * c-decl.c (merge_decls): Use DECL_USER_ALIGN() on olddecl to
2348         update the respective field on newdecl.
2349
2350 2008-02-27  Revital Eres  <eres@il.ibm.com>
2351
2352         PR rtl-optimization/34999
2353         * bb-reorder.c (add_labels_and_missing_jumps): Do not handle
2354         crossing edges that ends with a call insn.
2355         (fix_up_fall_thru_edges): Handle crossing edges that ends with a
2356         call insn and clear the EDGE_CROSSING flag of the crossing edge
2357         when fixing fallthru edges.
2358
2359 2008-02-27  Richard Guenther  <rguenther@suse.de>
2360
2361         PR middle-end/35390
2362         * fold-const.c (fold_unary): Return the correct argument,
2363         converted to the result type.
2364
2365 2008-02-27  Richard Guenther  <rguenther@suse.de>
2366
2367         PR middle-end/34971
2368         * expr.c (expand_expr_real_1): Assert on rotates that operate
2369         on partial modes.
2370         * fold-const.c (fold_binary): Use the types precision, not the
2371         bitsize of the mode if folding rotate expressions.  Build rotates
2372         only for full modes.
2373
2374 2008-02-27  Jakub Jelinek  <jakub@redhat.com>
2375
2376         * c-ppoutput.c (scan_translation_unit): Handle CPP_PRAGMA
2377         and CPP_PRAGMA_EOL.
2378         * c-pragma.c (pragma_ns_name): New typedef.
2379         (registered_pp_pragmas): New variable.
2380         (c_pp_lookup_pragma): New function.
2381         (c_register_pragma_1): If flag_preprocess_only, do nothing
2382         for non-expanded pragmas, for expanded ones push pragma's
2383         namespace and name into registered_pp_pragmas vector.
2384         (c_invoke_pragma_handler): Register OpenMP pragmas even when
2385         flag_preprocess_only, don't register GCC pch_preprocess
2386         pragma if flag_preprocess_only.
2387         * c-opts.c (c_common_init): Call init_pragma even if
2388         flag_preprocess_only.
2389         * c-pragma.c (c_pp_lookup_pragma): New prototype.
2390         * config/darwin.h (DARWIN_REGISTER_TARGET_PRAGMAS): Don't call
2391         cpp_register_pragma if flag_preprocess_only.
2392
2393 2008-02-26  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2394
2395         PR c/28800
2396         * c-parser.c (c_parser_translation_unit): Warn for empty
2397         translation unit, not empty source file.
2398
2399 2008-02-26  Paul Brook  <paul@codesourcery.com>
2400
2401         * config/arm/arm.c (thumb_set_frame_pointer): Ensure SP is first
2402         operand for Thumb-2.
2403         * config/arm/arm.h (reg_class): Add CORE_REGS.
2404         (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Ditto.
2405         (BASE_REG_CLASS): Use CORE_REGS.
2406         (PREFERRED_RELOAD_CLASS): Add STACK_REG.
2407         (REGNO_MODE_OK_FOR_REG_BASE_P): Use REGNO_MODE_OK_FOR_BASE_P.
2408         (REGNO_OK_FOR_INDEX_P): Exclude SP.
2409         (ARM_REG_OK_FOR_INDEX_P): Always define.  Use
2410         ARM_REGNO_OK_FOR_INDEX_P.
2411         (ARM_PRINT_OPERAND_ADDRESS): Swap operands for [reg, sp].
2412         * config/arm/arm.md (arm_addsi3, thumb1_addsi3, arm_subsi3_insn,
2413         arm_movsi_insn, thumb1_movsi_insni, stack_tie): Add "k" alternatives.
2414         (ldm/stm peepholes): Ditto.
2415         * config/arm/thumb2.md (thumb2_movdi): Add "k" alternatives.
2416         * config/arm/vfp.md (arm_movsi_vfp, thumb2_movsi_vfp): Ditto.
2417         * config/arm/iwmmxt.md (iwmmxt_movsi_insn): Ditto.
2418         * config/arm/constraints.md: Enable "k" constraint on ARM.
2419
2420 2008-02-27  Ben Elliston  <bje@au.ibm.com>
2421
2422         * config/rs6000/rs6000.c: Annotate cache line size field in all
2423         instances of struct processor_costs.
2424
2425 2008-02-26  David Edelsohn  <edelsohn@gnu.org>
2426
2427         * dbgcnt.def (cfg_cleanup, cprop1, cprop2, dce_fast, dce_ud, dse1,
2428         dse2, gcse, if_conversion, if_after_combine, if_after_reload,
2429         jump_bypass): New counters.
2430         * cfgcleanup.c (cleanup_cfg): Add dbg_cnt.
2431         * dce.c (gate_ud_dce): Same.
2432         (gate_fast_dce): Same.
2433         * dse.c (gate_dse1): New function.
2434         (gate_dse2): New function.
2435         (gate_dse): Merge results of new gate functions.
2436         * gcse.c (gcse_main): Bracket cprop1 and cprop2 with dbg_cnt.
2437         (gate_handle_jump_bypass): Add dbg_cnt.
2438         (gate_handle_gcse): Add dbg_cnt.
2439         * ifcvt.c (gate_handle_if_conversion): Same.
2440         (gate_handle_if_after_combine): Same.
2441         (gate_handle_if_after_reload): Same.
2442         * Makefile.in: Add DBGCNT_H to cfgcleanup.o and ifcvt.o.
2443
2444 2008-02-26  Edmar Wienskoski  <edmar@freescale.com>
2445
2446         * config/rs6000/rs6000.c (processor_costs): Update e300 cache
2447         line sizes.
2448         * doc/invoke.texi: Add e300c2 and e300c3 to list of cpus.
2449
2450 2008-02-26  Jason Merrill  <jason@redhat.com>
2451
2452         PR c++/35315
2453         * attribs.c (decl_attributes): Leave ATTR_FLAG_TYPE_IN_PLACE 
2454         alone if it's the naming decl for the type's main variant.
2455
2456 2008-02-26  Tom Tromey  <tromey@redhat.com>
2457
2458         * system.h (USE_MAPPED_LOCATION): Poison.
2459         * Makefile.in (GTFILES): Put CPP_ID_DATA_H first.
2460         * tree-cfg.c (make_cond_expr_edges): Remove old location code.
2461         (make_goto_expr_edges): Likewise.
2462         (remove_bb): Likewise.
2463         (execute_warn_function_return): Likewise.
2464         * basic-block.h (struct edge_def) <goto_locus>: Change type to
2465         location_t.
2466         * c-common.c (fname_decl): Remove old location code.
2467         * tree-vect-transform.c (vect_finish_stmt_generation): Remove old
2468         location code.
2469         * rtl.h (ASM_OPERANDS_SOURCE_LOCATION): Remove old-location
2470         variant.
2471         (ASM_INPUT_SOURCE_LOCATION): Likewise.
2472         (gen_rtx_ASM_INPUT): Likewise.
2473         (gen_rtx_ASM_INPUT_loc): Likewise.
2474         (get_rtx_asm_OPERANDS): Remove.
2475         * cfglayout.c (insn_locators_alloc): Remove old location code.
2476         (set_curr_insn_source_location): Likewise.
2477         (curr_insn_locator): Likewise.
2478         * print-tree.c (print_node): Remove old location code.
2479         * tree-mudflap.c (mf_varname_tree): Remove old location code.
2480         (mf_file_function_line_tree): Remove test of USE_MAPPED_LOCATION.
2481         * cfgexpand.c (expand_gimple_cond_expr): Don't use
2482         location_from_locus.
2483         (construct_exit_block): Remove old location code.
2484         * emit-rtl.c (force_next_line_note): Remove old location code.
2485         * profile.c (branch_prob): Remove old location code.
2486         * tree-vectorizer.h (LOC, UNKNOWN_LOC, EXPR_LOC, LOC_FILE,
2487         LOC_LINE): Remove old-location variants.
2488         * langhooks.c (lhd_print_error_function): Remove old location
2489         code.
2490         * configure, config.in: Rebuilt.
2491         * configure.ac (--enable-mapped-location): Remove.
2492         * c-decl.c (c_init_decl_processing): Remove old location code.
2493         (finish_function): Likewise.
2494         * recog.c (decode_asm_operands): Remove old location code.
2495         * c-pch.c (c_common_read_pch): Remove old location code.
2496         * rtl.def (ASM_INPUT, ASM_OPERANDS): Remove old location
2497         variants.
2498         * gimple-low.c (lower_function_body): Remove old location code.
2499         * toplev.c (unknown_location): Remove.
2500         (push_srcloc): Remove old-location variant.
2501         (process_options): Remove old location code.
2502         (lang_dependent_init): Likewise.
2503         * input.h (UNKNOWN_LOCATION): Move definition.
2504         (location_t): Undeprecate.
2505         (source_locus): Remove.
2506         (location_from_locus): Remove.
2507         (struct location_s): Remove.
2508         Remove all old-location code.
2509         (input_line, input_filename): Remove.
2510         * final.c (final_scan_insn): Remove old location code.
2511         * diagnostic.c (diagnostic_build_prefix): Remove
2512         USE_MAPPED_LOCATION test.
2513         * tree.h (gimple_stmt) <locus>: Now a location_t.
2514         (tree_exp) <locus>: Likewise.
2515         (DECL_IS_BUILTIN): Remove old-location variant.
2516         (annotate_with_file_line, annotate_with_locus): Likewise.
2517         (expr_locus, set_expr_locus): Update.
2518         * tree.c (build1_stat): Remove old location code.
2519         (last_annotated_node): Remove.
2520         (annotate_with_file_line): Remove old-location variant.
2521         (annotate_with_locus): Likewise.
2522         (expr_location): Remove old location code.
2523         (set_expr_location): Likewise.
2524         (expr_has_location): Likewise.
2525         (expr_locus): Likewise.
2526         (set_expr_locus): Likewise.
2527         (expr_filename): Don't use location_from_locus.
2528         (expr_lineno): Likewise.
2529         * rtl-error.c (location_for_asm): Remove old location code.
2530         * c-lex.c (cb_line_change): Remove old location code.
2531         (fe_file_change): Likewise.
2532         (cb_def_pragma): Likewise.
2533         (c_lex_with_flags): Likewise.
2534         * gengtype.c (do_typedef): Don't special-case location types.
2535         (define_location_structures): Remove.
2536         (main): Don't call define_location_structures.
2537         * tree-pretty-print.c (dump_implicit_edges): Remove old location
2538         code.
2539
2540 2008-02-26  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
2541
2542         PR 26264
2543         * builtins.def (BUILT_IN_STDARG_START): Remove.
2544         * builtins.c (expand_builtin): Remove BUILT_IN_STDARG_START.
2545         * tree-stdarg.c (execute_optimize_stdarg): Likewise.
2546         * tree-inline.c (inline_forbidden_p_1): Likewise.
2547         
2548 2008-02-26  Richard Guenther  <rguenther@suse.de>
2549
2550         * tree-flow.h (uid_decl_map_hash, uid_decl_map_eq): Move ...
2551         * tree.h (uid_decl_map_hash, uid_decl_map_eq): ... here.
2552         (lookup_decl_from_uid): Declare.
2553         (remove_decl_from_map): Likewise.
2554         * tree-ssa.c (uid_decl_map_eq, uid_decl_map_hash): Move ...
2555         * tree.c (uid_decl_map_eq, uid_decl_map_hash): ... here.
2556         (decl_for_uid_map): New global hashtable mapping DECL_UID
2557         to the decl tree.
2558         (init_ttree): Allocate it.
2559         (insert_decl_to_uid_decl_map): New helper function.
2560         (make_node_stat): Insert new decls into the map.
2561         (copy_node_stat): Likewise.
2562         (lookup_decl_from_uid): New function.
2563         (remove_decl_from_map): Likewise.
2564         (print_decl_for_uid_map_statistics): New helper.
2565         (dump_tree_statistics): Call it.
2566
2567         * tree-flow.h (struct gimple_df): Make referenced_vars a bitmap.
2568         (referenced_var_iterator): Adjust.
2569         (FOR_EACH_REFERENCED_VAR): Adjust.
2570         (FOR_EACH_REFERENCED_VAR_IN_BITMAP): New iterator.
2571         (num_referenced_vars): Adjust.
2572         * tree-flow-inline.h (gimple_referenced_vars): Adjust.
2573         (first_referenced_var): Remove.
2574         (end_referenced_vars_p): Likewise.
2575         (next_referenced_var): Likewise.
2576         (referenced_var_iterator_set): New helper function.
2577         * tree-dfa.c (referenced_var_lookup): Adjust.
2578         (referenced_var_check_and_insert): Likewise.
2579         (remove_referenced_var): Likewise.
2580         * tree-ssa.c (verify_flow_insensitive_alias_info): Use
2581         FOR_EACH_REFERENCED_VAR_IN_BITMAP.
2582         (verify_call_clobbering): Likewise.
2583         (verify_memory_partitions): Likewise.
2584         (init_tree_ssa): Allocate bitmap instead of hashtable for
2585         referenced_vars.
2586         (delete_tree_ssa): Adjust.
2587         * tree-ssa-alias.c (mark_aliases_call_clobbered): Use
2588         FOR_EACH_REFERENCED_VAR_IN_BITMAP.
2589         (compute_tag_properties): Likewise.
2590         (set_initial_properties): Likewise.
2591         (find_partition_for): Likewise.
2592         (update_reference_counts): Likewise.
2593         (dump_may_aliases_for): Likewise.
2594         * tree-ssa-operands.c (add_virtual_operand): Likewise.
2595         (add_call_clobber_ops): Likewise.
2596         (add_call_read_ops): Likewise.
2597         (get_asm_expr_operands): Likewise.
2598         * tree-into-ssa.c (dump_decl_set): Likewise.
2599         (update_ssa): Likewise.
2600         * tree-sra.c (scan_function): Likewise.
2601         (decide_instantiations): Likewise.
2602         (scalarize_parms): Likewise.
2603         * tree-ssa-alias-warnings.c (build_reference_table): Likewise.
2604         (dsa_named_for): Likewise.
2605         * tree-ssa-structalias.c (update_alias_info): Likewise.
2606         (merge_smts_into): Likewise.
2607
2608 2008-02-26  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
2609
2610         PR 34351
2611         * doc/invoke.texi (-Wall): Add -Wvolatile-register-var.
2612         * c-opts.c (c_common_handle_option): Wall enables
2613         Wvolatile-register-var.
2614         * common.opt: Move Wvolatile-register-var to...
2615         * c.opt: ...here.
2616         
2617 2008-02-26  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
2618
2619         * common.opt (Wlarger-than=): New.
2620         * doc/invoke.texi (Warning Options): Replace -Wlarger-than- with
2621         -Wlarger-than=.
2622         * opts.c (common_handle_option): Handle -Wlarger-than=.
2623         * optc-gen.awk: Likewise.
2624         * opth-gen.awk: Likewise.
2625         * stor-layout.c (layout_decl): Use -Wlarger-than= for warning.
2626         * tree-optimize.c (tree_rest_of_compilation): Likewise.
2627         
2628 2008-02-26  Manuel Lopez-Ibanez <manu@gcc.gnu.org>
2629
2630         * c-common.c (match_case_to_enum_1): Add appropriate
2631         OPT_W* parameter to warning.
2632         (c_do_switch_warnings): Likewise.
2633         * c-typeck.c (warning_init): Add one more parameter following
2634         'warning' function.
2635         (push_init_level): Update call to warning_init.
2636         (pop_init_level): Likewise.
2637         (add_pending_init): Likewise.
2638         (output_init_element: Likewise.
2639
2640 2008-02-26  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
2641
2642         PR 28322
2643         * toplev.c (toplev_main): If there are warnings or error, print
2644         errors for ignored options.
2645         * opts.c (ignored_options): New static variable.
2646         (postpone_unknown_option_error): New.
2647         (print_ignored_options): New.
2648         (handle_option): Postpone errors for unknown -Wno-* options.
2649         * opts.h (print_ignored_options): Declare.
2650         
2651 2008-02-25  Richard Sandiford  <rsandifo@nildram.co.uk>
2652
2653         * config/mips/mips.md (loadgp_blockage, blockage): Change type
2654         to "ghost".
2655
2656 2008-02-25  Richard Guenther  <rguenther@suse.de>
2657
2658         Revert:
2659         2008-02-25  Richard Guenther  <rguenther@suse.de>
2660
2661         * tree-flow.h (uid_decl_map_hash, uid_decl_map_eq): Move ...
2662         * tree.h (uid_decl_map_hash, uid_decl_map_eq): ... here.
2663         (lookup_decl_from_uid): Declare.
2664         * tree-ssa.c (uid_decl_map_eq, uid_decl_map_hash): Move ...
2665         * tree.c (uid_decl_map_eq, uid_decl_map_hash): ... here.
2666         (decl_for_uid_map): New global hashtable mapping DECL_UID
2667         to the decl tree.
2668         (init_ttree): Allocate it.
2669         (insert_decl_to_uid_decl_map): New helper function.
2670         (make_node_stat): Insert new decls into the map.
2671         (copy_node_stat): Likewise.
2672         (lookup_decl_from_uid): New function.
2673         (print_decl_for_uid_map_statistics): New helper.
2674         (dump_tree_statistics): Call it.
2675
2676         * tree-flow.h (struct gimple_df): Make referenced_vars a bitmap.
2677         (referenced_var_iterator): Adjust.
2678         (FOR_EACH_REFERENCED_VAR): Adjust.
2679         (FOR_EACH_REFERENCED_VAR_IN_BITMAP): New iterator.
2680         (num_referenced_vars): Adjust.
2681         * tree-flow-inline.h (gimple_referenced_vars): Adjust.
2682         (first_referenced_var): Remove.
2683         (end_referenced_vars_p): Likewise.
2684         (next_referenced_var): Likewise.
2685         (referenced_var_iterator_set): New helper function.
2686         * tree-dfa.c (referenced_var_lookup): Adjust.
2687         (referenced_var_check_and_insert): Likewise.
2688         (remove_referenced_var): Likewise.
2689         * tree-ssa.c (verify_flow_insensitive_alias_info): Use
2690         FOR_EACH_REFERENCED_VAR_IN_BITMAP.
2691         (verify_call_clobbering): Likewise.
2692         (verify_memory_partitions): Likewise.
2693         (init_tree_ssa): Allocate bitmap instead of hashtable for
2694         referenced_vars.
2695         (delete_tree_ssa): Adjust.
2696         * tree-ssa-alias.c (mark_aliases_call_clobbered): Use
2697         FOR_EACH_REFERENCED_VAR_IN_BITMAP.
2698         (compute_tag_properties): Likewise.
2699         (set_initial_properties): Likewise.
2700         (find_partition_for): Likewise.
2701         (update_reference_counts): Likewise.
2702         (dump_may_aliases_for): Likewise.
2703         * tree-ssa-operands.c (add_virtual_operand): Likewise.
2704         (add_call_clobber_ops): Likewise.
2705         (add_call_read_ops): Likewise.
2706         (get_asm_expr_operands): Likewise.
2707         * tree-into-ssa.c (dump_decl_set): Likewise.
2708         (update_ssa): Likewise.
2709         * tree-sra.c (scan_function): Likewise.
2710         (decide_instantiations): Likewise.
2711         (scalarize_parms): Likewise.
2712         * tree-ssa-alias-warnings.c (build_reference_table): Likewise.
2713         (dsa_named_for): Likewise.
2714         * tree-ssa-structalias.c (update_alias_info): Likewise.
2715         (merge_smts_into): Likewise.
2716
2717 2008-02-25  Janne Blomqvist  <jb@gcc.gnu.org>
2718
2719         PR fortran/29549
2720         * doc/invoke.texi (-fcx-limited-range): Document new option.
2721         * toplev.c (process_options): Handle -fcx-fortran-rules.
2722         * common.opt: Add documentation for -fcx-fortran-rules.
2723
2724 2008-02-25  Janne Blomqvist  <jb@gcc.gnu.org>
2725
2726         PR c/35162
2727         * doc/invoke.texi (-fcx-limited-range): Correct to be in line with
2728         actual behaviour and C99.
2729         
2730 2008-02-26  Ben Elliston  <bje@au.ibm.com>
2731
2732         * config/rs6000/rs6000.h (ASM_CPU_POWER5_SPEC): Define.
2733         (ASM_CPU_POWER6_SPEC): Likewise.
2734         (ASM_CPU_SPEC): Pass %(asm_cpu_power5) for -mcpu=power5.
2735         Likewise, pass %(asm_cpu_power6) for -mcpu=power6.
2736         (EXTRA_SPECS): Add asm_cpu_power5, asm_cpu_power6 spec strings.
2737
2738 2008-02-25  Richard Guenther  <rguenther@suse.de>
2739
2740         * tree-flow.h (uid_decl_map_hash, uid_decl_map_eq): Move ...
2741         * tree.h (uid_decl_map_hash, uid_decl_map_eq): ... here.
2742         (lookup_decl_from_uid): Declare.
2743         * tree-ssa.c (uid_decl_map_eq, uid_decl_map_hash): Move ...
2744         * tree.c (uid_decl_map_eq, uid_decl_map_hash): ... here.
2745         (decl_for_uid_map): New global hashtable mapping DECL_UID
2746         to the decl tree.
2747         (init_ttree): Allocate it.
2748         (insert_decl_to_uid_decl_map): New helper function.
2749         (make_node_stat): Insert new decls into the map.
2750         (copy_node_stat): Likewise.
2751         (lookup_decl_from_uid): New function.
2752         (print_decl_for_uid_map_statistics): New helper.
2753         (dump_tree_statistics): Call it.
2754
2755         * tree-flow.h (struct gimple_df): Make referenced_vars a bitmap.
2756         (referenced_var_iterator): Adjust.
2757         (FOR_EACH_REFERENCED_VAR): Adjust.
2758         (FOR_EACH_REFERENCED_VAR_IN_BITMAP): New iterator.
2759         (num_referenced_vars): Adjust.
2760         * tree-flow-inline.h (gimple_referenced_vars): Adjust.
2761         (first_referenced_var): Remove.
2762         (end_referenced_vars_p): Likewise.
2763         (next_referenced_var): Likewise.
2764         (referenced_var_iterator_set): New helper function.
2765         * tree-dfa.c (referenced_var_lookup): Adjust.
2766         (referenced_var_check_and_insert): Likewise.
2767         (remove_referenced_var): Likewise.
2768         * tree-ssa.c (verify_flow_insensitive_alias_info): Use
2769         FOR_EACH_REFERENCED_VAR_IN_BITMAP.
2770         (verify_call_clobbering): Likewise.
2771         (verify_memory_partitions): Likewise.
2772         (init_tree_ssa): Allocate bitmap instead of hashtable for
2773         referenced_vars.
2774         (delete_tree_ssa): Adjust.
2775         * tree-ssa-alias.c (mark_aliases_call_clobbered): Use
2776         FOR_EACH_REFERENCED_VAR_IN_BITMAP.
2777         (compute_tag_properties): Likewise.
2778         (set_initial_properties): Likewise.
2779         (find_partition_for): Likewise.
2780         (update_reference_counts): Likewise.
2781         (dump_may_aliases_for): Likewise.
2782         * tree-ssa-operands.c (add_virtual_operand): Likewise.
2783         (add_call_clobber_ops): Likewise.
2784         (add_call_read_ops): Likewise.
2785         (get_asm_expr_operands): Likewise.
2786         * tree-into-ssa.c (dump_decl_set): Likewise.
2787         (update_ssa): Likewise.
2788         * tree-sra.c (scan_function): Likewise.
2789         (decide_instantiations): Likewise.
2790         (scalarize_parms): Likewise.
2791         * tree-ssa-alias-warnings.c (build_reference_table): Likewise.
2792         (dsa_named_for): Likewise.
2793         * tree-ssa-structalias.c (update_alias_info): Likewise.
2794         (merge_smts_into): Likewise.
2795
2796 2008-02-25  Andreas Krebbel  <krebbel1@de.ibm.com>
2797
2798         PR target/35258
2799         * cse.c (cse_insn): Avoid creation of overlapping MEMs.
2800         * alias.c (nonoverlapping_memrefs_p): Export for use in other modules.
2801         * alias.h (nonoverlapping_memrefs_p): Likewise.
2802
2803 2008-02-25  Jan Beulich  <jbeulich@novell.com>
2804
2805         * Makefile.in: Also prefix uses of crt0.o and mcrt0.o with $(T).
2806         * config/i386/netware-libgcc.exp: Add __bswap?i2,
2807         __emultls_get_address, __emultls_register_common,
2808         __floatundi?f, and _Unwind_GetIPInfo.
2809         * config/i386/netware.c (gen_stdcall_or_fastcall_decoration):
2810         Sync with config/i386/winnt.c:gen_stdcall_or_fastcall_suffix().
2811         (gen_regparm_prefix): Likewise.
2812         (i386_nlm_encode_section_info): Sync with
2813         config/i386/winnt.c:i386_pe_encode_section_info().
2814         (i386_nlm_maybe_mangle_decl_assembler_name): New.
2815         i386_nlm_mangle_decl_assembler_name): New.
2816         (netware_override_options): New.
2817         * config/i386/netware.h (netware_override_options): Declare.
2818         (OVERRIDE_OPTIONS): Re-define to netware_override_options.
2819         (i386_nlm_mangle_decl_assembler_name): Declare.
2820         (TARGET_MANGLE_DECL_ASSEMBLER_NAME): Define.
2821
2822 2008-02-25  Ben Elliston  <bje@au.ibm.com>
2823
2824         PR other/32948
2825         * c-decl.c (grokdeclarator): Remove unused local variables
2826         `typedef_type' and `type_as_written'.
2827         * bb-reorder.c
2828         (find_rarely_executed_basic_blocks_and_crossing_edges): Remove
2829         unused local variable `has_hot_blocks'.
2830         (fix_crossing_conditional_branches): Remove unused local variable
2831         `prev_bb'.
2832         
2833 2008-02-25  Uros Bizjak  <ubizjak@gmail.com>
2834
2835         PR middle-end/19984
2836         * builtins.def (BUILT_IN_NAN): Define as c99 builtin
2837         using DEF_C99_BUILTIN.
2838         (BUILT_IN_NANF): Ditto.
2839         (BUILT_IN_NANL): Ditto.
2840
2841 2008-02-25  Ayal Zaks  <zaks@il.ibm.com>
2842             Revital Eres  <eres@il.ibm.com>
2843
2844         * modulo-sched.c (calculate_must_precede_follow): Address TODO
2845         regarding the order of two dependent insns in the same row.
2846
2847 2008-02-25  Eric Botcazou  <ebotcazou@adacore.com>
2848
2849         * stor-layout.c (layout_decl): Do not bump the alignment of a
2850         bit-field to more than byte alignment if it is packed.
2851
2852 2008-02-24  David Edelsohn  <edelsohn@gnu.org>
2853
2854         * config/rs6000/rs6000.c (processor_costs): Add cache costs for
2855         e300c2 and e300c3.
2856
2857 2008-02-24  Diego Novillo  <dnovillo@google.com>
2858
2859         http://gcc.gnu.org/ml/gcc-patches/2008-02/msg01094.html
2860
2861         PR 33738
2862         * tree-vrp.c (vrp_evaluate_conditional): With
2863         -Wtype-limits, emit a warning when comparing against a
2864         constant outside the natural range of OP0's type.
2865         * c.opt (Wtype-limits): Move ...
2866         * common.opt (Wtype-limits): ... here.
2867
2868 2008-02-24  Edmar Wienskoski  <edmar@freescale.com>
2869
2870         * config.gcc (powerpc*-*-*): Add new cores e300c2 and e300c3.
2871         * config/rs6000/e300c2c3.md: New file.
2872         * config/rs6000/rs6000.c (processor_costs): Add new costs for
2873         e300c2 and e300c3.
2874         (rs6000_override_options): Add e300c2 and e300c3 cases to
2875         processor_target_table. Do not allow usage of Altivec or Spe
2876         with e300 cores. Initialize rs6000_cost for e300c2 and e300c3.
2877         (rs6000_issue_rate): Set issue rate for e300c2 and e300c3.
2878         * config/rs6000/rs6000.h (processor_type): Add
2879         PROCESSOR_PPCE300C2 and PROCESSOR_PPCE300C3.
2880         (ASM_CPU_SPEC): Add e300c2 and e300c3.
2881         * config/rs6000/rs6000.md (define_attr "cpu"): Add ppce300c2
2882         and ppce300c3. Include e300c2c3.md.
2883
2884 2008-02-23  David Edelsohn  <edelsohn@gnu.org>
2885
2886         * config/rs6000/rs6000.h (CONSTANT_ALIGNMENT): Use STRICT_ALIGNMENT
2887         instead of TARGET_STRICT_ALIGN.
2888
2889 2008-02-23  Joseph Myers  <joseph@codesourcery.com>
2890
2891         * explow.c (memory_address): Assert that the generated address is
2892         valid.
2893
2894 2008-02-23  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
2895
2896         PR target/25477
2897         * config/darwin-protos.h: Add darwin_patch_builtins prototype.
2898         * config/darwin-ppc-ldouble-patch.def: New file.
2899         * config/rs6000/darwin.h (SUBTARGET_INIT_BUILTINS): New macro.
2900         * config/rs6000/rs6000.c (rs6000_init_builtins): Call
2901         SUBTARGET_INIT_BUILTINS if defined.
2902         * config/darwin.c (darwin_patch_builtin, darwin_patch_builtins):
2903         New functions.
2904
2905 2008-02-23  Andrew Pinski  <andrew_pinski@playstation.sony.com>
2906
2907         PR rtl-opt/33512
2908         * simplify-rtx.c (simplify_binary_operation_1): Add simplification
2909         of (and X (ior (not X) Y) and (and (ior (not X) Y) X).
2910
2911 2008-02-23  Andrew Pinski  <andrew_pinski@playstation.sony.com>
2912
2913         PR pch/35027
2914         * c-pch.c (c_common_valid_pch): Make the "too short to be a PCH
2915         file" warning condtional on -Winvalid-PCH.
2916
2917 2008-02-23  Daniel Jacobowitz  <dan@codesourcery.com>
2918
2919         * expmed.c (extract_bit_field): Always use adjust_address for MEM.
2920
2921 2008-02-23  Uros Bizjak  <ubizjak@gmail.com>
2922
2923         PR target/22076
2924         PR target/34256 
2925         * config/i386/mmx.md (*mov<mode>_internal_rex64): Use "!y" to
2926         prevent reload from using MMX registers.
2927         (*mov<mode>_internal): Ditto.
2928         (*movv2sf_internal_rex64): Ditto.
2929         (*movv2sf_internal): Ditto.
2930
2931 2008-02-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2932
2933         PR documentation/31569
2934         * doc/install.texi2html: Use makeinfo --no-number-sections.
2935
2936 2008-02-22  Nathan Froyd  <froydnj@codesourcery.com>
2937
2938         * config/rs6000/rs6000.c (rs6000_legitimize_address): Check to
2939         ensure that we can address an entire entity > 8 bytes.  Don't
2940         generate reg+reg addressing for such data.
2941
2942 2008-02-22  Nathan Froyd  <froydnj@codesourcery.com>
2943
2944         * config/rs6000/rs6000.h (CONSTANT_ALIGNMENT): Don't overalign
2945         strings when optimizing for size, unless the target cares about
2946         alignment.
2947
2948 2008-02-22  Tom Tromey  <tromey@redhat.com>
2949
2950         * regclass.c (current_pass): Remove declaration.
2951
2952 2008-02-22  Anatoly Sokolov <aesok@post.ru>
2953
2954         * config/avr/libgcc.S (__RAMPZ__): Define.
2955         (__do_copy_data): Add for devices with 128KB code memory.
2956
2957 2008-02-22  Nathan Froyd  <froydnj@codesourcery.com>
2958
2959         * config/rs6000/linuxspe.h (SUBSUBTARGET_OVERRIDE_OPTIONS):
2960         Use spe_abi.
2961         * config/rs6000/eabispe.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Likewise.
2962
2963 2008-02-22  Hans-Peter Nilsson  <hp@axis.com>
2964
2965         * config/cris/cris.h (REG_CLASS_FROM_LETTER): Recognize 'b' for
2966         GENNONACR_REGS.
2967
2968 2008-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2969
2970         PR c/19999
2971         * c-typeck.c (build_binary_op): Warn about floating point
2972         comparisons if FLOAT_TYPE_P, not only for REAL_TYPE.
2973
2974 2008-02-21  Janis Johnson  <janis187@us.ibm.com>
2975
2976         PR target/34526
2977         * config/rs6000/rs6000.c (rs6000_altivec_abi): Clarify comment.
2978         (rs6000_explicit_options): Split abi into spe_abi and altivec_abi,
2979         add vrsave.
2980         (rs6000_override_options): Set altivec_abi as default, not override,
2981         for 64-bit GNU/Linux; for 32-bit GNU/Linux default to altivec_abi for
2982         TARGET_ALTIVEC; default to TARGET_ALTIVEC_VRSAVE when AltiVec ABI
2983         is used; use new member spe_abi.
2984         (rs6000_handle_option): Set rs6000_explicit_options.vrsave; use
2985         spe_abi and altivec_abi.
2986
2987 2008-02-22  Tomas Bily  <tbily@suse.cz>
2988
2989         * tree-vectorizer.c (vect_is_simple_reduction): Fix comment typo.
2990
2991 2008-02-21  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2992
2993         PR bootstrap/35273
2994         * config.build (build_file_translate): Set to `CMD //c' only if
2995         it works.
2996         * Makefile.in (build_file_translate): Improve comment.
2997
2998 2008-02-21  Jan Hubicka  <jh@suse.cz>
2999
3000         * predict.def (PRED_TREE_OPCODE_POSITIVE, PRED_TREE_OPCODE_NONEQUAL,
3001         PRED_TREE_OPCODE_POSITIVE, PRED_TREE_OPCODE_NONEQUAL, PRED_CALL,
3002         PRED_TREE_EARLY_RETURN, PRED_NULL_RETURN): Update.
3003
3004 2008-02-21  Michael Matz  <matz@suse.de>
3005
3006         PR target/35264
3007         * config/i386/i386.c (ix86_expand_branch): Add missing breaks.
3008
3009 2008-02-21  Uros Bizjak  <ubizjak@gmail.com>
3010
3011         * config/i386/i386.md (mov<mode>cc): Macroize expander from movsfcc,
3012         movdfcc and movxfcc using X87MODEF mode iterator and SSE_FLOAT_MODE_P
3013         as insn constraint.
3014         * config/i386/sse.md (<sse>_movup<ssemodesuffixf2c>): Macroize insn
3015         from sse_movups adn sse2_movupd using SSEMODEF2P mode iterator and
3016         SSE_VEC_FLOAT_MODE_P as insn constraint.
3017         (<sse>_movmskp<ssemodesuffixf2c>): Ditto from similar patterns.
3018         (sse4a_movnt<mode>): Macroize insn from sse4a_movntsf and
3019         sse4a_movntdf using MODEF mode iterator.
3020         (sse4a_vmmovnt<mode>): Macroize insn form sse4a_vmmovntv2df and
3021         sse4a_vmmovntv4sf using SSEMODEF2P mode iterator.
3022         (sse4_1_blendp<ssemodesuffixf2c>): Ditto from similar patterns.
3023         (sse4_1_blendvp<ssemodesuffixf2c>): Ditto.
3024         (sse4_1_dpp<ssemodesuffixf2c>): Ditto.
3025         (sse4_1_roundp<ssemodesuffixf2c>): Ditto.
3026         (sse4_1_rounds<ssemodesuffixf2c>): Ditto.
3027
3028 2008-02-21  Richard Guenther  <rguenther@suse.de>
3029
3030         * tree.def (PAREN_EXPR): New tree code.
3031         * fold-const.c (fold_unary): Remove PAREN_EXPR around constants
3032         and PAREN_EXPR.
3033         * tree-pretty-print.c (dump_generic_node): Handle PAREN_EXPR.
3034         * expr.c (expand_expr_real_1): Likewise.
3035         * tree-inline.c (estimate_num_insns_1): Likewise.
3036         * tree-complex.c (expand_complex_move): Likewise.
3037         * tree-vectorizer.c (vect_is_simple_use): Treat PAREN_EXPR (x)
3038         as plain x.
3039
3040 2008-02-20  Kaz Kojima  <kkojima@gcc.gnu.org>
3041
3042         PR target/35225
3043         * config/sh/sh.c (find_barrier): Don't go past 'from' argument.
3044
3045 2008-02-20  Kaz Kojima  <kkojima@gcc.gnu.org>
3046
3047         PR target/35190
3048         * config/sh/sh.md (jump_compact): Disable for crossing jumps.
3049
3050         * config/sh/sh.c (find_barrier): Don't go past
3051         NOTE_INSN_SWITCH_TEXT_SECTIONS note.
3052
3053 2008-02-20  DJ Delorie  <dj@redhat.com>
3054
3055         * config/h8300/h8300.md (insv): Force source operand to be a register.
3056
3057         * config/h8300/h8300.c (h8300_expand_epilogue): Emit return insn
3058         as a jump, not as a plain insn.
3059         
3060 2008-02-20  Seongbae Park <seongbae.park@gmail.com>
3061
3062         * doc/invoke.texi (Warning Options): Add new option
3063         -Wframe-larger-than=.
3064         (-Wframe-larger-than): Document.
3065
3066         * flags.h (warn_frame_larger_than, frame_larger_than_size):
3067         Add declarations for new option variables.
3068
3069         * final.c (final_start_function): Check the frame size
3070         before emission and issue a Wframe-larger-than warning.
3071
3072         * opts.c (warn_frame_larger_than, frame_larger_than_size):
3073         Add definitions for new option variables.
3074         (common_handle_option): Handle new option OPT_Wframe_larger_than_.
3075
3076         * common.opt (Wframe-larger-than=): New option.
3077
3078 2008-02-20  Uros Bizjak  <ubizjak@gmail.com>
3079
3080         * config/i386/sse.md (<sse>_vmmul<mode>3): Fix typo in asm template.
3081         (<sse>_div<mode>3): Ditto.
3082         (<sse>_vmdiv<mode>3): Ditto.
3083         (<sse>_vmsqrt<mode>2): Ditto.
3084         (*smax<mode>3): Ditto.
3085         (sse5_frcz<mode>2): Ditto.
3086         (sse5_vmfrcz<mode>2): Ditto.  Use TARGET_SSE5 instead of TARGET_ROUND
3087         as insn constraint.
3088
3089 2008-02-20  Richard Guenther  <rguenther@suse.de>
3090
3091         PR middle-end/35265
3092         * builtins.c (validate_arg): If we want an INTEGER_TYPE,
3093         be happy with INTEGRAL_TYPE_P.
3094
3095 2008-02-20  Richard Guenther  <rguenther@suse.de>
3096
3097         * fold-const.c (split_tree): Associate floatig-point expressions
3098         if flag_associative_math is set.
3099
3100 2008-02-20  Richard Guenther  <rguenther@suse.de>
3101
3102         * tree.h (fold_real_zero_addition_p): Declare.
3103         * fold-const.c (fold_real_zero_addition_p): Export.
3104         * tree-ssa-reassoc.c (eliminate_using_constants): Also handle
3105         floating-point operations with zero and one.
3106
3107 2008-02-20  Paolo Bonzini  <bonzini@gnu.org>
3108
3109         * doc/install.texi: Correct references to CFLAGS, replacing them
3110         with BOOT_CFLAGS.  Document flags used during bootstrap for
3111         target libraries.
3112                                 
3113 2008-02-20  Uros Bizjak  <ubizjak@gmail.com>
3114
3115         * config/i386/i386.h (SSE_VEC_FLOAT_MODE_P): New define.
3116         * config/i386/i386.md (*sse_setcc<mode>): Macroize from *sse_setccsf
3117         and *sse_setccdf using MODEF mode iterator and SSE_FLOAT_MODE_P as
3118         insn constraint.
3119         (smin<mode>3): Ditto from similar patterns.
3120         (smax<mode>3): Ditto.
3121         (*ieee_smin<mode>3): Ditto.
3122         (*ieee_smax<mode>3): Ditto.
3123         * config/i386/sse.md (sse): New mode attribute.
3124         (mov<mode>): Macroize expander from movv4sf and movv2df using
3125         SSEMODEF2P mode iterator.
3126         (<sse>_movnt<mode>): Ditto from similar patterns. Use
3127         SSE_VEC_FLOAT_MODE_P as insn constraint.
3128         (storent<mode>): Ditto.
3129         (storent<mode>): Macroize expander from storentsf and storentdf using
3130         MODEF mode iterator.
3131         (neg<mode>2): Macroize from negv4sf2 and negv2df2 using SSEMODEF2P
3132         mode iterator and SSE_VEC_FLOAT_MODE_P as insn constraint.
3133         (abs<mode>2): Ditto from similar patterns.
3134         (add<mode>3, *add<mode>3, <sse>_vmadd<mode>3): Ditto.
3135         (sub<mode>3, *sub<mode>3, <sse>_vmsub<mode>3): Ditto.
3136         (<sse>_div<mode>3, <sse>_vmdiv<mode>3): Ditto.
3137         (<sse>_vmsqrt<mode>2): Ditto.
3138         (smin<mode>3, *smin<mode>3_finite, *smin<mode>3)
3139         (<sse>_vmsmin<mode>3, *ieee_smin<mode>3): Ditto.
3140         (smax<mode>3, *smax<mode>3_finite, *smax<mode>3)
3141         (<sse>_vmsmax<mode>3, *ieee_smax<mode>3): Ditto.
3142         (<sse>_maskcmp<mode>3): Macroize from sse_maskcmpv4sf3,
3143         sse_maskcmpsf3, sse2_maskcmpv2df3 and sse2_maskcmpdf3 using SSEMODEF4
3144         mode iterator. Use SSE_FLOAT_MODE_P with SSE_VEC_FLOAT_MODE_P as
3145         insn constraint.
3146         (<sse>_comi): Macroize from sse_comi and sse2_comi using MODEF mode
3147         iterator and SSE_FLOAT_MODE_P as insn constraint.
3148         (<sse>_ucomi): Ditto from similar patterns.
3149         (<sse>_vmmaskcmp<mode>3): Macroize from sse_vmmaskcmpv4sf3 and
3150         sse2_vmmaskcmpv2df3 using SSEMODEF2P mode iterator and
3151         SSE_VEC_FLOAT_MODE_P as insn constraint.
3152         (vcond<mode>): Ditto from similar patterns.
3153         (and<mode>3, *and<mode>3): Ditto.
3154         (<sse>_nand<mode>3): Ditto.
3155         (ior<mode>3, *ior<mode>3): Ditto.
3156         (xor<mode>3, *xor<mode>3): Ditto.
3157         (*and<mode>3): Macroize from *andsf3 and *anddf3 using MODEF mode
3158         iterator and SSE_FLOAT_MODE_P as insn constraint.
3159         (*nand<mode>3): Ditto from similar patterns.
3160         (*ior<mode>3): Ditto.
3161         (*xor<mode>3): Ditto.
3162
3163 2008-02-20  Ira Rosen  <irar@il.ibm.com>
3164
3165         * config/spu/spu.md (vec_unpacku_hi_v8hi, vec_unpacku_lo_v8hi,
3166         vec_unpacks_hi_v8hi, vec_unpacks_lo_v8hi, vec_unpacku_hi_v16qi,
3167         vec_unpacku_lo_v16qi, vec_unpacks_lo_v16qi): Implement.
3168
3169 2008-02-19  Jan Hubicka  <jh@suse.cz>
3170
3171         * predict.c (tree_bb_level_predictions): Remove variable next
3172         mistakely introduced by previous commit.
3173
3174 2008-02-19  Jan Hubicka  <jh@suse.cz>
3175
3176         * predict.c (predict_paths_leading_to): Rewrite.
3177         (predict_paths_for_bb): New.
3178         (tree_bb_level_predictions): Update call of predict_paths_leading_to.
3179
3180 2008-02-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3181
3182         PR bootstrap/35218
3183         * Makefile.in (build_file_translate): New.
3184         (gcc-vers.texi): Use it for translating $(abs_srcdir).
3185         * config.build (build_file_translate): Set to `CMD //c' on MinGW.
3186         * configure.ac (build_file_translate): Substitute it.
3187         * configure: Regenerate.
3188
3189 2008-02-19  Jan Hubicka  <jh@suse.cz>
3190
3191         PR rtl-optimization/34408
3192         * see.c (see_def_extension_not_merged): Copy subreg so we don't have
3193         invalid sharing.
3194
3195 2008-02-19  Jan Hubicka  <jh@suse.cz>
3196
3197         PR middle-end/28779
3198         * tree-inline.c (estimate_num_insns_1): Fix counting of cost of
3199         call_expr.
3200
3201 2008-02-19  H.J. Lu  <hongjiu.lu@intel.com>
3202
3203         PR Ada/35186
3204         * config/i386/i386-modes.def: Revert the last DI alignment
3205         change until Ada people can look into it.
3206
3207 2008-02-19  Nick Clifton  <nickc@redhat.com>
3208
3209         * opts.c (print_specific_help): Fix typo in --help text.
3210
3211 2008-02-19  Jakub Jelinek  <jakub@redhat.com>
3212
3213         PR target/35239
3214         * config/i386/cpuid.h (__cpuid, __get_cpuid_max): Use special
3215         32-bit inline asm without asm alternatives for host GCC < 3.0.
3216
3217 2008-02-19  Richard Guenther  <rguenther@suse.de>
3218
3219         PR tree-optimization/34989
3220         * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Re-structure.
3221         Allow propagation to INDIRECT_REF if we can simplify only.
3222
3223 2008-02-19  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
3224
3225         * c-common.c (warn_for_collisions_1): Use appropriate option when
3226         warning.
3227
3228 2008-02-19  Nick Clifton  <nickc@redhat.com>
3229
3230         PR other/31349
3231         * opts.c (undocumented_msg): Leave blank unless checking is enabled.
3232         (handle_options): Fix indentation.
3233         (print_filtered_help): If no language-specific options were
3234         displayed tell the user how to list all the options supported by
3235         the language's front-end.
3236         (print_specific_help): Fix indentation and remove duplicate line.
3237         (common_handle_option): Handle the -v option.
3238         For --help enable the display of undocumented options if the -v
3239         switch has been included on the command line.
3240         For --help= check for overlaps in the arguments between the option
3241         classes and the language names and issue a warning when they
3242         cannot be disambiguated.
3243         * c.opt (v): Pass on to the common option handler.
3244
3245 2008-02-19  Revital Eres  <eres@il.ibm.com> 
3246
3247         * modulo-sched.c (sms_schedule): Change dump message when
3248         create_ddg function fails.
3249         (try_scheduling_node_in_cycle): Rename row to cycle.
3250         (print_partial_schedule): Rename CYCLE to ROW.
3251
3252 2008-02-19  Christian Bruel  <christian.bruel@st.com>
3253             Zdenek Dvorak  <ook@ucw.cz>
3254
3255         * tree-ssa-loop-ivopts.c (may_be_unaligned_p): Check step alignment.
3256
3257 2008-02-19  Uros Bizjak  <ubizjak@gmail.com>
3258
3259         PR target/33555
3260         * config/i386/i386.md (*x86_movsicc_0_m1_se): New insn pattern.
3261         (*x86_movdicc_0_m1_se): Ditto.
3262
3263 2008-02-19  Uros Bizjak  <ubizjak@gmail.com>
3264
3265         * config/i386/sfp-machine.h (__gcc_CMPtype): New typedef.
3266         (CMPtype): Define as __gcc_CMPtype.
3267         * config/rs6000/sfp-machine.h (__gcc_CMPtype): New typedef.
3268         (CMPtype): Define as __gcc_CMPtype.
3269
3270 2008-02-19  Hans-Peter Nilsson  <hp@axis.com>
3271
3272         Support valgrind 3.3 for --enable-checking=valgrind.
3273         * system.h: Consolidate ENABLE_VALGRIND_CHECKING-dependent defines
3274         here.
3275         [!VALGRIND_MAKE_MEM_NOACCESS]: Define as VALGRIND_MAKE_NOACCESS.
3276         [!VALGRIND_MAKE_MEM_DEFINED]: Define as VALGRIND_MAKE_READABLE.
3277         [!VALGRIND_MAKE_MEM_UNDEFINED]: Define as VALGRIND_MAKE_WRITABLE.
3278         * ggc-common.c: Remove ENABLE_VALGRIND_CHECKING-dependent defines.
3279         Replace use of VALGRIND_MAKE_READABLE, VALGRIND_MAKE_WRITABLE, and
3280         VALGRIND_MAKE_NOACCESS with VALGRIND_MAKE_MEM_DEFINED,
3281         VALGRIND_MAKE_MEM_UNDEFINED, and VALGRIND_MAKE_MEM_NOACCESS
3282         respectively.
3283         * ggc-zone.c: Similar.
3284         * ggc-page.c: Similar.
3285
3286 2008-02-19  Paul Brook  <paul@codesourcery.com>
3287
3288         PR target/35071
3289         * config/arm/ieee754-df.S: Fix do_it typo.
3290         * config/arm/ieee754-sf.S: Fix do_it typo.
3291
3292 2008-02-18  H.J. Lu  <hongjiu.lu@intel.com>
3293
3294         PR target/35189
3295         * config/i386/i386.c (OPTION_MASK_ISA_MMX_SET): New.
3296         (OPTION_MASK_ISA_3DNOW_SET): Likewise.
3297         (OPTION_MASK_ISA_SSE_SET): Likewise.
3298         (OPTION_MASK_ISA_SSE2_SET): Likewise.
3299         (OPTION_MASK_ISA_SSE3_SET): Likewise.
3300         (OPTION_MASK_ISA_SSSE3_SET): Likewise.
3301         (OPTION_MASK_ISA_SSE4_1_SET): Likewise.
3302         (OPTION_MASK_ISA_SSE4_2_SET): Likewise.
3303         (OPTION_MASK_ISA_SSE4_SET): Likewise.
3304         (OPTION_MASK_ISA_SSE4A_SET): Likewise.
3305         (OPTION_MASK_ISA_SSE5_SET): Likewise.
3306         (OPTION_MASK_ISA_3DNOW_A_UNSET): Likewise.
3307         (OPTION_MASK_ISA_MMX_UNSET): Updated.
3308         (OPTION_MASK_ISA_3DNOW_UNSET): Updated.
3309         (OPTION_MASK_ISA_SSE_UNSET): Likewise.
3310         (OPTION_MASK_ISA_SSE3_UNSET): Likewise.
3311         (OPTION_MASK_ISA_SSSE3_UNSET): Likewise.
3312         (OPTION_MASK_ISA_SSE4_1_UNSET): Likewise.
3313         (OPTION_MASK_ISA_SSE4_2_UNSET): Likewise.
3314         (OPTION_MASK_ISA_SSE4A_UNSET): Likewise.
3315         (OPTION_MASK_ISA_SSE5_UNSET): Likewise.
3316         (OPTION_MASK_ISA_SSE4): Removed.
3317         (ix86_handle_option): Turn on bits in ix86_isa_flags and
3318         ix86_isa_flags_explicit with OPTION_MASK_ISA_XXX_SET for -mXXX.
3319         (override_options): Don't turn on implied SSE/MMX bits in
3320         ix86_isa_flags.
3321
3322 2008-02-18  H.J. Lu  <hongjiu.lu@intel.com>
3323
3324         * config/i386/i386-modes.def: Use 4 byte alignment on DI for
3325         32bit host.
3326
3327 2008-02-18  Joey Ye  <joey.ye@intel.com>
3328
3329         PR middle-end/34921
3330         * tree-nested.c (insert_field_into_struct): Set type alignment
3331         to field alignment if the former is less than the latter.
3332
3333 2008-02-18  Jakub Jelinek  <jakub@redhat.com>
3334
3335         * BASE-VER: Set to 4.4.0.
3336
3337 2008-02-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
3338
3339         * doc/c-tree.texi: Use @dots{} and @enddots{} where appropriate.
3340         * doc/cfg.texi: Likewise.
3341         * doc/extend.texi: Likewise.
3342         * doc/gty.texi: Likewise.
3343         * doc/invoke.texi: Likewise.
3344         * doc/loop.texi: Likewise.
3345         * doc/md.texi: Likewise.
3346         * doc/passes.texi: Likewise.
3347         * doc/rtl.texi: Likewise.
3348         * doc/sourcebuild.texi: Likewise.
3349         * doc/tm.texi: Likewise.
3350         * doc/tree-ssa.texi: Likewise.
3351
3352 2008-02-17  Richard Guenther  <rguenther@suse.de>
3353
3354         PR middle-end/35227
3355         * tree-complex.c (init_parameter_lattice_values): Handle parameters
3356         without default definition.
3357
3358 2008-02-17  Richard Guenther  <rguenther@suse.de>
3359
3360         PR tree-optimization/35231
3361         * tree-vrp.c (register_edge_assert_for): Do not assume A == 0
3362         if A | B != 1.
3363
3364 2008-02-17  Uros Bizjak  <ubizjak@gmail.com>
3365
3366         Revert:
3367         2008-02-15  Uros Bizjak  <ubizjak@gmail.com>    
3368         * config/i386/sfp-machine.h (CMPtype): Define as typedef using
3369         libgcc_cmp_return mode.
3370
3371 2008-02-16  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
3372
3373         PR c/28368
3374         * doc/invoke.texi (-std): Clarify description of -std= and -ansi.
3375
3376 2008-02-16  Ralf Corsepius  <ralf.corsepius@rtems.org>
3377
3378         * config/m68k/t-rtems (M68K_MLIB_CPU): Add 5208, 5307, 5407, 5475
3379         multilibs.
3380
3381 2008-02-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3382
3383         * doc/c-tree.texi: Use `@.' where appropriate.
3384         * doc/extend.texi: Likewise.
3385         * doc/install.texi: Likewise.
3386         * doc/invoke.texi: Likewise.
3387         * doc/loop.texi: Likewise.
3388         * doc/makefile.texi: Likewise.
3389         * doc/md.texi: Likewise.
3390         * doc/passes.texi: Likewise.
3391         * doc/standards.texi: Likewise.
3392         * doc/tm.texi: Likewise.
3393
3394 2008-02-15  Jakub Jelinek  <jakub@redhat.com>
3395
3396         PR middle-end/35196
3397         * omp-low.c (expand_omp_for_generic): Don't initialize fd->v
3398         in entry_bb.
3399         (expand_omp_for_static_nochunk): Initialize fd->v in seq_start_bb
3400         rather than in entry_bb.
3401
3402 2008-02-15  Uros Bizjak  <ubizjak@gmail.com>
3403
3404         * config/i386/sfp-machine.h (CMPtype): Define as typedef using
3405         libgcc_cmp_return mode.
3406
3407 2008-02-15  Jakub Jelinek  <jakub@redhat.com>
3408
3409         PR middle-end/35130
3410         * tree-nested.c (convert_call_expr): Put FRAME.* vars into
3411         OMP_CLAUSE_SHARED rather than OMP_CLAUSE_FIRSTPRIVATE clause.
3412
3413 2008-02-15  Richard Guenther  <rguenther@suse.de>
3414             Zdenek Dvorak  <ook@ucw.cz>
3415
3416         PR tree-optimization/35164
3417         * tree-flow.h (stmt_references_abnormal_ssa_name): Declare.
3418         * tree-dfa.c (stmt_references_abnormal_ssa_name): New function.
3419         * tree-ssa-forwprop.c (tree_ssa_forward_propagate_single_use_vars):
3420         Only propagate addresses which do not have abnormal SSA_NAMEs
3421         in their operands.
3422
3423 2008-02-15  Joseph Myers  <joseph@codesourcery.com>
3424
3425         PR target/35088
3426         * config/m68k/m68k.h (DWARF_CIE_DATA_ALIGNMENT): Define.
3427
3428 2008-02-15  Jan Hubicka  <jh@suse.cz>
3429
3430         PR middle-end/35149
3431         * ipa.c (cgraph_remove_unreachable_nodes): Clear local.inlinable flag.
3432
3433 2008-02-15  Uros Bizjak  <ubizjak@gmail.com>
3434
3435         PR middle-end/34621
3436         * function.c (pad_to_arg_alignment): Remove test for STACK_BOUNDARY
3437         when calculating alignment_pad.
3438
3439 2008-02-15  Uros Bizjak  <ubizjak@gmail.com>
3440
3441         * config/i386/i386.h (CLEAR_RATIO): Use MIN macro.
3442         (WIDEST_HARDWARE_FP_SIZE): Use LONG_DOUBLE_TYPE_SIZE define.
3443         * config/i386/darwin.h (PREFERRED_STACK_BOUNDARY): Use MAX macro
3444         and STACK_BOUNDARY define.
3445
3446 2008-02-14  Danny Smith  <dannysmith@users.sourceforge.net>
3447
3448         PR preprocessor/35061
3449         * c-pragma.c (handle_pragma_pop_macro): Check that
3450         pushed_macro_table has been allocated.
3451
3452 2008-02-14  Eric Botcazou  <ebotcazou@adacore.com>
3453
3454         PR middle-end/35136
3455         * gimplify.c (force_gimple_operand_bsi): Revert 2008-02-12 change.
3456         (force_gimple_operand): Likewise.
3457         * tree-ssa-loop-ivopts.c (may_be_nonaddressable_p): Add new cases
3458         for TARGET_MEM_REF and CONVERT_EXPR/NON_LVALUE_EXPR/NOP_EXPR.
3459         Also recurse on the operand for regular VIEW_CONVERT_EXPRs.
3460         (find_interesting_uses_address): Check addressability and alignment
3461         of the base expression only after substituting bases of IVs into it.
3462
3463 2008-02-14  Michael Matz  <matz@suse.de>
3464
3465         PR target/34930
3466         * function.c (instantiate_virtual_regs_in_insn): Reload address
3467         before falling back to reloading the whole operand.
3468
3469 2008-02-14  Andreas Krebbel  <krebbel1@de.ibm.com>
3470
3471         * config/s390/s390.c (s390_mainpool_start): Emit the pool
3472         before the first section switch note.
3473
3474 2008-02-14 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
3475
3476         * doc/bugreport.texi: Update copyright years.
3477         * doc/c-tree.texi: Likewise.
3478         * doc/cfg.texi: Likewise.
3479         * doc/cpp.texi: Likewise.
3480         * doc/cppinternals.texi: Likewise.
3481         * doc/fragments.texi: Likewise.
3482         * doc/frontends.texi: Likewise.
3483         * doc/gcc.texi: Likewise.
3484         * doc/gty.texi: Likewise.
3485         * doc/hostconfig.texi: Likewise.
3486         * doc/implement-c.texi: Likewise.
3487         * doc/libgcc.texi: Likewise.
3488         * doc/loop.texi: Likewise.
3489         * doc/makefile.texi: Likewise.
3490         * doc/options.texi: Likewise.
3491         * doc/passes.texi: Likewise.
3492         * doc/rtl.texi: Likewise.
3493         * doc/sourcebuild.texi: Likewise.
3494         * doc/standards.texi: Likewise.
3495         * doc/tree-ssa.texi: Likewise.
3496         * doc/trouble.texi: Likewise.
3497
3498         * doc/extend.texi: Use @: or add comma where appropriate.
3499         * doc/invoke.texi: Likewise.
3500         * doc/tm.texi: Likewise.
3501
3502 2008-02-14  Alan Modra  <amodra@bigpond.net.au>
3503
3504         PR target/34393
3505         * config/rs6000/rs6000.md (restore_stack_block): Force operands[1]
3506         to a reg.
3507
3508 2008-02-14  Jesper Nilsson  <jesper.nilsson@axis.com>
3509
3510         * doc/md.texi (clz, ctz): Add reference.
3511         * doc/rtl.texi (clz, ctz): Likewise.
3512
3513 2008-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3514
3515         PR other/35148
3516         * Makefile.in (gcc-vers.texi): Use abs_srcdir for the value of
3517         srcdir.
3518
3519 2008-02-13  Andreas Krebbel  <krebbel1@de.ibm.com>
3520
3521         * config/s390/s390.c (struct constant_pool): New field
3522         emit_pool_after added.
3523         (s390_mainpool_start): Set the emit_pool_after flag according
3524         to the section switch notes.
3525         (s390_mainpool_finish): Consider emit_pool_after when emitting
3526         the literal pool at the end of the function.
3527         (s390_chunkify_start): Force literal pool splits at section
3528         switch notes.
3529
3530 2008-02-13  Michael Matz  <matz@suse.de>
3531
3532         PR debug/35065
3533         * var-tracking.c (clobber_variable_part): Correctly traverse the
3534         list.
3535
3536 2008-02-13  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
3537
3538         PR 29673
3539         * doc/invoke.texi (Debugging Options): Remove -fdump-tree-inlined.
3540         Add -fdump-ipa-inline.
3541         * tree-dump.c (dump_files): Remove tree-inlined dump.
3542         * tree-pass.h (tree_dump_index): Remove TDI_inlined.
3543         
3544 2008-02-12  Richard Guenther  <rguenther@suse.de>
3545
3546         PR tree-optimization/35171
3547         * tree-vect-patterns.c (vect_recog_dot_prod_pattern): Deal with
3548         default defs.
3549
3550 2008-02-12  Richard Guenther  <rguenther@suse.de>
3551
3552         PR middle-end/35163
3553         * fold-const.c (fold_widened_comparison): Use get_unwidened in
3554         value-preserving mode.  Disallow final truncation.
3555
3556 2008-02-12  Eric Botcazou  <ebotcazou@adacore.com>
3557
3558         PR middle-end/35136
3559         * gimplify.c (force_gimple_operand_bsi): Move SSA renaming
3560         code from here to...
3561         (force_gimple_operand): ...here.
3562
3563 2008-02-12  Jakub Jelinek  <jakub@redhat.com>
3564
3565         PR c++/35144
3566         * tree-sra.c (sra_build_assignment): fold_convert SRC if copying
3567         non-compatible pointers.
3568         (generate_element_copy): If SRC and DST are RECORD_TYPEs with
3569         different FIELD_DECLs, try harder by comparing field offsets, sizes
3570         and types.
3571
3572         PR inline-asm/35160
3573         * function.c (match_asm_constraints_1): Don't replace the same input
3574         multiple times.
3575
3576 2008-02-12  Anatoly Sokolov <aesok@post.ru>
3577
3578         * config/avr/avr.h (AVR_HAVE_RAMPZ): Define.
3579         * config/avr/avr.c (expand_prologue): Save RAMPZ register.
3580         (expand_epilogue): Restore RAMPZ register.
3581         * config/avr/avr.md (RAMPZ_ADDR): New constant.
3582
3583 2008-02-11  Kai Tietz  <kai.tietz@onevision.com>
3584
3585         * config/i386/cygwin.asm: (__alloca): Correct calling
3586         convention and alignment.
3587         (__chkstk): Force 8 byte stack alignment.
3588
3589 2008-02-11  Uros Bizjak  <ubizjak@gmail.com>
3590             Richard Guenther  <rguenther@suse.de>
3591
3592         PR tree-optimization/33992
3593         * tree-ssa-loop-im.c (rewrite_bittest): Fixup the type of
3594         the zero we compare against.
3595
3596 2008-02-10  Danny Smith  <dannysmith@users.sourceforge.net>
3597
3598         PR libfortran/35063
3599         * gthr-win32.h (__gthread_mutex_destroy_function): New function
3600         to CloseHandle after unlocking to prevent accumulation of handle
3601         count.
3602
3603 2008-02-09  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
3604
3605         PR middle_end/34150
3606         * pa.c (legitimize_pic_address): Add REG_EQUAL note on sets with a
3607         pic_label_operand source.  Similarly, add a REG_LABEL_OPERAND note
3608         and update LABEL_NUSES during and after reload.
3609
3610 2008-02-08  Steven Bosscher  <stevenb.gcc@gmail.com>
3611
3612         PR middle-end/34627
3613         * combine.c (simplify_if_then_else): Make sure the comparison is
3614         against const0_rtx when simplifying to (abs x) or (neg (abs X)).
3615
3616 2008-02-08  Richard Sandiford  <rsandifo@nildram.co.uk>
3617
3618         PR bootstrap/35051
3619         * double-int.h: Don't include gmp.h for GENERATOR_FILEs.
3620         (mpz_set_double_int, mpz_get_double_int): Hide from GENERATOR_FILEs.
3621         * real.h: Don't include gmp.h or mpfr.h for GENERATOR_FILEs.
3622         (real_from_mpfr, mpfr_from_real): Hide from GENERATOR_FILEs.
3623         * tree.h (get_type_static_bounds): Likewise.
3624
3625 2008-02-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3626
3627         * doc/invoke.texi (Option Summary, C++ Dialect Options)
3628         (Objective-C and Objective-C++ Dialect Options, Warning Options):
3629         Make -Wfoo language annotations match what the compiler outputs.
3630
3631 2008-02-08  Sa Liu  <saliu@de.ibm.com>
3632
3633         * config/spu/spu-builtins.def: Fixed wrong parameter type in spu 
3634         intrinsics spu_convts, spu_convtu, spu_convtf.
3635         * testsuite/gcc.target/spu/intrinsics-3.c: New. Test error messages.
3636
3637 2008-02-08  Hans-Peter Nilsson  <hp@axis.com>
3638
3639         * doc/extend.texi (Function Attributes) <noinline>: Mention
3640         asm ("") as method to keep calls.
3641
3642 2008-02-07  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
3643
3644         PR other/32754
3645         * doc/options.texi (Options): Replace references to opts.sh with
3646         optc-gen.awk.
3647         * opts-common.c: Likewise.
3648         * optc-gen.awk: Likewise.
3649         
3650 2008-02-07  Andreas Krebbel  <krebbel1@de.ibm.com>
3651
3652         * config/s390/s390.h (FUNCTION_ARG_REGNO_P): Fix fprs for 64 bit.
3653
3654 2008-02-07  Richard Henderson  <rth@redhat.com>
3655
3656         PR rtl-opt/33410
3657         * config/alpha/alpha.c (alpha_emit_xfloating_compare): Use an
3658         EXPR_LIST for the REG_EQUAL instead of a comparison with a 
3659         funny mode.
3660
3661 2008-02-07  Uros Bizjak  <ubizjak@gmail.com>
3662
3663         PR tree-optimization/35085
3664         * tree-ssa-reassoc.c (rewrite_expr_tree): Enable destructive update
3665         for operand entry oe2 in addition to operand entry oe3 in order to
3666         expose more opportunities for vectorizer sum reduction.
3667
3668 2008-02-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3669
3670         PR other/35107
3671         * Makefile.in (LIBS): Remove $(GMPLIBS).
3672         (cc1-dummy, cc1): Add $(GMPLIBS).
3673
3674 2008-02-06  Jan Hubicka  <jh@suse.cz>
3675
3676         PR target/23322
3677         * i386.md (moddf_integer): Do not produce partial memory stalls for
3678         targets where it hurts.
3679
3680 2008-02-06  Uros Bizjak  <ubizjak@gmail.com>
3681
3682         PR target/35083
3683         * optabs.c (expand_float): Do not check for decimal modes when
3684         expanding unsigned integer through signed conversion.
3685
3686 2008-02-06  Nick Clifton  <nickc@redhat.com>
3687
3688         * config/stormy16/stormy16.md (eqbranchsi): Replace a match_dup
3689         inside the clobber with a match_operand and duplicated operand
3690         number in the constraint.
3691         (ineqbranchsi): Delete redundant comment.
3692
3693 2008-02-06  Ralf Corsepius  <ralf.corsepius@rtems.org>
3694
3695         * config/arm/rtems-elf.h (TARGET_OS_CPP_BUILTINS): Add 
3696         builtin_define ("__USE_INIT_FINI__").
3697         * config/h8300/t-rtems (MULTILIB_OPTION,MULTILIB_DIRNAMES): Add
3698         -msx multilibs.
3699         * gthr-rtems.h: Remove __GTHREAD_MUTEX_INIT.
3700
3701 2008-02-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3702
3703         PR documentation/30330
3704         * doc/invoke.texi (C++ Dialect Options)
3705         (Objective-C and Objective-C++ Dialect Options, Warning Options):
3706         For each warning option -Wfoo that allows -Wno-foo, ensure both
3707         -Wfoo and -Wno-foo are listed in the option index.  Fix index
3708         entry of -Wswitch-default, index -Wnormalized= including the
3709         `=', and -Wlarger-than-@var{len} including @var{len}.
3710
3711 2008-02-05  Uros Bizjak  <ubizjak@gmail.com>
3712
3713         * config/i386/i386.md (floatunssisf2): Use
3714         ix86_expand_convert_uns_sisf_sse also for TARGET_SSE.
3715         (floatunssi<mode>2): Rename from floatunssisf2 and floatunssidf2.
3716         Macroize expander using MODEF mode iterator.
3717
3718 2008-02-05  Diego Novillo  <dnovillo@google.com>
3719
3720         http://gcc.gnu.org/ml/gcc-patches/2008-02/msg00140.html
3721
3722         PR 33738
3723         * tree-vrp.c (vrp_evaluate_conditional): Revert fix for PR 33738.
3724
3725 2008-02-05  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3726
3727         PR other/35070
3728         * toplev.c (print_version): Honor `indent' for GMP/MPFR warnings.
3729
3730 2008-02-05  H.J. Lu  <hongjiu.lu@intel.com>
3731
3732         PR target/35084
3733         * config/i386/i386.c (ix86_function_sseregparm): Add an arg
3734         to indicate if a message should be generated.
3735         (init_cumulative_args): Updated.
3736         (function_value_32): Likewise.
3737
3738 2008-02-05  Joseph Myers  <joseph@codesourcery.com>
3739
3740         * doc/include/texinfo.tex: Update to version 2008-02-04.16.
3741
3742 2008-02-05  Uros Bizjak  <ubizjak@gmail.com>
3743
3744         PR target/35083
3745         * config/i386/i386.md (floatunsisf2): Enable for TARGET_SSE_MATH only.
3746         Call ix86_expand_convert_uns_sisf_sse for TARGET_SSE2.
3747
3748 2008-02-04  Diego Novillo  <dnovillo@google.com>
3749
3750         http://gcc.gnu.org/ml/gcc-patches/2008-02/msg00110.html
3751
3752         PR 33738
3753         * tree-vrp.c (vrp_evaluate_conditional): With
3754         -Wtype-limits, emit a warning when comparing against a
3755         constant outside the natural range of OP0's type.
3756
3757 2008-02-04  Richard Guenther  <rguenther@suse.de>
3758
3759         PR middle-end/33631
3760         * expr.c (count_type_elements): Give for unions instead of
3761         guessing.
3762
3763 2008-02-04  Richard Guenther  <rguenther@suse.de>
3764
3765         PR middle-end/35043
3766         * gimplify.c (gimplify_init_ctor_eval): Convert array indices
3767         to TYPE_DOMAINs base type instead of using bitsizetype here.
3768
3769 2008-02-03  Jason Merrill  <jason@redhat.com>
3770
3771         * print-tree.c (print_node) [CONSTRUCTOR]: Print elements.
3772
3773 2008-02-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3774
3775         PR other/29972
3776         * doc/invoke.texi (C++ Dialect Options, Optimize Options)
3777         (HPPA Options, i386 and x86-64 Options, IA-64 Options)
3778         (RS/6000 and PowerPC Options): Fix typos and markup.
3779         * doc/passes.texi (Tree-SSA passes): Likewise.
3780
3781 2008-02-02  Michael Matz  <matz@suse.de>
3782
3783         PR target/35045
3784         * postreload-gcse.c (record_last_reg_set_info_regno): Renamed
3785         from record_last_reg_set_info.
3786         (record_last_reg_set_info): Take an RTX argument, iterate over all
3787         constituent hardregs.
3788         (record_last_set_info, record_opr_changes): Change calls to
3789         new signature or to record_last_reg_set_info_regno.
3790
3791 2008-02-02  Gerald Pfeifer  <gerald@pfeifer.com>
3792
3793         * doc/extend.texi (X86 Built-in Functions): Fix grammar.
3794
3795 2008-02-01  Hans-Peter Nilsson  <hp@axis.com>
3796
3797         PR rtl-optimization/34773
3798         * reg-notes.def (EQUAL): Mention significance of combination of
3799         REG_EQUAL and REG_RETVAL.
3800         * fwprop.c (try_fwprop_subst): Don't add REG_EQUAL to an
3801         insn that has a REG_RETVAL.
3802
3803 2008-02-01  Roger Sayle  <roger@eyesopen.com>
3804
3805         PR bootstrap/33781
3806         * configure.ac (--enable-fixed-point): Disable unless explicitly
3807         requested on IRIX.
3808         * configure: Regenerate.
3809
3810 2008-02-01  Richard Guenther  <rguenther@suse.de>
3811
3812         PR other/35042
3813         * invoke.texi (-finline-limit): Remove no longer true parts
3814         of the documentation.  Note that there is no default value.
3815
3816 2008-02-01  Andrew Pinski  <pinskia@gmail.com>
3817             Mark Mitchell  <mark@codesourcery.com>
3818             Ben Elliston  <bje@au.ibm.com>
3819
3820         PR c/29326
3821         * doc/extend.texi (Other Builtins): Document.
3822
3823 2008-01-31  Tom Browder <tom.browder@gmail.com>
3824
3825         * doc/c-tree.texi (Types): Fix grammar.
3826         (Expression trees): Ditto.
3827         * doc/passes.texi (Tree-SSA passes): Ditto.
3828         
3829         * doc/configterms.texi (Configure Terms): Fix typo.
3830         * doc/cpp.texi (Common Predefined Macros): Ditto.
3831         * doc/md.texi (Machine Constraints): Ditto.
3832         
3833         * doc/makefile.texi (Makefile): Add comma.
3834
3835 2008-01-31  Tom Browder  <tom.browder@gmail.com>
3836             Gerald Pfeifer  <gerald@pfeifer.com>
3837         
3838         * doc/sourcebuild.texi (Front End): Remove references to CVS
3839         and CVSROOT/modules.
3840         (Texinfo Manuals): Replace reference to CVS by one to SVN.
3841         (Back End): Remove reference to CVS.
3842
3843 2008-01-31  Richard Sandiford  <rsandifo@nildram.co.uk>
3844
3845         PR target/34900
3846         * config/mips/mips.c (gen_load_const_gp): New function, taking a
3847         comment from...
3848         (mips16_gp_pseudo_reg): ...here.
3849         * config/mips/mips.md (load_const_gp): Replace with...
3850         (load_const_gp_<mode>): ...this :P-based insn.
3851
3852 2008-01-31  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
3853
3854         * doc/invoke.texi (-ansi): Mention explicitly corresponding -std=
3855         options. Minor fixes.
3856         (-std): Move reference to standards closer to where language
3857         standards are first mentioned.
3858         
3859 2008-01-31  Richard Sandiford  <rsandifo@nildram.co.uk>
3860
3861         PR rtl-optimization/34995
3862         * reload.c (alternative_allows_const_pool_ref): Take an rtx
3863         parameter and return a bool.  If the rtx parameter is nonnull,
3864         check that it satisfies an EXTRA_MEMORY_CONSTRAINT.
3865         (find_reloads): Update call accordingly.  Pass the new operand
3866         if it needed no address reloads, otherwise pass null.
3867
3868 2008-01-30  Richard Henderson  <rth@redhat.com>
3869
3870         PR c/34993
3871         * tree.c (build_type_attribute_qual_variant): Skip TYPE_DOMAIN
3872         for unbounded arrays.
3873
3874 2008-01-30  Silvius Rus  <rus@google.com>
3875
3876         * config/i386/xmmintrin.h (_mm_prefetch): Add const to first arg.
3877
3878 2008-01-30  Jan Hubicka  <jh@suse.cz>
3879
3880         PR target/34982
3881         * i386.c (init_cumulative_args): Use real function declaration when
3882         calling locally.
3883
3884 2008-01-30  Richard Sandiford  <rsandifo@nildram.co.uk>
3885
3886         PR rtl-optimization/34998
3887         * global.c (build_insn_chain): Treat non-subreg_lowpart
3888         SUBREGs of pseudos as clobbering all the words covered by the
3889         SUBREG, not just all the bytes.
3890         * ra-conflict.c (clear_reg_in_live): Likewise.  Take the
3891         original df_ref rather than an extract parameter.
3892         (global_conflicts): Update call accordingly.
3893
3894 2008-01-30  Andreas Krebbel  <krebbel1@de.ibm.com>
3895
3896         * config/s390/fixdfdi.h (__fixunstfdi, __fixtfdi): Rearrange
3897         the overflow check to make it easier to read.
3898         (__fixtfdi): Change the type of the ll member in union
3899         long_double to UDItype_x.
3900
3901 2008-01-30  Jakub Jelinek  <jakub@redhat.com>
3902
3903         PR middle-end/34969
3904         * cgraph.h (cgraph_update_edges_for_call_stmt): New prototype.
3905         * cgraph.c (cgraph_update_edges_for_call_stmt): New function.
3906         * tree-inline.c (fold_marked_statements): Call
3907         cgraph_update_edges_for_call_stmt if folding a call statement.
3908         * cgraphunit.c (verify_cgraph_node): Set cfun to this_cfun for
3909         debug_generic_stmt calls, reset it back afterwards.
3910
3911         PR c/35017
3912         * c-decl.c (start_decl): Don't pedwarn about TREE_READONLY
3913         static decls.
3914         * c-typeck.c (build_external_ref): Don't pedwarn about
3915         static vars in current function's scope.
3916
3917 2008-01-29  Joseph Myers  <joseph@codesourcery.com>
3918
3919         * config.gcc (i[34567]86-*-nto-qnx*): Remove deprecation.
3920
3921 2008-01-29  Bernhard Fischer  <aldot@gcc.gnu.org>
3922
3923         PR c/35002
3924         * ipa-struct-reorg.c: Fix spelling.
3925         * params.def: Ditto.
3926
3927 2008-01-29  Richard Guenther  <rguenther@suse.de>
3928
3929         PR middle-end/35006
3930         * tree-inline.h (struct copy_body_data): Add remapping_type_depth
3931         field.
3932         * tree-inline.c (remap_type): Increment remapping_type_depth
3933         around remapping types.
3934         (copy_body_r): Only add referenced variables if they are referenced
3935         from code, not types.
3936
3937 2008-01-29  Douglas Gregor  <doug.gregor@gmail.com>
3938
3939         PR c++/34055
3940         PR c++/34103
3941         PR c++/34219
3942         PR c++/34606
3943         PR c++/34753
3944         PR c++/34754
3945         PR c++/34755
3946         PR c++/34919
3947         PR c++/34961
3948         * c-pretty-print.c (pp_c_type_qualifier_list): Don't try to print
3949         qualifiers for an ERROR_MARK_NODE or a NULL_TREE.
3950
3951 2008-01-28  Andy Hutchinson   <hutchinsonandy@netscape.net>
3952
3953         PR target/34412
3954         * config/avr/avr.c (expand_prologue): Use correct QI mode frame 
3955         pointer for tiny stack.
3956
3957 2008-01-28  Bernhard Fischer  <aldot@gcc.gnu.org>
3958
3959         * doc/tree-ssa.texi: Add cindex PHI nodes and improve wording.
3960
3961 2008-01-28  Bernhard Fischer  <aldot@gcc.gnu.org>
3962
3963         * config/vx-common.h: Fix typo in comment.
3964
3965 2008-01-28  Ian Lance Taylor  <iant@google.com>
3966
3967         PR c++/34862
3968         PR c++/33407
3969         * tree-ssa-copyrename.c (copy_rename_partition_coalesce): Don't
3970         coalesce pointers if they have different DECL_NO_TBAA_P values.
3971         * tree-ssa-copy.c (may_propagate_copy): Don't propagate copies
3972         between variables with different DECL_NO_TBAA_P values.
3973
3974 2008-01-28  Nathan Froyd  <froydnj@codesourcery.com>
3975
3976         PR 31535
3977         * config/rs6000/rs6000.c (small_data_operand): Vectors and floats
3978         are not legitimate small data references on SPE targets.
3979
3980 2008-01-28  David Daney  <ddaney@avtrex.com>
3981
3982         * doc/install.texi (mips-*-*): Recommend binutils 2.18.
3983
3984 2008-01-28  David Daney  <ddaney@avtrex.com>
3985
3986         * doc/install.texi (--disable-libgcj-bc):  Reword documentation.
3987
3988 2008-01-27  Joseph Myers  <joseph@codesourcery.com>
3989
3990         * config.gcc (strongarm*-*, ep9312*-*, xscale*-*, parisc*-*,
3991         m680[012]0-*, *-*-beos*, *-*-kaos*, *-*-linux*aout*,
3992         *-*-linux*libc1*, *-*-solaris2.[0-6], *-*-solaris2.[0-6].*,
3993         *-*-sysv*, *-*-windiss*, alpha*-*-unicosmk*, cris-*-aout,
3994         hppa1.1-*-pro*, hppa1.1-*-osf*, hppa1.1-*-bsd*,
3995         i[34567]86-sequent-ptx4*, i[34567]86-*-nto-qnx*,
3996         i[34567]86-*-sco3.2v5*, i[34567]86-*-uwin*, powerpc-*-chorusos*,
3997         vax-*-bsd*, vax-*-ultrix*): Mark obsolete.
3998
3999 2008-01-27  Bernhard Fischer  <aldot@gcc.gnu.org>
4000
4001         * basic-block.h (condjump_equiv_p): Fix comment.
4002
4003 2008-01-27  Bernhard Fischer  <aldot@gcc.gnu.org>
4004
4005         * tree-pretty-print.c (print_generic_decl, print_generic_stmt,
4006         print_generic_stmt_indented): Fix comment.
4007
4008 2008-01-27  Bernhard Fischer  <aldot@gcc.gnu.org>
4009
4010         * configure.ac (__stack_chk_fail): Add detecion for availability
4011         of SSP in uClibc by checking if __UCLIBC_HAS_SSP__ is defined.
4012         * configure: Regenerate.
4013
4014 2008-01-26  Maxim Kuvyrkov  <maxim@codesourcery.com>
4015
4016         PR middle-end/34688
4017         * final.c (output_addr_const): Handle TRUNCATE.
4018
4019 2008-01-26  Zdenek Dvorak  <ook@ucw.cz>
4020
4021         PR target/34711
4022         * tree-ssa-loop-ivopts.c (comp_cost): New type.
4023         (zero_cost, infinite_cost): New constants.
4024         (struct cost_pair): Change type of cost to comp_cost.
4025         (struct iv_ca): Change type of cand_use_cost and cost to comp_cost.
4026         (new_cost, add_costs, sub_costs, compare_costs, infinite_cost_p):
4027         New functions.
4028         (set_use_iv_cost, force_expr_to_var_cost, force_var_cost,
4029         split_address_cost, ptr_difference_cost, difference_cost,
4030         get_computation_cost_at, get_computation_cost,
4031         determine_use_iv_cost_generic, determine_use_iv_cost_address,
4032         determine_use_iv_cost_condition, determine_use_iv_costs,
4033         cheaper_cost_pair, iv_ca_recount_cost, iv_ca_set_no_cp,
4034         iv_ca_set_cp, iv_ca_cost, iv_ca_new, iv_ca_dump, iv_ca_extend,
4035         iv_ca_narrow, iv_ca_prune, try_improve_iv_set, find_optimal_iv_set):
4036         Change type of cost to comp_cost.
4037         (determine_iv_cost): Increase cost of non-original ivs, instead
4038         of decreasing the cost of original ones.
4039         (get_address_cost): Indicate the complexity of the addressing mode 
4040         in comp_cost.
4041         (try_add_cand_for): Prefer using ivs not specific to some object.
4042         * tree-flow.h (force_expr_to_var_cost): Declaration removed.
4043
4044 2008-01-26  Peter Bergner  <bergner@vnet.ibm.com>
4045             Janis Johnson  <janis187@us.ibm.com>
4046
4047         PR target/34814
4048         * doc/tm.texi (TARGET_EXPAND_TO_RTL_HOOK): Document.
4049         (TARGET_INSTANTIATE_DECLS): Likewise.
4050         * target.h (expand_to_rtl_hook): New target hook.
4051         (instantiate_decls): Likewise.
4052         * function.c (instantiate_decl): Make non-static.  Rename to...
4053         (instantiate_decl_rtl): ... this.
4054         (instantiate_expr): Use instantiate_decl_rtl.
4055         (instantiate_decls_1): Likewise.
4056         (instantiate_decls): Likewise.
4057         (instantiate_virtual_regs: Call new instantiate_decls taget hook.
4058         * function.h (instantiate_decl_rtl): Add prototype.
4059         * cfgexpand.c (target.h): New include.
4060         (tree_expand_cfg): Call new expand_to_rtl_hook target hook.
4061         * target-def.h (TARGET_EXPAND_TO_RTL_HOOK): New define.
4062         (TARGET_INSTANTIATE_DECLS): Likewise.
4063         (TARGET_INITIALIZER): New target hooks added.
4064         * config/rs6000/rs6000-protos.h (rs6000_secondary_memory_needed_rtx):
4065         New prototype.
4066         * config/rs6000/rs6000.c (tree-flow.h): New include.
4067         (machine_function): Add sdmode_stack_slot field.
4068         (rs6000_alloc_sdmode_stack_slot): New function.
4069         (rs6000_instantiate_decls): Likewise.
4070         (rs6000_secondary_memory_needed_rtx): Likewise.
4071         (rs6000_check_sdmode): Likewise.
4072         (TARGET_EXPAND_TO_RTL_HOOK): Target macro defined.
4073         (TARGET_INSTANTIATE_DECLS): Likewise.
4074         (rs6000_hard_regno_mode_ok): Allow SDmode.
4075         (num_insns_constant): Likewise.  Handle _Decimal32 constants.
4076         (rs6000_emit_move): Handle SDmode.
4077         (function_arg_advance): Likewise.
4078         (function_arg): Likewise.
4079         (rs6000_gimplify_va_arg): Likewise.  Add special handling of
4080         SDmode var args for 32-bit compiles.
4081         (rs6000_secondary_reload_class): Handle SDmode.
4082         (rs6000_output_function_epilogue): Likewise.
4083         (rs6000_function_value): Simplify if statement.
4084         (rs6000_libcall_value): Likewise.
4085         * config/rs6000/rs6000.h (SLOW_UNALIGNED_ACCESS): Handle SDmode.
4086         (SECONDARY_MEMORY_NEEDED_RTX): Add define.
4087         * config/rs6000/dfp.md (movsd): New define_expand and splitter.
4088         (movsd_hardfloat): New define_insn.
4089         (movsd_softfloat): Likewise.
4090         (movsd_store): Likewise.
4091         (movsd_load): Likewise.
4092         (extendsddd2): Likewise.
4093         (extendsdtd2): Likewise.
4094         (truncddsd2): Likewise.
4095         (movdd_hardfloat64): Fixup comment.
4096         (UNSPEC_MOVSD_LOAD): New constant.
4097         (UNSPEC_MOVSD_STORE): Likewise.
4098
4099 2008-01-26  Jakub Jelinek  <jakub@redhat.com>
4100
4101         PR c++/34965
4102         * c-pretty-print.c (pp_c_exclusive_or_expression): Handle
4103         TRUTH_XOR_EXPR.
4104         (pp_c_logical_and_expression): Handle TRUTH_AND_EXPR.
4105         (pp_c_logical_or_expression): Handle TRUTH_OR_EXPR.
4106         (pp_c_expression): Handle TRUTH_AND_EXPR, TRUTH_OR_EXPR
4107         and TRUTH_XOR_EXPR.
4108
4109 2008-01-26  David Edelsohn  <edelsohn@gnu.org>
4110
4111         PR target/34794
4112         * config.gcc: Separate AIX 5.3 from AIX 6.1.
4113         * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Define
4114         __LONGDOUBLE128 too.
4115         * config/rs6000/aix61.h: New file.
4116
4117 2008-01-26  Richard Sandiford  <rsandifo@nildram.co.uk>
4118
4119         PR rtl-optimization/34959
4120         * optabs.c (expand_unop): In libcall notes, give ffs, clz, ctz,
4121         popcount and parity rtxes the same mode as their operand.
4122         Truncate or extend the result to the return value's mode
4123         if necessary.
4124
4125 2008-01-26  Richard Sandiford  <rsandifo@nildram.co.uk>
4126
4127         PR target/34981
4128         * config/mips/mips-protos.h (mips_expand_call): Return an rtx.
4129         * config/mips/mips.h (FIRST_PSEUDO_REGISTER): Rename FAKE_CALL_REGNO
4130         to GOT_VERSION_REGNUM.
4131         (CALL_REALLY_USED_REGISTERS): Set the GOT_VERSION_REGNUM entry to 0.
4132         (EPILOGUE_USES): Include GOT_VERSION_REGNUM if TARGET_USE_GOT.
4133         * config/mips/mips.c (mips_emit_call_insn): New function.
4134         (mips_call_tls_get_addr): Call mips_expand_call directly.
4135         (mips16_copy_fpr_return_value): Use mips_emit_call_insn rather than
4136         emit_call_insn.
4137         (mips16_build_call_stub): Likewise.  Return the call insn or null.
4138         (mips_expand_call): Update the call to mips16_build_call_stub
4139         accordingly and a remove redundant condition.  Assert that MIPS16
4140         stubs do not use lazy binding.  Use mips_emit_call_insn and return
4141         the call insn.
4142         (mips_extra_live_on_entry): Include GOT_VERSION_REGNUM if
4143         TARGET_USE_GOT.
4144         (mips_hard_regno_mode_ok_p): Allow SImode for GOT_VERSION_REGNUM.
4145         (mips_avoid_hazard): Remove hazard_set handling.
4146         * config/mips/mips.md (UNSPEC_EH_RECEIVER): Rename to...
4147         (UNSPEC_RESTORE_GP): ...this.
4148         (UNSPEC_SET_GOT_VERSION, UNSPEC_UPDATE_GOT_VERSION): New constants.
4149         (FAKE_CALL_REGNO): Rename to...
4150         (GOT_VERSION_REGNUM): ...this.
4151         (type): Add "ghost" value.  Add an associated insn reservation.
4152         (hazard_set): Remove.
4153         (exception_receiver): Rename to...
4154         (restore_gp): ...this and update the unspec identifier accordingly.
4155         (exception_receiver, nonlocal_got_receiver): New expanders.
4156         (load_call<mode>): Use GOT_VERSION_REGNUM.  Don't set
4157         FAKE_CALL_REGNO.  Remove hazard_set attribute.
4158         (set_got_version, update_got_version): New patterns.
4159
4160 2008-01-26  Danny Smith  <dannysmith@users.sourceforge.net>
4161
4162         PR target/34970
4163         * config/i386/cygming.h (ASM_OUTPUT_LABELREF): Define.
4164
4165 2008-01-25  Joseph Myers  <joseph@codesourcery.com>
4166
4167         PR other/31955
4168         * doc/install.texi2html: Generate gcc-vers.texi.
4169
4170 2008-01-25  DJ Delorie  <dj@redhat.com>
4171
4172         * config/m32c/m32c.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
4173
4174 2008-01-25  Joseph Myers  <joseph@codesourcery.com>
4175
4176         * config/c4x: Remove directory.
4177         * config.gcc (crx-*, mt-*): Mark obsolete.
4178         (c4x-*, tic4x-*, c4x-*-rtems*, tic4x-*-rtems*, c4x-*, tic4x-*,
4179         h8300-*-rtemscoff*, ns32k-*-netbsdelf*, ns32k-*-netbsd*,
4180         sh-*-rtemscoff*): Remove cases.
4181         * defaults.h (C4X_FLOAT_FORMAT): Remove.
4182         * real.c (encode_c4x_single, decode_c4x_single,
4183         encode_c4x_extended, decode_c4x_extended, c4x_single_format,
4184         c4x_extended_format): Remove.
4185         * real.h (c4x_single_format, c4x_extended_format): Remove.
4186         * doc/extend.texi (interrupt, naked): Remove mention of attributes
4187         on C4x.
4188         (Pragmas): Remove comment about c4x pragmas.
4189         * doc/install.texi (c4x): Remove target-specific instructions.
4190         * doc/invoke.texi (TMS320C3x/C4x Options): Remove.
4191         * doc/md.texi (Machine Constraints): Remove C4x documentation.
4192         * doc/tm.texi (MEMBER_TYPE_FORCES_BLK, c_register_pragma): Do not
4193         refer to C4x source files as examples.
4194         (C4X_FLOAT_FORMAT): Remove documentation.
4195
4196 2008-01-25  Bernd Schmidt  <bernd.schmidt@analog.com>
4197
4198         * config/bfin/bfin.c (override_options): Reorder tests so that
4199         flag_pic gets enabled for -msep-data.
4200
4201 2008-01-25  Richard Guenther  <rguenther@suse.de>
4202
4203         PR middle-end/32244
4204         * expr.c (expand_expr_real_1): Reduce result of LSHIFT_EXPR
4205         to its bitfield precision if required.
4206
4207 2008-01-25  Jakub Jelinek  <jakub@redhat.com>
4208
4209         PR middle-end/33880
4210         * tree-nested.c (walk_omp_for): New function.
4211         (convert_nonlocal_reference, convert_local_reference): Call
4212         walk_omp_for on OMP_FOR.
4213         (convert_call_expr): Call walk_body on OMP_FOR's
4214         OMP_FOR_PRE_INIT_BODY.
4215
4216 2008-01-25  Richard Guenther  <rguenther@suse.de>
4217
4218         PR tree-optimization/34966
4219         * tree-ssa-math-opts.c (execute_cse_sincos_1): For all but
4220         default defs and PHI_NODEs we have to insert after the
4221         defining statement.
4222
4223 2008-01-24  Nick Clifton  <nickc@redhat.com>
4224
4225         * config/stormy16/stormy16-lib2.c (MIN_UNITS_PER_WORD):
4226         Provide a default definition.
4227         (LIBGCC2_UNITS_PER_WORD): Likewise.
4228
4229         * config/stormy16/stormy16.c: Include df.h for the prototype
4230         for df_regs_ever_live_p.
4231         (xstormy16_expand_builtin_va_start): Convert the stack offset
4232         into a component_ref and then use POINTER_PLUS_EXPR to add it
4233         to the incoming_virtual_args_rtx.
4234         (xstormy16_gimplify_va_arg_expr): Rename to
4235         xstormy16_gimplify_va_arg_expr.
4236         Use POINTER_PLUS_EXPR when performing pointer arithmetic.
4237         (TARGET_GIMPLIFY_VA_ARG_EXPR): Use renamed
4238         xstormy16_gimplify_va_arg_expr.
4239         Fix up some formatting issues.
4240
4241         * config/stormy16/stormy16.c: (xstormy16_carry_plus_operand):
4242         Move to predicates.md.
4243         (xs_hi_general_operand): Likewise.
4244         (xs_hi_nonmemory_operand): Likewise.
4245         * config/stormy16/predicates.md:
4246         (xstormy16_carry_plus_operand): New predicate.
4247         (xs_hi_general_operand): New predicate.
4248         (xs_hi_nonmemory_operand): New predicate.
4249         * config/stormy16/stormy16-protos.h:
4250         (xstormy16_carry_plus_operand): Delete prototype.
4251         (xs_hi_general_operand): Likewise.
4252         (xs_hi_nonmemory_operand): Likewise.
4253
4254         * config/storm16/stormy16.md (addhi3): Remove earlyclobber
4255         modifiers as they are no longer needed and they can trigger
4256         reload spill failures.
4257
4258         * config/storm16/stormy16.md (ineqbranchsi): Replace match_dup
4259         with a match_operand in order to help reload.
4260
4261         * config/storm16/stormy16.md (movhi_internal): Replace 'r'
4262         constraint with 'e' for the 8th alternative as this version of
4263         the mov.w instruction only accepts the lower 8 registers.
4264
4265 2008-01-25  Uros Bizjak  <ubizjak@gmail.com>
4266
4267         PR target/34856
4268         * simplifx-rtx.c (simplify_const_binary_operation) [VEC_CONCAT]:
4269         Consider only CONST_INT, CONST_DOUBLE and CONST_FIXED as constant
4270         vector elements.
4271
4272 2008-01-25  Jakub Jelinek  <jakub@redhat.com>
4273
4274         PR middle-end/33333
4275         * gimplify.c (gimplify_omp_for): Gimplify OMP_FOR_PRE_BODY.
4276
4277 2008-01-25  Golovanevsky Olga  <olga@il.ibm.com>
4278
4279         * ipa-struct-reorg.c (remove_str_allocs_in_func, remove_str_allocs):
4280         New functions.
4281         (remove_structure): Update allocations list before removing structure.
4282         
4283 2008-01-25  Golovanevsky Olga  <olga@il.ibm.com>
4284
4285         * ipa-struct-reorg.c (is_safe_cond_expr, 
4286         create_new_stmts_for_cond_expr): Use integer_zerop function,
4287         that recognize not only zero-pointer, but zero-integer too.
4288
4289 2008-01-25  Ben Elliston  <bje@au.ibm.com>
4290
4291         PR other/22232
4292         * fixproto: Escape "." in sed expression that strips leading "./".
4293
4294 2008-01-24  H.J. Lu  <hongjiu.lu@intel.com>
4295
4296         PR driver/34904
4297         * gcc.c (SWITCH_OK): Removed.
4298         (SWITCH_LIVE): Changed to bit.
4299         (SWITCH_FALSE): Likewise.
4300         (SWITCH_IGNORE): Likewise.
4301         (switchstr): Change live_cond to unsigned int.
4302         (process_command): Replace SWITCH_OK with 0.
4303         (do_self_spec): Likewise.
4304         (set_collect_gcc_options): Check the SWITCH_IGNORE bit.
4305         (give_switch): Likewise.
4306         (used_arg): Likewise.
4307         (do_spec_1): Set the SWITCH_IGNORE bit.
4308         (check_live_switch): Check both SWITCH_LIVE and SWITCH_FALSE
4309         bits.  Set the SWITCH_LIVE bit.
4310
4311 2008-01-24  Andreas Krebbel  <krebbel1@de.ibm.com>
4312
4313         * config/s390/s390.h (MOVE_RATIO): Define new target macro.
4314
4315 2008-01-24  Richard Sandiford  <rsandifo@nildram.co.uk>
4316
4317         PR tree-optimization/34472
4318         * ipa-struct-reorg.c (safe_cond_expr_check): Change the DATA
4319         parameter to a "bool *" and set *DATA to false if there is
4320         an unsafe access.  Do not delete the structure here.
4321         (check_cond_exprs): Delete it here instead.
4322         (check_cond_exprs, exclude_cold_structs): Do not increase
4323         I when removing a structure.
4324
4325 2008-01-24  Uros Bizjak  <ubizjak@gmail.com>
4326
4327         PR target/34856
4328         * config/i386/i386.c (ix86_expand_vector_init): Consider only
4329         CONST_INT, CONST_DOUBLE and CONST_FIXED as constant vector elements.
4330
4331 2008-01-24  Jakub Jakub Jelinek  <jakub@redhat.com>
4332
4333         PR middle-end/34934
4334         * tree-stdarg.c (reachable_at_most_once): Use VEC vector instead of
4335         a fixed vector for stack.
4336
4337 2008-01-24  Ben Elliston  <bje@au.ibm.com>
4338
4339         PR c++/25701
4340         * doc/gcc.texi (Software development): Add a direntry for g++.
4341         
4342 2008-01-23  Hans-Peter Nilsson  <hp@axis.com>
4343
4344         * config/cris/cris.h (CC1PLUS_SPEC, OPTIMIZATION_OPTIONS): Drop
4345         stale and straggling -fforce-addr comments above.
4346
4347         * config/cris/cris.h (CRIS_SUBTARGET_VERSION, TARGET_VERSION): Don't
4348         define.
4349         * config/cris/linux.h (CRIS_SUBTARGET_VERSION): Don't define.
4350         * config/cris/aout.h (CRIS_SUBTARGET_VERSION): Don't define.
4351
4352 2008-01-23  Michael Matz  <matz@suse.de>
4353
4354         PR debug/34895
4355         * dwarf2out.c (force_type_die): Use modified_type_die instead of
4356         gen_type_die.
4357
4358 2008-01-23  Andreas Krebbel  <krebbel1@de.ibm.com>
4359
4360         * ipa-struct-reorg.c (create_new_malloc): Use pointer type as
4361         malloc result type.
4362
4363 2008-01-23 Anatoly Sokolov <aesok@post.ru>
4364
4365         * config/avr/avr.c (avr_current_arch): New variable.
4366         (avr_arch_types): Add 'avr31' and 'avr51' entries.
4367         (avr_arch): Add 'ARCH_AVR31' and 'ARCH_AVR51'.
4368         (avr_mcu_types): Add 'avr31' and 'avr51' architectures.
4369         (avr_override_options): Init 'avr_current_arch'. 
4370         (base_arch_s): Move from here...
4371         * config/avr/avr.h (base_arch_s): ... here. Add new members 
4372         'have_elpm', 'have_elpmx', 'have_eijmp_eicall', 'reserved'. Rename 
4373         'mega' to 'have_jmp_call'.
4374         (TARGET_CPU_CPP_BUILTINS): Define "__AVR_HAVE_JMP_CALL__", 
4375         "__AVR_HAVE_RAMPZ__",   "__AVR_HAVE_ELPM__" and  "__AVR_HAVE_ELPMX__"
4376         macros.
4377         (LINK_SPEC, CRT_BINUTILS_SPECS, ASM_SPEC): Add 'avr31' and 'avr51' 
4378         architectures.
4379         * config/avr/t-avr (MULTILIB_OPTIONS, MULTILIB_DIRNAMES, 
4380         MULTILIB_MATCHES): (Ditto.).
4381
4382 2008-01-23  Richard Guenther  <rguenther@suse.de>
4383
4384         PR middle-end/31529
4385         * cgraphunit.c (cgraph_reset_node): Always mark the node
4386         not reachable if it is not queued already.
4387
4388 2008-01-23  Bernd Schmidt  <bernd.schmidt@analog.com>
4389
4390         * config/bfin/bfin-protos.h (WA_RETS, ENABLE_WA_RETS): New macros.
4391         * config/bfin/bfin.c (bfin_cpus): Add WA_RETS everywhere.
4392         (cputype_selected): New static variable.
4393         (bfin_handle_option): Set it if -mcpu is used.
4394         (override_option): Select default set of workarounds if no cpu type
4395         selected on the command line.
4396         (workaround_rts_anomaly): Only run if ENABLE_WA_RETS.
4397
4398         From  Michael Frysinger  <michael.frysinger@analog.com>
4399         * config/bfin/bfin-protos.h (enum bfin_cpu_type): Add
4400         BFIN_CPU_BF547, BFIN_CPU_BF523, BFIN_CPU_BF524, and BFIN_CPU_BF526.
4401
4402         * config/bfin/elf.h (LIB_SPEC): Use proper linker script
4403         for bf547, bf523, bf524, and bf526.
4404         * config/bfin/bfin.c (bfin_cpus[]): Add bf547,  bf523, bf524, and
4405         bf526.
4406         * config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS): Define
4407         __ADSPBF523__ for bf523, __ADSPBF524__ for bf524,
4408         __ADSPBF526__ for bf526, __ADSPBF52x__ for all three, as well as
4409         __ADSPBF547__ and __ADSPBF54x__ for bf547.
4410         * doc/invoke.texi (Blackfin Options): Document that
4411         -mcpu now accept bf547, bf523, bf524, and bf526.
4412
4413 2008-01-22  Eric Botcazou  <ebotcazou@adacore.com>
4414
4415         PR rtl-optimization/34628
4416         * combine.c (try_combine): Stop and undo after the first combination
4417         if an autoincrement side-effect on the first insn has effectively
4418         been lost.
4419
4420 2008-01-22  David Edelsohn  <edelsohn@gnu.org>
4421
4422         PR target/34529
4423         * config/rs6000/rs6000.c (rs6000_legitimate_offset_address_p):
4424         Offset addresses are not valid for Altivec or paired float modes.
4425
4426 2008-01-22  Jakub Jelinek  <jakub@redhat.com>
4427
4428         PR c++/34607
4429         * c-parser.c (c_parser_omp_for_loop): Don't call c_finish_omp_for
4430         if DECL_INITIAL (decl) is error_mark_node.
4431
4432         PR c++/34914
4433         * c-common.c (handle_vector_size_attribute): Only allow
4434         integral, scalar float and fixed point types.  Handle OFFSET_TYPE
4435         the same way as pointer, array etc. types.
4436         * tree.c (reconstruct_complex_type): Handle OFFSET_TYPE.
4437
4438         PR c++/34917
4439         * tree.c (build_type_attribute_qual_variant): Call
4440         build_qualified_type if attributes are equal, but quals are not.
4441
4442 2008-01-22  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
4443
4444         PR 32102
4445         * doc/invoke.texi (-Wall): -Wall enables -Wstrict-overflow=1.
4446         * flags.h (warn_strict_aliasing): Remove.
4447         (warn_strict_overflow): Remove.
4448         * opts.c (warn_strict_aliasing): Remove.
4449         (warn_strict_overflow): Remove.
4450         * c-opts.c (c_common_handle_option): -Wall only sets
4451         -Wstrict-aliasing or -Wstrict-overflow if they are uninitialized.
4452         (c_common_post_options): Give default values to -Wstrict-aliasing
4453         and -Wstrict-overflow if they are uninitialized.
4454         * common.opt (Wstrict-aliasing): Specify Var and Init.
4455         (Wstrict-overflow): Likewise.
4456
4457 2008-01-22  Kenneth Zadeck <zadeck@naturalbridge.com>
4458
4459         PR rtl-optimization/26854
4460         PR rtl-optimization/34400
4461         PR rtl-optimization/34884
4462         * ddg.c (create_ddg_dep_from_intra_loop_link): Use
4463         DF_RD->gen.
4464         * df.h (df_changeable_flags.DF_RD_NO_TRIM): Deleted
4465         (df_rd_bb_info.expanded_lr_out): Deleted
4466         * loop_invariant.c (find_defs): Deleted DF_RD_NO_TRIM flag.
4467         * loop_iv.c (iv_analysis_loop_init): Ditto.  * df-problems.c
4468         (df_rd_free_bb_info, df_rd_alloc, df_rd_confluence_n,
4469         df_rd_bb_local_compute, df_rd_transfer_function, df_rd_free):
4470         Removed code to allocate, initialize or free expanded_lr_out.
4471         (df_rd_bb_local_compute_process_def): Restructured to make more
4472         understandable.
4473         (df_rd_confluence_n): Removed code to no apply invalidate_by_call
4474         sets if the sets are being trimmed.
4475
4476 2008-01-22  H.J. Lu  <hongjiu.lu@intel.com>
4477
4478         PR bootstrap/32287
4479         * configure.ac (ld_vers): Support GNU linker version xx.xx.*
4480         (as_vers): Likewise.
4481         * configure: Regenerated.
4482
4483 2008-01-22  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
4484
4485         PR middle-end/33092
4486         * tree-pass.h (pass_build_alias): New pass.
4487         * tree-ssa-alias.c (gate_build_alias): New.
4488         (pass_build_alias): New.
4489         * passes.c (init_optimization_passes): Add pass_build_alias after
4490         pass_create_structure_vars.
4491
4492 2008-01-22  Wolfgang Gellerich  <gellerich@de.ibm.com>
4493
4494         * config/s390/s390.h (S390_TDC_POSITIVE_NORMALIZED_NUMBER):
4495         Renamed to S390_TDC_POSITIVE_NORMALIZED_BFP_NUMBER.
4496         (S390_TDC_NEGATIVE_NORMALIZED_NUMBER): Renamed to
4497         S390_TDC_NEGATIVE_NORMALIZED_BFP_NUMBER.
4498         (S390_TDC_POSITIVE_DENORMALIZED_NUMBER): Renamed to
4499         S390_TDC_POSITIVE_DENORMALIZED_BFP_NUMBER.
4500         (S390_TDC_NEGATIVE_DENORMALIZED_NUMBER): Renamed to
4501         S390_TDC_NEGATIVE_DENORMALIZED_BFP_NUMBER.
4502         (S390_TDC_POSITIVE_NORMALIZED_BFP_NUMBER): New constant.
4503         (S390_TDC_NEGATIVE_NORMALIZED_BFP_NUMBER): New constant.
4504         (S390_TDC_POSITIVE_DENORMALIZED_BFP_NUMBER): New constant.
4505         (S390_TDC_NEGATIVE_DENORMALIZED_BFP_NUMBER): New constant.
4506         * config/s390/s390.md (FP_ALL): New mode iterator.
4507         (_d): New mode attribute.
4508         ("*signbit<mode>2>"): Changed mode of first operand.
4509         ("isinf<mode>2"): Changed mode of first operand.
4510         ("*TDC_insn"): Adaptation for DFP modes.
4511
4512 2008-01-22  Ben Elliston  <bje@au.ibm.com>
4513
4514         * tree.c (check_qualified_type): Improve function description.
4515
4516 2008-01-21  Jason Merrill  <jason@redhat.com>
4517
4518         PR c++/34196
4519         * tree.h (TRY_CATCH_IS_CLEANUP): New macro.
4520         * tree-eh.c (honor_protect_cleanup_actions): Strip TRY_CATCH_EXPR
4521         if it is set.
4522
4523 2008-01-21  DJ Delorie  <dj@redhat.com>
4524
4525         * doc/tm.texi (HARD_REGNO_NREGS): Note that this macro must not
4526         return zero.
4527
4528 2008-01-21  Richard Guenther  <rguenther@suse.de>
4529
4530         PR middle-end/34856
4531         * tree-cfg.c (verify_expr): Allow all invariant expressions
4532         instead of just constant class ones as reference argument.
4533         * tree-ssa-loop-im.c (for_each_index): Handle CONSTRUCTOR
4534         like any other constant.
4535         * tree-ssa-sccvn.c (copy_reference_ops_from_ref): Likewise.
4536
4537 2008-01-21  H.J. Lu  <hongjiu.lu@intel.com>
4538
4539         * regmove.c (fixup_match_1): Update call crossed frequencies.
4540
4541 2008-01-21  Richard Guenther  <rguenther@suse.de>
4542
4543         PR c/34885
4544         * tree-inline.c (setup_one_parameter): Deal with mismatched
4545         types using a VIEW_CONVERT_EXPR.
4546
4547 2008-01-21  Alon Dayan  <alond@il.ibm.com>
4548             Olga Golovanevsky  <olga@il.ibm.com>
4549         
4550         PR tree-optimization/34701
4551         * ipa-struct-reorg.c (gen_size): Fix the malloc parameter calculation
4552         when the structure size is not a power of 2.
4553
4554 2008-01-20  Kenneth Zadeck <zadeck@naturalbridge.com>
4555
4556         * doc/install.texi: Add doc for --enable-checking=df.
4557         
4558 2008-01-20  Kaz Kojima  <kkojima@gcc.gnu.org>
4559
4560         PR rtl-optimization/34808
4561         * emit-rtl.c (try_split): Handle REG_RETVAL notes.
4562
4563 2008-01-20  Richard Sandiford  <rsandifo@nildram.co.uk>
4564
4565         * global.c (find_reg): Only compute EH_RETURN_DATA_REGNO once per
4566         input.
4567
4568 2008-01-19  Kenneth Zadeck <zadeck@naturalbridge.com>
4569
4570         PR rtl-optimization/26854
4571         PR rtl-optimization/34400
4572         * ddg.c (create_ddg_dep_from_intra_loop_link): Do not use
4573         DF_RD->gen.
4574         * df.h (df_changeable_flags.DF_RD_NO_TRIM): New.
4575         (df_rd_bb_info.expanded_lr_out): New.
4576         * loop_invariant.c (find_defs): Added DF_RD_NO_TRIM flag.
4577         * loop_iv.c (iv_analysis_loop_init): Ditto.
4578         * df-problems.c (df_rd_free_bb_info, df_rd_alloc, df_rd_confluence_n,
4579         df_rd_bb_local_compute, df_rd_transfer_function, df_rd_free):
4580         Added code to allocate, initialize or free expanded_lr_out.
4581         (df_rd_bb_local_compute_process_def): Restructured to make
4582         more understandable.
4583         (df_rd_confluence_n): Add code to do nothing with fake edges and
4584         code to no apply invalidate_by_call sets if the sets are being trimmed.
4585         (df_lr_local_finalize): Renamed to df_lr_finalize.
4586         (df_live_local_finalize): Renamed to df_live_finalize.
4587
4588 2008-01-20  Richard Sandiford  <rsandifo@nildram.co.uk>
4589
4590         PR target/34831
4591         * config/mips/mips.md (div<mode>3): Use <recip_condition> when
4592         deciding whether to use reciprocal instructions.
4593
4594 2008-01-19  Uros Bizjak  <ubizjak@gmail.com>
4595
4596         * dwarf2out.c (dwarf2out_switch_text_section): Do not call
4597         dwarf2out_note_section_used if cold_text_section is NULL.
4598
4599 2008-01-19  Jakub Jelinek  <jakub@redhat.com>
4600
4601         PR gcov-profile/34610
4602         * tree-cfg.c (make_edges): Mark both outgoing edges from
4603         OMP_CONTINUE and from OMP_FOR as EDGE_ABNORMAL.
4604         * omp-low.c (expand_omp_for): Clear EDGE_ABNORMAL bits
4605         from OMP_FOR and OMP_CONTINUE outgoing edges.
4606
4607         * tree-profile.c (tree_profiling): Return early if
4608         cfun->after_tree_profile != 0.  Set cfun->after_tree_profile
4609         at the end.
4610         * omp-low.c (expand_omp_parallel): Copy after_tree_profile
4611         from cfun to child_cfun.
4612         * function.h (struct function): Add after_tree_profile bit.
4613
4614 2008-01-19 Anatoly Sokolov <aesok@post.ru>
4615
4616         * config/avr/avr.S (_exit): Disable interrupt.
4617
4618 2008-01-18  Kenneth Zadeck  <zadeck@naturalbridge.com>
4619             Steven Bosscher  <stevenb.gcc@gmail.com>
4620
4621         PR rtl-optimization/26854
4622         PR rtl-optimization/34400
4623         * df-problems.c (df_live_scratch): New scratch bitmap.
4624         (df_live_alloc): Allocate df_live_scratch when doing df_live.
4625         (df_live_reset): Clear the proper bitmaps.
4626         (df_live_bb_local_compute): Only process the artificial defs once
4627         since the order is not important.
4628         (df_live_init): Init the df_live sets only with the variables
4629         found live by df_lr.
4630         (df_live_transfer_function): Use the df_lr sets to prune the
4631         df_live sets as they are being computed.  
4632         (df_live_free): Free df_live_scratch.
4633
4634 2008-01-18  Ian Lance Taylor  <iant@google.com>
4635
4636         * common.opt: Add fmerge-debug-strings.
4637         * dwarf2out.c (DEBUG_STR_SECTION_FLAGS): Test
4638         flag_merge_debug_strings rather than flag_merge_constants.
4639         * doc/invoke.texi (Option Summary): Mention
4640         -fmerge-debug-strings.
4641         (Debugging Options): Document -fmerge-debug-strings.
4642
4643 2008-01-18  Ian Lance Taylor  <iant@google.com>
4644
4645         PR c++/33407
4646         * tree.h (DECL_IS_OPERATOR_NEW): Define.
4647         (struct tree_function_decl): Add new field operator_new_flag.
4648         * tree-inline.c (expand_call_inline): When inlining a call to
4649         operator new, force the return value to go into a variable, and
4650         set DECL_NO_TBAA_P on that variable.
4651         * c-decl.c (merge_decls): Merge DECL_IS_OPERATOR_NEW flag.
4652
4653 2008-01-18  Uros Bizjak  <ubizjak@gmail.com>
4654
4655         PR debug/34484
4656         * dwarf2out.c (dwarf2out_switch_text_section): Do not guard with
4657         DWARF2_DEBUGGING_INFO.
4658         (dwarf2out_note_section_used): Ditto.  Add prototype.
4659         (have_multiple_function_sections, text_section_used,
4660         cold_text_section_used, *cold_text_sections): Move declarations
4661         before their uses.
4662
4663 2008-01-17  Bob Wilson  <bob.wilson@acm.org>
4664
4665         * config/xtensa/unwind-dw2-xtensa.h (_Unwind_FrameState): Remove pc
4666         field and add signal_ra.
4667         * config/xtensa/unwind-dw2-xtensa.c (uw_frame_state_for): Remove
4668         assignments to frame state pc.  Move end of stack check after
4669         MD_FALLBACK_FRAME_STATE_FOR.
4670         (uw_update_context_1): Use frame state signal_regs if set, instead
4671         of checking signal_frame flag.
4672         (uw_update_context): Use frame state signal_ra if set.
4673         * config/xtensa/linux.h (MD_UNWIND_SUPPORT): Define.
4674         * config/xtensa/linux-unwind.h: New file.
4675
4676 2008-01-18  Bernhard Fischer  <aldot@gcc.gnu.org>
4677
4678         * modulo-sched.c (get_sched_window): Fix comment typo.
4679
4680 2008-01-17  Andrew MacLeod  <amacleod@redhat.com>
4681
4682         PR tree-optimization/34648
4683         * tree-ssa-sccvn.c (visit_use): Expressions which can throw are varying.
4684
4685 2008-01-17  Anatoly Sokolov <aesok@post.ru>
4686
4687         * config/avr/avr.h (LINK_SPEC): Support -mrelax and -mpmem-wrap-around.
4688         * config/avr/avr.opt (mrelax, mpmem-wrap-around): Add.
4689
4690 2008-01-17  Seongbae Park  <seongbae.park@gmail.com>
4691
4692         PR rtl-optimization/34400
4693         * df-core.c (df_worklist_dataflow_overeager,
4694         df_worklist_dataflow_doublequeue): New functions.
4695         (df_worklist_dataflow): Two different worklist solvers.
4696         * params.def (PARAM_DF_DOUBLE_QUEUE_THRESHOLD_FACTOR):
4697         New param.
4698
4699 2008-01-16  Sebastian Pop  <sebastian.pop@amd.com>
4700
4701         PR testsuite/34821
4702         * doc/invoke.texi: Document the dependence on pthread for fopenmp
4703         and ftree-parallelize-loops.
4704
4705 2008-01-17  Mircea Namolaru  <namolaru@il.ibm.com>
4706
4707         PR rtl-optimization/34826
4708         * loop-doloop (doloop_modify): Update the REG_BR_PROB note.
4709
4710 2008-01-17  Andreas Krebbel  <krebbel1@de.ibm.com>
4711
4712         * global.c (find_reg): Mark the eh regs as used if necessary.
4713         * ra-conflict.c (global_conflicts): Set no_eh_reg flag.
4714         * ra.h (struct allocno): no_eh_reg field added.  Changed
4715         no_stack_reg type to bitfield.
4716
4717 2008-01-17  Eric Botcazou  <ebotcazou@adacore.com>
4718
4719         * tree.c (substitute_in_expr): Add missing 'break'.
4720
4721 2008-01-17  Richard Guenther  <rguenther@suse.de>
4722
4723         PR tree-optimization/34825
4724         * tree-ssa-math-opts.c (is_division_by): Do not recognize
4725         x / x as division to handle.
4726
4727 2008-01-16  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
4728
4729         * pa64-hpux.h (LIB_SPEC): Add "-lpthread" in shared links if "-mt" or
4730         "-pthread" is specified.
4731         * pa-hpux11.h (LIB_SPEC): Likewise.
4732
4733 2008-01-16  Janis Johnson  <janis187@us.ibm.com>
4734             Peter Bergner  <bergner@vnet.ibm.com>
4735
4736         PR rtl-optimization/33796
4737         * sparseset.c (sparseset_alloc): Use xcalloc rather than xmalloc.
4738
4739 2008-01-16  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
4740
4741         PR libgfortran/34699
4742         * pa-hpux.h (LINK_SPEC): Only search /lib/pa1.1 and /usr/lib/pa1.1 on
4743         static links.
4744         * pa-hpux10.h (LINK_SPEC): Likewise.
4745         * pa-hpux11.h (LINK_SPEC): Don't search /lib/pa1.1 and /usr/lib/pa1.1.
4746
4747 2008-01-16  Richard Guenther  <rguenther@suse.de>
4748
4749         PR middle-end/32628
4750         * fold-const.c (fold_convert_const_int_from_int): Do not
4751         set overflow if that occured only because of a sign extension
4752         change when converting from/to a sizetype with the same
4753         precision and signedness.
4754
4755 2008-01-16  Uros Bizjak  <ubizjak@gmail.com>
4756
4757         PR debug/34249
4758         * dwarf2out.c (output_call_frame_info): Move output of FDE initial
4759         location address to the correct place.  Update copyright year.
4760
4761 2008-01-16  Sebastian Pop  <sebastian.pop@amd.com>
4762
4763         * lambda-code.c (lambda_transform_legal_p): Handle the case of
4764         no dependences in the dependence_relations vector.
4765
4766 2008-01-16  Jan Hubicka  <jh@suse.cz>
4767
4768         PR rtl-optimization/31396
4769         * regstat.c (regstat_bb_compute_ri): Compute FREQ_CALLS_CROSSED.
4770         * cfg.c (dump_reg_info): Print it.
4771         * regs.h (struct reg_info_t): add freq_calls_crossed.
4772         (REG_FREQ_CALLS_CROSSED): New macro.
4773         * global.c (global_alloc): Compute freq_calls_crossed for allocno.
4774         (find_reg): Update call of CALLER_SAVE_PROFITABLE.
4775         * regmove.c (optimize_reg_copy_1, optimize_reg_copy_2, fixup_match_2,
4776         regmove_optimize): Update call crossed frequencies.
4777         * local-alloc.c (struct qty): Add freq_calls_crossed.
4778         (alloc_qty): Copute freq_calls_crossed.
4779         (update_equiv_regs, combine_regs): Update REG_FREQ_CALLS_CROSSED.
4780         (find_free_reg): Update call of CALLER_SAVE_PROFITABLE.
4781         * ra.h (struct allocno): Add freq_calls_crossed.
4782
4783 2008-01-16  Sebastian Pop  <sebastian.pop@amd.com>
4784
4785         * gcc.c (LINK_COMMAND_SPEC): Add includes and link options for
4786         libgomp when compiling with ftree-parallelize-loops.
4787         (GOMP_SELF_SPECS): Add -pthread for ftree-parallelize-loops.
4788
4789 2008-01-16  Richard Guenther  <rguenther@suse.de>
4790
4791         PR tree-optimization/34769
4792         * tree-data-ref.c (initialize_matrix_A): Revert fix for PR34458.
4793         * tree.c (int_cst_value): Instead make this function more
4794         permissive in what it accepts as valid input.  Document this
4795         function always sign-extends the value.
4796
4797 2008-01-16  Jakub Jelinek  <jakub@redhat.com>
4798             Richard Guenther  <rguenther@suse.de>
4799
4800         PR c/34668
4801         * gimplify.c (fold_indirect_ref_rhs): Rename to ...
4802         (gimple_fold_indirect_ref_rhs): ... this.
4803         (gimple_fold_indirect_ref): New function with foldings
4804         that preserve lvalueness.
4805         (gimplify_modify_expr_rhs): Call gimple_fold_indirect_ref_rhs.
4806         * tree-flow.h (gimple_fold_indirect_ref): Declare.
4807         * tree-inline.c (copy_body_r): Use gimple_fold_indirect_ref
4808         to fold an INDIRECT_REF, fall back to the old use of
4809         fold_indirect_ref_1.
4810
4811 2008-01-16  Sebastian Pop  <sebastian.pop@amd.com>
4812
4813         * tree-data-ref.c (subscript_dependence_tester_1): Call 
4814         free_conflict_function.
4815         (compute_self_dependence): Same.
4816
4817 2008-01-16  Uros Bizjak  <ubizjak@gmail.com>
4818
4819         PR debug/34249
4820         * debug.h (dwarf2out_switch_text_section): Move declaration from ...
4821         * dwarf2out.c (dwarf2out_switch_text_section): ... here.  Make
4822         function global.
4823         * final.c (final_scan_insn) [NOTE_INSN_SWITCH_TEXT_SECTIONS]:
4824         Depending on dwarf2out_do_frame, call dwarf2out_switch_text_section
4825         for DWARF2_UNWIND_INFO targets.
4826
4827 2008-01-16  Richard Guenther  <rguenther@suse.de>
4828
4829         PR c/34768
4830         * c-typeck.c (common_pointer_type): Do not merge inconsistent
4831         type qualifiers for function types.
4832
4833 2008-01-15  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
4834
4835         * tree-parloops.c (gen_parallel_loop): Fix ommision of declaration for
4836         loop_iterator li from previous commit.
4837
4838 2008-01-15  Sebastian Pop  <sebastian.pop@amd.com>
4839
4840         * tree-parloops.c (gen_parallel_loop): Free loop bound estimations.
4841
4842 2008-01-12  Sebastian Pop  <sebastian.pop@amd.com>
4843
4844         * tree-parloops.c (loop_has_blocks_with_irreducible_flag): New.
4845         (parallelize_loops): Don't parallelize irreducible components.
4846
4847 2008-01-14  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
4848
4849         PR c++/24924
4850         * c-opts (c_common_post_options): Do not enable CPP
4851         flag_pedantic_errors by default.
4852         
4853 2008-01-14  Eric Botcazou  <ebotcazou@adacore.com>
4854
4855         PR rtl-optimization/31944
4856         * cse.c (remove_pseudo_from_table): New function.
4857         (merge_equiv_classes): Use above function to remove pseudo-registers.
4858         (invalidate): Likewise.
4859
4860 2008-01-13  Richard Guenther  <rguenther@suse.de>
4861
4862         PR middle-end/34601
4863         * emit-rtl.c (set_reg_attrs_for_decl_rtl): Use DECL_MODE
4864         instead of TYPE_MODE to deal with calls from expand_one_error_var.
4865
4866 2008-01-13  Uros Bizjak  <ubizjak@gmail.com>
4867
4868         * gcse.c (cprop_jump): Call validate_unshare_change instead of
4869         validate_change to unshare the source of the PC set.
4870
4871 2008-01-12  Jan Hubicka  <jh@suse.cz>
4872
4873         PR middle-end/32135
4874         * tree-ssa-ccp.c (maybe_fold_offset_to_array_ref): Do not construct
4875         references above array bounds.  This might trigger bounds checks for
4876         pointers to arrays.
4877
4878 2008-01-12  Sebastian Pop  <sebastian.pop@amd.com>
4879
4880         * tree-ssa-ter.c (free_temp_expr_table): Free num_in_part and
4881         new_replaceable_dependencies.
4882
4883 2008-01-12  Doug Kwan  <dougkwan@google.com>
4884
4885         * c-decl.c: (grokdeclarator): Use OPT_Wignored_qualifiers
4886         instead of OPT_Wreturn_type in warning due to ignored return type
4887         qualifiers.
4888         * c-opt.c (c_common_post_option): Add -Wignored-qualifiers to
4889         options included in -Wextra.
4890         * c.opt: New option -Wignored_qualifiers.
4891         * doc/invoke.texi (Warning Options, -Wextra): Add new option
4892         -Wignore_qualifiers.
4893         (-Wignored-qualifiers): Document.
4894         (-Wreturn-type): Remove description of functionality now handled
4895         by -Wignored-qualifiers.
4896
4897 2008-01-12  Eric Botcazou  <ebotcazou@adacore.com>
4898
4899         PR ada/33788
4900         * fold-const.c (fold_unary) <VIEW_CONVERT_EXPR>: Fold an existing
4901         NOP_EXPR if it is between integral types with the same precision.
4902
4903 2008-01-12  Jan Hubicka  <jh@suse.cz>
4904
4905         PR other/28023
4906         * invoke.texi (max-inline-recursive-depth): Fix default value.
4907
4908 2008-01-12  Zdenek Dvorak  <ook@ucw.cz>
4909
4910         * tree-parloops.c (transform_to_exit_first_loop): Cast nit to the
4911         correct type.
4912
4913 2008-01-11  Bob Wilson  <bob.wilson@acm.org>
4914         
4915         * config/xtensa/xtensa.c (override_options): Set flag_shlib.
4916         
4917 2008-01-11  James E. Wilson  <wilson@specifix.com>
4918
4919         PR target/26015
4920         * config/vax/elf.h (FRAME_POINTER_CFA_OFFSET): Define.
4921
4922 2008-01-11  Anatoly Sokolov <aesok@post.ru>
4923
4924         * config/avr/avr.c (expand_prologue, expand_epilogue): Don't 
4925         save/restore frame pointer register and don't use 'call-prologues' 
4926         optimization in function with "OS_task" attribute.
4927
4928 2008-01-11  Eric Botcazou  <ebotcazou@adacore.com>
4929
4930         PR middle-end/31309
4931         * expr.c (copy_blkmode_from_reg): Use a mode suited to the size
4932         when copying to memory.
4933
4934 2008-01-11  Steven Bosscher  <stevenb.gcc@gmail.com>
4935
4936         PR rtl-optimization/30905
4937         * cfgcleanup.c: Include dce.h
4938         (crossjumps_occured): New global variable.
4939         (try_crossjump_bb): Exit loop after finding a fallthru edge.
4940         If something changed, set crossjumps_occured to true.
4941         (try_optimize_cfg): Clear crossjumps_occured at the beginning.
4942         Don't add/remove fake edges to exit here...
4943         (cleanup_cfg): ...but do it here, when crossjumping.
4944         Run a fast DCE when successful crossjumps occured in the latest
4945         iteration of try_optimize_cfg.
4946
4947 2008-01-11  Richard Guenther  <rguenther@suse.de>
4948
4949         * tree-ssa-sccvn.c (struct vn_binary_op_s): Move hashcode near opcode.
4950         (struct vn_unary_op_s): Likewise.
4951         (vn_reference_insert): Free old reference on hash collision.
4952
4953 2008-01-10  Raksit Ashok  <raksit@google.com>
4954
4955         PR rtl-optimization/27971
4956         * combine.c (find_split_point): Split PLUS expressions which are
4957         inside a MEM rtx, and whose first operand is complex.
4958
4959 2008-01-10  DJ Delorie  <dj@redhat.com>
4960
4961         * config/m32c/m32c.c (m32c_hard_regno_nregs_1): Renamed from...
4962         (m32c_hard_regno_nregs): ...this, which is now a wrapper.
4963         (m32c_hard_regno_ok): Call the underlying function.
4964
4965 2008-01-10  Richard Guenther  <rguenther@suse.de>
4966
4967         PR middle-end/34683
4968         * tree-cfg.c (tree_merge_blocks): Do not go through the
4969         full-blown folding and stmt updating path if we just deal
4970         with virtual operands.
4971         * tree-ssa-copy.c (may_propagate_copy): Do not short-cut
4972         test for abnormal SSA_NAMEs.
4973
4974 2008-01-10  Andreas Krebbel  <krebbel1@de.ibm.com>
4975
4976         PR middle-end/34641
4977         * reload.c (push_reload): Add assertions.  All constants from
4978         reg_equiv_constant should have been used for replacing the respective
4979         pseudo earlier.
4980         (find_reloads_address): Invoke find_reloads_address_part for
4981         constant taken from the reg_equiv_constant array.
4982
4983 2008-01-10  Steven Bosscher  <stevenb.gcc@gmail.com>
4984
4985         * tree-ssa-sccvn.h (struct vn_ssa_aux): Make the most accessed
4986         field (valnum) the first in the struct.  Replace bools with
4987         unit bit fields.
4988
4989 2008-01-10  Richard Guenther  <rguenther@suse.de>
4990
4991         PR tree-optimization/34651
4992         * tree-sra.c (sra_build_assignment): Sanitize.  Use the correct
4993         types and ordering for masking and converting.
4994
4995 2008-01-09  Sebastian Pop  <sebastian.pop@amd.com>
4996
4997         PR tree-optimization/34017
4998         * lambda-code.c (lambda_loopnest_to_gcc_loopnest): Generate code
4999         also for PHI_NODE expressions.
5000
5001 2008-01-09  Jan Hubicka  <jh@suse.cz>
5002
5003         PR tree-optimization/34708
5004         * tree-inline.c (estimate_num_insns_1): Compute cost of SWITCH_EXPR
5005         based on number of case labels.
5006         (init_inline_once): Remove switch_cost.
5007         * tree-inline.h (eni_weights_d): Remove switch_cost.
5008
5009 2008-01-09  Richard Guenther  <rguenther@suse.de>
5010         Andrew Pinski  <andrew_pinski@playstation.sony.com>
5011
5012         PR middle-end/30132
5013         * gimplify.c (gimplify_cond_expr): Do not create an addressable
5014         temporary if an rvalue is ok or an lvalue is not required.
5015
5016 2008-01-09  Richard Guenther  <rguenther@suse.de>
5017
5018         PR middle-end/34458
5019         * tree-data-ref.c (initialize_matrix_A): Use tree_low_cst,
5020         adjust return type.
5021
5022 2008-01-09  Richard Guenther  <rguenther@suse.de>
5023
5024         PR middle-end/34679
5025         * tree.c (host_integerp): Check for sizetype only if the
5026         type is an integer type.
5027
5028 2008-01-09  Steven Bosscher  <stevenb.gcc@gmail.com>
5029
5030         PR debug/26364
5031         * opts.c (decode_options): Disable inlining of functions called
5032         once if not in unit-at-a-time mode.
5033
5034 2008-01-09  Alexandre Oliva  <aoliva@redhat.com>
5035
5036         * Makefile.in (dse.o): Remove duplicate $(RECOG_H) dependency.
5037
5038 2008-01-08  Richard Guenther  <rguenther@suse.de>
5039
5040         PR middle-end/31863
5041         * tree-ssa-structalias.c (push_fields_onto_fieldstack): Bail
5042         out early if the result will be unused.
5043
5044 2008-01-08  Uros Bizjak  <ubizjak@gmail.com>
5045
5046         PR target/34709
5047         Revert:
5048
5049         2008-01-05  Uros Bizjak  <ubizjak@gmail.com>
5050         * config/i386/i386.c (ix86_builtin_reciprocal): Remove check
5051         for TARGET_RECIP.       
5052         
5053 2008-01-08  Jan Sjodin  <jan.sjodin@amd.com>
5054         
5055         * config/i386/i386.c (k8_cost, amdfam10_cost): Branch costs
5056         for vectorization tuned.
5057         
5058 2008-01-08  Richard Guenther  <rguenther@suse.de>
5059
5060         PR tree-optimization/34683
5061         * tree-ssa-operands.c (operand_build_cmp): Export.
5062         * tree-ssa-operands.h (operand_build_cmp): Declare.
5063         * tree-vn.c (vuses_compare): Remove.
5064         (sort_vuses): Use operand_build_cmp.
5065         (sort_vuses_heap): Likewise.
5066         * tree-ssa-sccvn.c (vuses_to_vec): Use VEC_reserve, not VEC_alloc
5067         to re-use old VEC if available.  Do not sort already sorted VUSEs.
5068         (vdefs_to_vec): Do not sort already sorted VDEFs.
5069
5070 2008-01-08  Jakub Jelinek  <jakub@redhat.com>
5071
5072         PR middle-end/34694
5073         * omp-low.c (copy_var_decl): Copy also DECL_SOURCE_LOCATION.
5074
5075 2008-01-08  Uros Bizjak  <ubizjak@gmail.com>
5076
5077         PR target/34702
5078         * doc/invoke.texi (i386 and x86-64 Options) [mrecip]: Document
5079         limitations of reciprocal sequences on x86 targets.
5080
5081 2008-01-08  Richard Guenther  <rguenther@suse.de>
5082
5083         PR tree-optimization/34683
5084         * tree-flow-inline.h (var_ann): Remove overzealous asserts.
5085
5086 2008-01-07  Jakub Jelinek  <jakub@redhat.com>
5087
5088         PR target/34622
5089         * config/darwin.c (darwin_mergeable_string_section): Don't use
5090         .cstring if int_size_in_bytes != TREE_STRING_LENGTH.
5091
5092 2008-01-07  Uros Bizjak  <ubizjak@gmail.com>
5093
5094         PR target/34682
5095         * config/i386/i386.md (neg<mode>2): Rename from negsf2, negdf2 and
5096         negxf2.  Macroize expander using X87MODEF mode iterator.  Change
5097         predicates of op0 and op1 to register_operand.
5098         (abs<mode>2): Rename from abssf2, absdf2 and negxf2.  Macroize
5099         expander using X87MODEF mode iterator.  Change predicates of
5100         op0 and op1 to register_operand.
5101         ("*absneg<mode>2_mixed", "*absneg<mode>2_sse"): Rename from
5102         corresponding patterns and macroize using MODEF macro.  Change
5103         predicates of op0 and op1 to register_operand and remove
5104         "m" constraint. Disparage "r" alternative with "!".
5105         ("*absneg<mode>2_i387"): Rename from corresponding patterns and
5106         macroize using X87MODEF macro.  Change predicates of op0 and op1
5107         to register_operand and remove "m" constraint.  Disparage "r"
5108         alternative with "!".
5109         (absneg splitter with memory operands): Remove.
5110         ("*neg<mode>2_1", "*abs<mode>2_1"): Rename from corresponding
5111         patterns and macroize using X87MODEF mode iterator.
5112         * config/i386/sse.md (negv4sf2, absv4sf2, neg2vdf2, absv2df2):
5113         Change predicate of op1 to register_operand.
5114         * config/i386/i386.c (ix86_expand_fp_absneg_operator): Remove support
5115         for memory operands.
5116
5117 2008-01-07  Nathan Froyd  <froydnj@codesourcery.com>
5118
5119         * config/rs6000/rs6000.h (ASM_CPU_SPEC): Add clause for mcpu=8548.
5120
5121 2008-01-07  Richard Guenther  <rguenther@suse.de>
5122
5123         * basic-block.h (struct edge_def): Pair dest_idx with goto_locus
5124         fields.
5125
5126 2008-01-07  Richard Guenther  <rguenther@suse.de>
5127
5128         PR tree-optimization/34683
5129         * tree-ssa-sccvn.c (vuses_to_vec): Pre-allocate the vector of
5130         VOPs of the needed size to save memory.  Use VEC_quick_push
5131         to save compile-time.
5132         (vdefs_to_vec): Likewise.
5133
5134 2008-01-07  Sa Liu  <saliu@de.ibm.com>
5135
5136         * config/spu/spu.md (divdf3): Genetate inline code for double
5137         division.  The implementation doesn't handle INF or NAN, therefore it
5138         only applies when -ffinite-math-only is given.
5139
5140 2008-01-06  Paolo Carlini  <pcarlini@suse.de>
5141
5142         PR libstdc++/34680
5143         * c-cppbuiltin.c (c_cpp_builtins): Define __GXX_RTTI, if appropriate.
5144         * doc/cpp.texi ([Common Predefined Macros]): Document.
5145
5146 2008-01-06  Uros Bizjak  <ubizjak@gmail.com>
5147
5148         * config/i386/i386.c (ix86_emit_swsqrtsf): Use negative constants in
5149         order to use commutative addition instead of subtraction.
5150
5151 2008-01-06  Andrew Pinski  <andrew_pinski@playstation.sony.com>
5152             Mircea Namolaru  <namolaru@il.ibm.com>
5153             Vladimir Yanovsky  <yanov@il.ibm.com>
5154             Revital Eres  <eres@il.ibm.com>
5155
5156         PR tree-optimization/34263
5157         * tree-outof-ssa.c (process_single_block_loop_latch,
5158         contains_tree_r): New functions.
5159         (analyze_edges_for_bb): Call process_single_block_loop_latch
5160         function to empty single-basic-block latch block if possible.
5161
5162 2008-01-05  Uros Bizjak  <ubizjak@gmail.com>
5163
5164         * config/i386/i386.c (ix86_builtin_reciprocal): Remove check
5165         for TARGET_RECIP.
5166         (ix86_emit_swsqrtsf): Do not filter out infinity for rsqrt expansion.
5167
5168 2008-01-05  Richard Sandiford  <rsandifo@nildram.co.uk>
5169
5170         * c-omp.c (check_omp_for_incr_expr): Handle CONVERT_EXPR.
5171
5172 2008-01-05  Richard Sandiford  <rsandifo@nildram.co.uk>
5173
5174         * config/mips/mips.c (mips_in_small_data_p): Reinstate size > 0 check.
5175
5176 2008-01-05  Jakub Jelinek  <jakub@redhat.com>
5177
5178         PR tree-optimization/34618
5179         * tree-outof-ssa.c (create_temp): Copy over DECL_GIMPLE_REG_P
5180         flag from T.
5181
5182 2008-01-05  Uros Bizjak  <ubizjak@gmail.com>
5183
5184         PR target/34673
5185         * config/i386/i386.c (ix86_emit_swsqrtsf): Swap input operands
5186         in the call to gen_rtx_NE.  Remove unneeded VECTOR_MODE_P check.
5187         Update copyright year.
5188
5189         * config/i386/i386.md (rsqrtsf2): Enable for TARGET_SSE_MATH.
5190         Update copyright year.
5191         * config/i386/sse.md (rsqrtv4sf2): Ditto. Unconditionally expand
5192         using NR fixup.
5193
5194 2008-01-05  Zhouyi Zhou  <zhouzhouyi@FreeBSD.org>
5195
5196         * tree-vrp.c (find_conditional_asserts): Remove redundant check that
5197         edge does not point to current bb before changing need_assert.
5198
5199 2008-01-04  Richard Guenther  <rguenther@suse.de>
5200
5201         PR middle-end/34029
5202         * tree-cfg.c (verify_expr): Do not look inside ADDR_EXPRs
5203         for verifying purposes if they are is_gimple_min_invariant.
5204
5205 2008-01-04  Aldy Hernandez  <aldyh@redhat.com>
5206
5207         PR tree-optimization/34448
5208         PR tree-optimization/34465
5209         * gimplify.c (gimplify_init_constructor): Add new parameter
5210         notify_temp_creation.  Use it.
5211         (gimplify_modify_expr_rhs): Take volatiles into account when
5212         optimizing constructors.
5213         Do not optimize constructors if gimplify_init_constructor will dump to
5214         memory.
5215         * gcc.dg/tree-ssa/pr32901.c: Tests const volatiles.
5216         * gcc.c-torture/compile/pr34448.c: New.
5217
5218 2008-01-04  Jakub Jelinek  <jakub@redhat.com>
5219
5220         PR gcov-profile/34609
5221         * tree-inline.c (declare_return_variable): Set TREE_ADDRESSABLE on
5222         return_slot if result is TREE_ADDRESSABLE.
5223
5224 2008-01-04  Richard Sandiford  <rsandifo@nildram.co.uk>
5225
5226         * config/mips/mips.md (sqrt_condition): Tweak comment.
5227         (recip_condition): Likewise.  Require TARGET_FLOAT64 for DFmode.
5228
5229 2008-01-03  Tom Tromey  <tromey@redhat.com>
5230
5231         PR c/34457
5232         * c-common.c (c_type_hash): Handle VLAs.
5233
5234 2008-01-03  Jan Hubicka  <jh@suse.cz>
5235
5236         PR tree-optimization/31081
5237         * tree-inline.c (remap_ssa_name): Initialize uninitialized SSA vars to
5238         0 when inlining and not inlining to first basic block.
5239         (remap_decl): When var is initialized to 0, don't set default_def.
5240         (expand_call_inline): Set entry_bb.
5241         * tree-inline.h (copy_body_data): Add entry_bb.
5242
5243 2008-01-03  Jakub Jelinek  <jakub@redhat.com>
5244
5245         PR c++/34619
5246         * cgraphunit.c (cgraph_build_static_cdtor): set_cfun back to NULL
5247         before returning.
5248
5249         PR tree-optimization/29484
5250         * tree-inline.c (inline_forbidden_p_2): New function.
5251         (inline_forbidden_p): Disallow inlining if some static var
5252         has an address of a local LABEL_DECL in its initializer.
5253         * doc/extend.texi (Labels as Values): Document &&foo behaviour
5254         vs. inlining.
5255
5256 2008-01-03  Sebastian Pop  <sebastian.pop@amd.com>
5257
5258         PR tree-optimization/34635
5259         * tree-data-ref.c (add_other_self_distances): Make sure that the
5260         evolution step is constant.
5261
5262 2008-01-03  Jakub Jelinek  <jakub@redhat.com>
5263
5264         PR middle-end/34608
5265         * omp-low.c (expand_omp_parallel): Purge dead EH edges in the child fn.
5266
5267 2008-01-02  Richard Sandiford  <rsandifo@nildram.co.uk>
5268
5269         * tree-sra.c (scalarize_init): Insert the generate_element_init
5270         statements after the generate_element_zero statements.
5271
5272 2008-01-02  Richard Guenther  <rguenther@suse.de>
5273
5274         PR middle-end/34093
5275         PR middle-end/31976
5276         * tree-ssa-operands.c (ssa_operand_alloc): Also allocate a buffer
5277         for very large number of operands instead of ICEing.
5278
5279 2008-01-02  Arthur Norman <acn1@cam.ac.uk>
5280
5281         PR target/34013
5282         * config/i386/i386.c (ix86_expand_prologue): Save red-zone
5283         while stack probing.
5284
5285 2008-01-01  Douglas Gregor  <doug.gregor@gmail.com>
5286
5287         * c-opts.c (sanitize_cpp_opts): Don't warn about "long long" when
5288         in C++0x mode.
5289
5290 2008-01-01  Volker Reichelt  <v.reichelt@netcologne.de>
5291
5292         PR libmudflap/26442
5293         * tree-mudflap.c (mx_register_decls): Guard warning by
5294         !DECL_ARTIFICIAL check.
5295
5296 2008-01-01  Jakub Jelinek  <jakub@redhat.com>
5297
5298         * config/i386/sse.md (sse5_pperm, sse5_pperm_pack_v2di_v4si,
5299         sse5_pperm_pack_v4si_v8hi, sse5_pperm_pack_v8hi_v16qi,
5300         sse5_perm<mode>): Fix constraints.