]> gcc.gnu.org Git - gcc.git/blame - gcc/ChangeLog
re PR c/35750 (ICE with invalid old-style parameter declaration)
[gcc.git] / gcc / ChangeLog
CommitLineData
bb686a19
VR
12008-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
a12bdb97
AP
62008-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
2d4bba80
ILT
122008-03-31 Ian Lance Taylor <iant@google.com>
13
14 * tlink.c (scan_linker_output): Look for symbol name in single
15 quotes.
16
bd60bab2
JH
172008-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
66f91b93
ZD
572008-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
66e1ecfe
L
632008-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
550386ad
AP
722008-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
4e483a22
JB
782008-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
39ffbac9
VR
842008-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
23594c97
L
892008-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
8f0e2671
EB
992008-03-30 Eric Botcazou <ebotcazou@adacore.com>
100
101 * fold-const.c (fold_binary) <BIT_IOR_EXPR>: Add missing conversions.
102
96648603
RG
1032008-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
3ac0963a
AP
1092008-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
744c6d6e
BE
1142008-03-30 Ben Elliston <bje@au.ibm.com>
115
116 * final.c (final_scan_insn): Remove if (0) code.
117
dbc518f0
VR
1182008-03-28 Volker Reichelt <v.reichelt@netcologne.de>
119
120 * c-parser.c (c_parser_next_token_is_keyword): Simplify.
121
ad387dad
L
1222008-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
9aba5d22
UB
1272008-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
2d3cd5d5
RAE
1362008-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
2ab8dbf4
RG
1612008-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.
9aba5d22 172 (process_assert_insertions_for): Build condition from expression.
2ab8dbf4
RG
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
fc4f3261
NC
1882008-03-28 Nick Clifton <nickc@redhat.com>
189
190 * config/mn10300/mn10300.c (mn10300_secondary_reload_class):
9aba5d22 191 Return GENERAL_REGS for stack adjustment reloads.
fc4f3261 192
501fb355
AP
1932008-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
ff779f98
BW
1992008-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
e980df8e
TT
2082008-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
c84555eb
L
2262008-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
ffd837fe
RG
2322008-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
6b4e94bc
RG
2392008-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
62bc00e2
RG
2452008-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
72425608
ZD
2522008-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.
9aba5d22
UB
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.
72425608 296
a929bc28
PB
2972008-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
60d26958
PB
3182008-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
bd03c084
RG
3262008-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
87a72aa8
AP
3352008-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
6e1b3420
EB
3412008-03-26 Eric Botcazou <ebotcazou@adacore.com>
342
343 * tree.c (get_unwidened): Remove code fiddling with COMPONENT_REF.
344
33558d94
AS
3452008-03-26 Andreas Schwab <schwab@suse.de>
346
347 * doc/invoke.texi: Fix use of @item vs. @itemx.
348
f6a9a9af
TT
3492008-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
2041e75c
RG
3602008-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
aefa9d43
KG
3692008-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
35dd7cc3
L
3852008-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
f91ed78d
TT
3932008-03-26 Tom Tromey <tromey@redhat.com>
394
395 * Makefile.in (DEPFILES): Add missing '/'.
396
4990038d
RG
3972008-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
813ab1d7
NC
4032008-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
cf3135aa
RG
4092008-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
fd88fd09
AP
4172008-03-25 Andrew Pinski <andrew_pinski@playstation.sony.com>
418
22ec849c 419 PR target/31558
fd88fd09
AP
420 * config/rs6000/rs6000-c.c (rs6000_builtin_type_compatible): Handle
421 error_mark_node's.
422
fb959f72
RS
4232008-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
a8c86f3f
TT
4622008-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
f4d3e7fd
BW
4742008-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
55d059d3
TT
4812008-03-25 Tom Tromey <tromey@redhat.com>
482
483 * configure: Rebuilt.
484 * configure.ac (BUILD_DEPMODE): Extract CCDEPMODE from temporary
485 Makefile.
486
2fe3178b
TT
4872008-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.
4acc3f42 497 * config/t-darwin (darwin.o, darwin-c.o, darwin-driver.o): Update.
2fe3178b
TT
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.
4acc3f42 572 (libbackend.o): Use COMPILE. Remove most dependencies. Move later.
2fe3178b 573 ($(out_object_file), gcc-options.o): New targets.
4acc3f42 574 ($(ALL_HOST_OBJS)): New target. Include dependency files.
2fe3178b 575 * configure: Rebuilt.
4acc3f42
UB
576 * configure.ac: Call ZW_CREATE_DEPDIR, ZW_PROG_COMPILER_DEPENDENCIES.
577 * doc/sourcebuild.texi (Front End Directory): Document new variable.
2fe3178b 578
5ade1ed2
DG
5792008-03-25 Douglas Gregor <doug.gregor@gmail.com>
580
4acc3f42
UB
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.
5ade1ed2 583
de6adfa2
N
5842008-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
f326a6cb
N
5902008-03-25 Naveen.H.S <naveen.hs@kpitcummins.com>
591
4acc3f42 592 * config/sh/sh.c (sh_expand_t_scc): Emit movrt for SH2A if possible.
f326a6cb
N
593 * config/sh/sh.md (xorsi3_movrt, movrt): New insns.
594
b4b0018b
N
5952008-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
e990551a
JS
6002008-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.
4acc3f42 605 * config/sh/sh.md (movsi_ie): Add the alternative for movi20s.
e990551a 606
561642fa
AP
6072008-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
1b24a790
RG
6382008-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
52249a2e
MLI
6472008-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
37ca4602
NS
6522008-03-24 Nathan Sidwell <nathan@codesourcery.com>
653
654 * gthr-vxworks.h (UNUSED): Define.
655
2ff8644d
L
6562008-03-23 H.J. Lu <hongjiu.lu@intel.com>
657
9aba5d22 658 * config/i386/i386.h (STATIC_CHAIN_REGNUM): Use R10_REG and CX_REG.
2ff8644d 659
1c42f5c6
ZM
6602008-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
808e68bb
UB
6652008-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
1b738915
RG
6852008-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
18b526e8
RS
6932008-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
48e55066
UB
7122008-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
94e98316
AP
7172008-03-21 Andrew Pinski <andrew_pinski@playstation.sony.com>
718
e8afc0cb 719 PR target/27946
94e98316
AP
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
7fb1431b
UB
7272008-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
ed2024ba
MJ
7392008-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
06644a07
KK
7442008-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
ad6003f2
RG
7522008-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
2acdc1fb
KK
7622008-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
16ac8575
RG
7672008-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
433d52fd
PB
7772008-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
7621f5d5
VR
7872008-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
7952008-03-20 Kai Tietz <kai.tietz@onevision.com>
6590fc9f
KT
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
4e359692
IR
8192008-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
41129be2
BE
8252008-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
1b1d8f88
UB
8302008-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
05e6ee93
MM
8392008-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
cd7e0bd4
UB
8452008-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
8ddbbcae
JH
8522008-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
8cb3ee37
RG
9712008-03-19 Richard Guenther <rguenther@suse.de>
972
973 PR middle-end/35609
4990038d
RG
974 * tree-ssa.c (walk_data): New structure.
975 (warn_uninitialized_var): If not always_executed warn with "maybe"
8cb3ee37
RG
976 instead of "is".
977 (execute_early_warn_uninitialized): Compute post-dominators.
978 Initialize always_executed before processing each basic block.
979
34614fff
MP
9802008-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
c15477fb
RW
9862008-03-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
987
988 * doc/include/texinfo.tex: Update to version 2008-03-17.10.
989
ac5dc795
PB
9902008-03-18 Paolo Bonzini <bonzini@gnu.org>
991
34614fff
MP
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.
ac5dc795 1002
b80280f2
RG
10032008-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
2e28e797
JH
10162008-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
52f1c7ed
MM
10392008-03-18 Michael Matz <matz@suse.de>
1040
1041 * gcov-io.h (__gcov_merge_ior, __gcov_fork): Mark hidden.
1042
c8ae0bec
RG
10432008-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
8119fc93
JJ
10562008-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
c4e5b5a8
RG
10622008-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
fcb9237b
JW
10712008-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
461f8762
RG
10772008-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
2a31c49c
HPN
10832008-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
80efdb6a
PB
10892008-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
ff069900
PB
10952008-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
87e1e42b
RG
11002008-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
ef87d898
PB
11092008-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
ed97ddc6
RG
11152008-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
1fd89060
RG
11252008-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
693092fb 11362008-03-15 Bjoern Haase <bjoern.m.haase@web.de>
cd7e0bd4 1137 Anatoly Sokolov <aesok@post.ru>
693092fb
BH
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
ab555a5b
UB
11722008-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
8f78ed0e
RG
11892008-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
66e58b33
BW
11952008-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
896c8b96
RG
12052008-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
75dd1ae2
DE
12222008-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
3d45dd59
RG
12272008-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
52eaae97
UB
12692008-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
75d8b30e
UB
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.
52eaae97 1277
5f5f0635
AD
12782008-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
1359ef39
UB
12852008-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
d0fb20be
JJ
13012008-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
20cef83a
DS
13082008-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
5dea0c19
PB
13162008-03-12 Paul Brook <paul@codesourcery.com>
1317
1318 * config/arm/arm.c (output_move_double): Prefer LDRD to LDM.
1319
d1b85efb
PB
13202008-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
09754904
PB
13302008-03-12 Paul Brook <paul@codesourcery.com>
1331
09754904
PB
1332 * config/arm/arm.c (arm_size_rtx_costs): Use ARM costs for Thumb-2.
1333
a7438d6d
UB
13342008-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
954954d1
PB
13472008-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.
d0fb20be 1364 * config/arm.h (arm_stack_offsets): Add saved_regs_mask.
954954d1 1365
c83bd37c
PB
13662008-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
67514449
RG
13722008-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
7c8f7639
JJ
13812008-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
62878103
VK
13922008-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
9dbd54be
JDA
14092008-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
76a7d3ca
AP
14182008-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
40cca4f9
UB
14232008-03-11 Uros Bizjak <ubizjak@gmail.com>
1424
1425 PR target/35540
1426 * config/i386/i386.md (paritysi2, paritydi2): Use register_operand
1b1d8f88
UB
1427 predicate for operand 1.
1428 (paritysi2_cmp): Use register_operand predicate for operand 2.
40cca4f9
UB
1429 Use earlyclobber modifier for operand 1. Remove support for
1430 memory operands.
1b1d8f88 1431 (paritydi2_cmp): Use register_operand predicate for operand 3.
40cca4f9
UB
1432 Use earlyclobber modifier for operand 1. Remove support for
1433 memory operands.
1434
ec6237e4 14352008-03-11 Paul Brook <paul@codesourcery.com>
40cca4f9 1436 Vladimir Prus <vladimir@codesourcery.com>
ec6237e4
PB
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
2f6025a1
PB
14512008-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
30e257e5
PB
14572008-03-11 Paolo Bonzini <bonzini@gnu.org>
1458
ec6237e4
PB
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.
30e257e5 1462
ab669042
UB
14632008-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
1ffe34d9 14692008-03-11 Andrew Pinski <andrew_pinski@playstation.sony.com>
ab669042 1470 Richard Guenther <rguenther@suse.de>
1ffe34d9
AP
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
dd6d5236
VM
14912008-03-10 Vladimir Makarov <vmakarov@redhat.com>
1492
1493 * config/i386/sse.md (ssse3_pmaddubswv8hi3, ssse3_pmaddubswv4hi3):
1494 Remove commutativity hint.
1495
8b46837c
JJ
14962008-03-10 Jakub Jelinek <jakub@redhat.com>
1497
5df27e4a
JJ
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
8b46837c
JJ
1503 PR middle-end/35099
1504 * tree-cfg.c (new_label_mapper): Update cfun->last_label_uid.
1505
725c2d32
L
15062008-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
3ba404df
RG
15122008-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
97e38a92
PB
15282008-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
bd4dc3cd 15332008-03-10 Paul Brook <paul@codesourcery.com>
ab669042 1534 Mark Shinwell <shinwell@codesourcery.com>
bd4dc3cd 1535
bd4dc3cd
PB
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
9886a872
SP
15452008-03-10 Sebastian Pop <sebastian.pop@amd.com>
1546
1547 * doc/invoke.texi (-ftree-loop-distribution): Add an example.
1548
e5eff6a3
RG
15492008-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
0d4c700c
PB
15542008-03-10 Paolo Bonzini <bonzini@gnu.org>
1555
1556 * langhooks-def.h (LANG_HOOKS_REDUCE_BIT_FIELD_OPERATIONS):
1557 Set default to true.
1558
802e3f8c
RW
15592008-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
be3d4789
UB
15652008-03-09 Uros Bizjak <ubizjak@gmail.com>
1566
1567 PR target/35496
3b509e33 1568 * config/i386/i386.c (ix86_constant_alignment): Compute alignment using
be3d4789
UB
1569 ALIGN_MODE_128 for VECTOR_CST and INTEGER_CST in addition to REAL_CST.
1570
e83a75a7
IR
15712008-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
fc9161c1
RG
15822008-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
49a1fb2d
RG
15942008-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
2725b75c
JJ
16272008-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
10a97ae6
UB
16332008-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
08c3b5b0
JM
17022008-03-07 Joseph Myers <joseph@codesourcery.com>
1703
1704 * doc/include/texinfo.tex: Update to version 2008-03-07.10.
1705
efc05e3c
PB
17062008-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
cf7bc668
PB
17132008-03-07 Paolo Bonzini <bonzini@gnu.org>
1714
1715 * c-common.c (vector_types_convertible_p): Call langhook
1716 instead of comptypes.
1717
b0940154
AP
17182008-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
48081aae
NF
17252008-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
251923f5
JJ
17332008-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
e8645a40
TT
17382008-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
97efb03a
PB
17492008-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
fc0f49f3
RG
17542008-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
e186ff69
AK
17732008-03-06 Andreas Krebbel <krebbel1@de.ibm.com>
1774
1775 * cse.c (cse_extended_basic_block): Invalidate artificial defs
1776 at bb start.
1777
4c067742
RG
17782008-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
23880b97
L
17832008-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
6ab81302
ILT
17882008-03-05 Ian Lance Taylor <iant@google.com>
1789
1790 * alias.h (alias_set_type): Change from HOST_WIDE_INT to int.
1791
ca9052ce
KZ
17922008-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
63d195d5
RG
18262008-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
ea7e6d5a
AH
18462008-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
1bdcf037
RG
18722008-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
fec5fe47
JS
18792008-03-05 Joel Sherrill <joel.sherrill@oarcorp.com>
1880
1881 * gthr-rtems.h: Implement __gthread_mutex_destroy.
1882
e55f42fb
RG
18832008-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
1da266fe
GL
18982008-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
07c40d0b
GK
19102008-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
4c754988
SB
19162008-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
399fe3e1
JDA
19212008-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
e918a58a
RAE
19282008-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
ee8ea087
MLI
19372008-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
b5220972
L
19432008-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
74dd418c
RAE
19492008-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
5ce0e197
UB
19562008-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
2c7c6f54
JM
19632008-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
b7884852
JH
19682008-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
ab65b56b
DS
19742008-03-04 Danny Smith <dannysmith@users.sourceforge.net>
1975
1976 * config/i386/i386.md (allocate_stack_worker_32): Use __chkstk
cd7e0bd4 1977 label to probe the stack.
ab65b56b 1978
c262f705
DS
19792008-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
44682fab
JH
19872008-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
9a327766
RG
19932008-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
6a732743
SP
20052008-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
0e5997c0
JJ
20132008-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
393eda6a
MLI
20222008-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
9677aa89
JM
20422008-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
f3130d75 20482008-03-02 Andi Kleen <ak@suse.de>
ab669042 2049 Richard Guenther <rguenther@suse.de>
f3130d75
AK
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
89c3cbc6
AO
20592008-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
5eb4a9af
JB
20642008-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
4dabf736
JB
20712008-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
63642d5a
AO
20912008-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
e0651058
AO
21022008-03-01 Alexandre Oliva <aoliva@redhat.com>
2103
2104 * rtlanal.c (loc_mentioned_in_p): Test XVECEXPs correctly.
2105
d2b6be72
AO
21062008-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
2fb5f2af
RG
21112008-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
c17ee676
FXC
21182008-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
f31c9f09
DG
21232008-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
966e8f4d
TT
21292008-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
3cbe0ba6
PB
21462008-02-29 Paul Brook <paul@codesourcery.com>
2147
2148 * config/arm/arm.md (arm_addsi3): Add r/k/n alternative.
2149
d96ae4d4
PB
21502008-02-29 Paul Brook <paul@codesourcery.com>
2151
2152 * config/arm/ieee754-df.S (muldf3): Use RET macros.
2153
5be891a4
RG
21542008-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
b0fbea13
KK
21632008-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
0c96231b
SP
21702008-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
d973ac5a
KK
21752008-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
4613543f
RS
21802008-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
cbfb21c1
SB
21882008-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
dea61d92
SP
21962008-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.
5ce0e197
UB
2216 (hash_stmt_vertex_info, eq_stmt_vertex_info, hash_stmt_vertex_del):
2217 New.
dea61d92
SP
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.
5ce0e197
UB
2226 (ddr_is_anti_dependent, ddrs_have_anti_deps, ddr_dependence_level):
2227 New.
dea61d92
SP
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,
5ce0e197
UB
2237 rdg_defs_used_in_other_loops_p, have_similar_memory_accesses):
2238 Declared.
dea61d92
SP
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
dde75838
JM
22532008-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
3b302421
RG
22592008-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
2a1ed4fc
DD
23222008-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
c92712d1
UB
23312008-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
a8bafc43
TT
23402008-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
8220334a
JB
23452008-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
8bf6e270
RE
23502008-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
7fb52af2
RG
23592008-02-27 Richard Guenther <rguenther@suse.de>
2360
3b302421 2361 PR middle-end/35390
7fb52af2
RG
2362 * fold-const.c (fold_unary): Return the correct argument,
2363 converted to the result type.
2364
70582b3a
RG
23652008-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
a25a8f3b
JJ
23742008-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
369239ef
RW
23932008-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
f5c630c3
PB
23992008-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
0d158b6e
BE
24202008-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
7d817ebc
DE
24252008-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
a19b7d46
EW
24442008-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
317c435f
JM
24502008-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
2d593c86
TT
24562008-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
4f01eeb4
MLI
25402008-02-26 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
2541
cd7e0bd4 2542 PR 26264
4f01eeb4
MLI
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
bbd59cf4
RG
25482008-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
16302daf
MLI
26082008-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
e8fc888d
MLI
26172008-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
683d6ff9
MLI
26282008-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
369dcbd9
MLI
26402008-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
23dc794c
RS
26512008-02-25 Richard Sandiford <rsandifo@nildram.co.uk>
2652
2653 * config/mips/mips.md (loadgp_blockage, blockage): Change type
2654 to "ghost".
2655
381a258b
RG
26562008-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
89453ec7
JB
27172008-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.
cd7e0bd4 2722 * common.opt: Add documentation for -fcx-fortran-rules.
89453ec7 2723
8cc6d3e0
JB
27242008-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
cd679487
BE
27302008-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
7660c722
RG
27382008-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
2e4e39f6
AK
27962008-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
891984af
JB
28032008-02-25 Jan Beulich <jbeulich@novell.com>
2804
c92712d1 2805 * Makefile.in: Also prefix uses of crt0.o and mcrt0.o with $(T).
891984af
JB
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
98266db0
BE
28222008-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
93e50125
UB
28332008-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
0de5a32f 28412008-02-25 Ayal Zaks <zaks@il.ibm.com>
433331d4 2842 Revital Eres <eres@il.ibm.com>
0de5a32f
AZ
2843
2844 * modulo-sched.c (calculate_must_precede_follow): Address TODO
2845 regarding the order of two dependent insns in the same row.
2846
d4cba6d4
EB
28472008-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
642639ce
DE
28522008-02-24 David Edelsohn <edelsohn@gnu.org>
2853
2854 * config/rs6000/rs6000.c (processor_costs): Add cache costs for
2855 e300c2 and e300c3.
2856
faebccf9
DN
28572008-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
88c7f01b 28682008-02-24 Edmar Wienskoski <edmar@freescale.com>
fa41c305
EW
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
153fbec8
DE
28842008-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
03d4f106
JM
28892008-02-23 Joseph Myers <joseph@codesourcery.com>
2890
2891 * explow.c (memory_address): Assert that the generated address is
2892 valid.
2893
fb220235
FXC
28942008-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.
93e50125
UB
2902 * config/darwin.c (darwin_patch_builtin, darwin_patch_builtins):
2903 New functions.
fb220235 2904
f79db4f6
AP
29052008-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
bb1f73c2
AP
29112008-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
8ddcfde1
DJ
29172008-02-23 Daniel Jacobowitz <dan@codesourcery.com>
2918
2919 * expmed.c (extract_bit_field): Always use adjust_address for MEM.
2920
84495fd9
UB
29212008-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
73c17ad2
RW
29312008-02-23 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2932
2933 PR documentation/31569
2934 * doc/install.texi2html: Use makeinfo --no-number-sections.
2935
61dd226f
NF
29362008-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
2165fd38
NF
29422008-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
ad5ebb34
TT
29482008-02-22 Tom Tromey <tromey@redhat.com>
2949
2950 * regclass.c (current_pass): Remove declaration.
2951
34d02d17
AS
29522008-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
a4899c01
NF
29572008-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
fe82487e
HPN
29632008-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
ae311566
RW
29682008-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
a2db2771
JJ
29742008-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
89fd06fb
TB
29872008-02-22 Tomas Bily <tbily@suse.cz>
2988
2989 * tree-vectorizer.c (vect_is_simple_reduction): Fix comment typo.
2990
703fdf5a
RW
29912008-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
0ca16832
JH
29982008-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
c754abbf
MM
30042008-02-21 Michael Matz <matz@suse.de>
3005
3006 PR target/35264
3007 * config/i386/i386.c (ix86_expand_branch): Add missing breaks.
3008
85845bb9
UB
30092008-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
dedd42d5
RG
30282008-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
7a3cb3ab
KK
30402008-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
6d4d15b8
KK
30452008-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
6d4a8967
DD
30532008-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
a214518f
SP
30602008-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
993ac7c7
UB
30782008-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
4cd8e76f
RG
30892008-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
41bb1f06
RG
30952008-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
2dc0f633
RG
31002008-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
1c8bd6a3
PB
31072008-02-20 Paolo Bonzini <bonzini@gnu.org>
3108
4b40b2a5
UB
3109 * doc/install.texi: Correct references to CFLAGS, replacing them
3110 with BOOT_CFLAGS. Document flags used during bootstrap for
3111 target libraries.
1c8bd6a3 3112
d6023b50
UB
31132008-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
76a893cf
IR
31632008-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
daac0317
JH
31692008-02-19 Jan Hubicka <jh@suse.cz>
3170
a8971bdb
UB
3171 * predict.c (tree_bb_level_predictions): Remove variable next
3172 mistakely introduced by previous commit.
daac0317 3173
3e4b9ad0
JH
31742008-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
a0e527e3
RW
31802008-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
9d5cee3d
JH
31892008-02-19 Jan Hubicka <jh@suse.cz>
3190
3191 PR rtl-optimization/34408
3e4b9ad0
JH
3192 * see.c (see_def_extension_not_merged): Copy subreg so we don't have
3193 invalid sharing.
9d5cee3d 3194
8723e2fe
JH
31952008-02-19 Jan Hubicka <jh@suse.cz>
3196
3197 PR middle-end/28779
3e4b9ad0
JH
3198 * tree-inline.c (estimate_num_insns_1): Fix counting of cost of
3199 call_expr.
8723e2fe 3200
5ba5440f
L
32012008-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
c01c261d
NC
32072008-02-19 Nick Clifton <nickc@redhat.com>
3208
3209 * opts.c (print_specific_help): Fix typo in --help text.
3210
2e834acb
JJ
32112008-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
9cadd7f7
RG
32172008-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
ffc30173
MLI
32232008-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
b3eaaf1a
NC
32282008-02-19 Nick Clifton <nickc@redhat.com>
3229
3230 PR other/31349
a8971bdb 3231 * opts.c (undocumented_msg): Leave blank unless checking is enabled.
b3eaaf1a
NC
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
de82c453
RE
32452008-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
32159434 32522008-02-19 Christian Bruel <christian.bruel@st.com>
a8971bdb
UB
3253 Zdenek Dvorak <ook@ucw.cz>
3254
3255 * tree-ssa-loop-ivopts.c (may_be_unaligned_p): Check step alignment.
3256
0e93e1b4
UB
32572008-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
02d353cf
UB
32632008-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
35dee980
HPN
32702008-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
27e03cf1
PB
32862008-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
287a7d41
L
32922008-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
3b509e33 3318 ix86_isa_flags_explicit with OPTION_MASK_ISA_XXX_SET for -mXXX.
287a7d41
L
3319 (override_options): Don't turn on implied SSE/MMX bits in
3320 ix86_isa_flags.
3321
feaffcaa
L
33222008-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
b2ae828d
JY
33272008-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
8d855c3d
JJ
33332008-02-18 Jakub Jelinek <jakub@redhat.com>
3334
3335 * BASE-VER: Set to 4.4.0.
3336
923158be
RW
33372008-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
f0a77246
RG
33522008-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
e09deb14
RG
33582008-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
e6528d32
UB
33642008-02-17 Uros Bizjak <ubizjak@gmail.com>
3365
3366 Revert:
e6528d32
UB
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
93e052a8
MLI
33712008-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
2a49e6f8
RC
33762008-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
0ee2ea09
RW
33812008-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
ac84c062
JJ
33942008-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
6a9e8571
UB
34022008-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
6837b3b8
JJ
34072008-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
2e58df6e 34132008-02-15 Richard Guenther <rguenther@suse.de>
6a9e8571 3414 Zdenek Dvorak <ook@ucw.cz>
2e58df6e
RG
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
206598fb
JM
34232008-02-15 Joseph Myers <joseph@codesourcery.com>
3424
3425 PR target/35088
3426 * config/m68k/m68k.h (DWARF_CIE_DATA_ALIGNMENT): Define.
3427
18168b3f
JH
34282008-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
6f6b8f81
UB
34332008-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
979c67a5
UB
34392008-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
101e174d
DS
34462008-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
928bc34f
EB
34522008-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
a5bfb13a
MM
34632008-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
b49326f1
AK
34692008-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
021efafc
RW
34742008-02-14 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
3475
346341a4
RW
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
021efafc
RW
3498 * doc/extend.texi: Use @: or add comma where appropriate.
3499 * doc/invoke.texi: Likewise.
3500 * doc/tm.texi: Likewise.
3501
583da60a
AM
35022008-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
2a6627c2
JN
35082008-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
1b0c753a
RW
35132008-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
03870a04
AK
35192008-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
be71b673
MM
35302008-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
fed39e22
MLI
35362008-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
8665227f
RG
35442008-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
8f768a5a
RG
35502008-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
81186f7b
EB
35562008-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
d7b8033f
JJ
35632008-02-12 Jakub Jelinek <jakub@redhat.com>
3564
e4521d11
JJ
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
d7b8033f
JJ
3572 PR inline-asm/35160
3573 * function.c (match_asm_constraints_1): Don't replace the same input
3574 multiple times.
3575
d6f77715
AS
35762008-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
35b35fd0
KT
35832008-02-11 Kai Tietz <kai.tietz@onevision.com>
3584
40049ccc 3585 * config/i386/cygwin.asm: (__alloca): Correct calling
35b35fd0
KT
3586 convention and alignment.
3587 (__chkstk): Force 8 byte stack alignment.
3588
a6e2d112 35892008-02-11 Uros Bizjak <ubizjak@gmail.com>
f8c5cff4 3590 Richard Guenther <rguenther@suse.de>
a6e2d112
UB
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
40049ccc
UB
35962008-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
4d811a05
JDA
36032008-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
e37f6a49
SB
36102008-02-08 Steven Bosscher <stevenb.gcc@gmail.com>
3611
3612 PR middle-end/34627
a3395528 3613 * combine.c (simplify_if_then_else): Make sure the comparison is
e37f6a49
SB
3614 against const0_rtx when simplifying to (abs x) or (neg (abs X)).
3615
34917a10
RS
36162008-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
670b0231
RW
36252008-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
069c47ee
SL
36312008-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
ccd2a21e
HPN
36372008-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
af47e6ac
MLI
36422008-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
96e2afa8
AK
36502008-02-07 Andreas Krebbel <krebbel1@de.ibm.com>
3651
3652 * config/s390/s390.h (FUNCTION_ARG_REGNO_P): Fix fprs for 64 bit.
3653
36542008-02-07 Richard Henderson <rth@redhat.com>
32891ff6
RH
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
c4ae80d9
UB
36612008-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
72fb133f
KG
36682008-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
20a415f8
JH
36742008-02-06 Jan Hubicka <jh@suse.cz>
3675
88b089d5 3676 PR target/23322
20a415f8
JH
3677 * i386.md (moddf_integer): Do not produce partial memory stalls for
3678 targets where it hurts.
3679
cc8d36a1
UB
36802008-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
2ccd9cb2
NC
36862008-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
ecb2366e
RC
36932008-02-06 Ralf Corsepius <ralf.corsepius@rtems.org>
3694
448b96d0
RC
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.
ecb2366e
RC
3699 * gthr-rtems.h: Remove __GTHREAD_MUTEX_INIT.
3700
ccd4e386
RW
37012008-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
def7425b
UB
37112008-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
c1e7d240
DN
37182008-02-05 Diego Novillo <dnovillo@google.com>
3719
3720 http://gcc.gnu.org/ml/gcc-patches/2008-02/msg00140.html
3721
3722 PR 33738
def7425b 3723 * tree-vrp.c (vrp_evaluate_conditional): Revert fix for PR 33738.
c1e7d240 3724
3a204175
KG
37252008-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
7074bc2e
L
37302008-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
0f5098ae
JM
37382008-02-05 Joseph Myers <joseph@codesourcery.com>
3739
3740 * doc/include/texinfo.tex: Update to version 2008-02-04.16.
3741
4a534152
UB
37422008-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
3467b230
DN
37482008-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
22199fd2
RG
37572008-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
1a1640db
RG
37632008-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
0fcedd9c
JM
37692008-02-03 Jason Merrill <jason@redhat.com>
3770
3771 * print-tree.c (print_node) [CONSTRUCTOR]: Print elements.
3772
a31cfd58
RW
37732008-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
6994f254
MM
37812008-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
27f56cb1
GP
37912008-02-02 Gerald Pfeifer <gerald@pfeifer.com>
3792
3793 * doc/extend.texi (X86 Built-in Functions): Fix grammar.
3794
3e836a31
HPN
37952008-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
d5be1dd4
RS
38032008-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
7c9c2f2a
RG
38102008-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
a18c20ec
AP
38162008-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
dc9a511d
TB
38232008-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
5dc81ee9
TB
38352008-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
5ca3d30c
RS
38432008-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
89fe7f1b
MLI
38522008-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
1f7f6676
RS
38592008-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
2ae7b972
RH
38682008-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
493f36a7
SR
38742008-01-30 Silvius Rus <rus@google.com>
3875
3876 * config/i386/xmmintrin.h (_mm_prefetch): Add const to first arg.
3877
d6951cae
JH
38782008-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
f36a5a88
RS
38842008-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
393c0058
AK
38942008-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
1033ffa8
JJ
39012008-01-30 Jakub Jelinek <jakub@redhat.com>
3902
2bafad93
JJ
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
1033ffa8
JJ
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
ed32d842
JM
39172008-01-29 Joseph Myers <joseph@codesourcery.com>
3918
3919 * config.gcc (i[34567]86-*-nto-qnx*): Remove deprecation.
3920
ea429753
BF
39212008-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
4f5c64b8
RG
39272008-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
7b3e2d46
DG
39372008-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
12720317
AH
39512008-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
b814cc0a
BF
39572008-01-28 Bernhard Fischer <aldot@gcc.gnu.org>
3958
3959 * doc/tree-ssa.texi: Add cindex PHI nodes and improve wording.
3960
f46ff798
BF
39612008-01-28 Bernhard Fischer <aldot@gcc.gnu.org>
3962
3963 * config/vx-common.h: Fix typo in comment.
3964
e8b0eabc
ILT
39652008-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
2aa42e6e
NF
39742008-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
4e2e9e9b
DD
39802008-01-28 David Daney <ddaney@avtrex.com>
3981
3982 * doc/install.texi (mips-*-*): Recommend binutils 2.18.
3983
a26c7632
DD
39842008-01-28 David Daney <ddaney@avtrex.com>
3985
3986 * doc/install.texi (--disable-libgcj-bc): Reword documentation.
3987
4f605349
JM
39882008-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
9e148d6a
BF
39992008-01-27 Bernhard Fischer <aldot@gcc.gnu.org>
4000
4001 * basic-block.h (condjump_equiv_p): Fix comment.
4002
f749d3c6
BF
40032008-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
fed6d628
BF
40082008-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
c01e4479
MK
40142008-01-26 Maxim Kuvyrkov <maxim@codesourcery.com>
4015
4016 PR middle-end/34688
4017 * final.c (output_addr_const): Handle TRUNCATE.
4018
6e8c65f6
ZD
40192008-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
c01e4479 40442008-01-26 Peter Bergner <bergner@vnet.ibm.com>
e41b2a33
PB
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
6f536f74
JJ
40992008-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
ba6a1b78
DE
41092008-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
1230d7f8
RS
41172008-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
dbc90b65
RS
41252008-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
763a27ee
DS
41602008-01-26 Danny Smith <dannysmith@users.sourceforge.net>
4161
4162 PR target/34970
4163 * config/i386/cygming.h (ASM_OUTPUT_LABELREF): Define.
4164
3725c0ca
JM
41652008-01-25 Joseph Myers <joseph@codesourcery.com>
4166
4167 PR other/31955
4168 * doc/install.texi2html: Generate gcc-vers.texi.
4169
0288980f
DD
41702008-01-25 DJ Delorie <dj@redhat.com>
4171
4172 * config/m32c/m32c.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
4173
8d8da227
JM
41742008-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
fb7c3b05
BS
41962008-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
dd3b33d7
RG
42012008-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
c256730c
JJ
42072008-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
59805c3b
RG
42162008-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
f84fe9b6
NC
42232008-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
d1f0728e
UB
42652008-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
80e67011
JJ
42722008-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
1525f2c3
GO
42772008-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
bd91d743
OG
42832008-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
ae7a8ebc
BE
42892008-01-25 Ben Elliston <bje@au.ibm.com>
4290
4291 PR other/22232
4292 * fixproto: Escape "." in sed expression that strips leading "./".
4293
3371362c
L
42942008-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
5f1b2ee6
AK
43112008-01-24 Andreas Krebbel <krebbel1@de.ibm.com>
4312
4313 * config/s390/s390.h (MOVE_RATIO): Define new target macro.
4314
986d97ed
RS
43152008-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
fcc44808
UB
43252008-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
134c2de3
JJ
43312008-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
89bf8683
BE
43372008-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
02a4bca9
HPN
43422008-01-23 Hans-Peter Nilsson <hp@axis.com>
4343
6c660aeb
HPN
4344 * config/cris/cris.h (CC1PLUS_SPEC, OPTIMIZATION_OPTIONS): Drop
4345 stale and straggling -fforce-addr comments above.
4346
02a4bca9
HPN
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
b4da9f9d
MM
43522008-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
1b7af7b0
AK
43582008-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
19298da4
AS
43632008-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
b86b3ea3
RG
43822008-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
fa8d4a0f
BS
43882008-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.
64882649
BS
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
df1a98ae
EB
44132008-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
1a23970d
DE
44202008-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
42a89d2d
JJ
44262008-01-22 Jakub Jelinek <jakub@redhat.com>
4427
61c3a446
JJ
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
270e749d
JJ
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
42a89d2d
JJ
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
027b740e
MLI
44422008-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
963acd6f
KZ
44572008-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
115e6e55
L
44762008-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
f9d02384
MLI
44832008-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
0387c142
WG
44922008-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
1d4f5374
BE
45122008-01-22 Ben Elliston <bje@au.ibm.com>
4513
4514 * tree.c (check_qualified_type): Improve function description.
4515
33b45227
JM
45162008-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
79e168da
DD
45232008-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
bb0c55f6
RG
45282008-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
94c54fea
L
45372008-01-21 H.J. Lu <hongjiu.lu@intel.com>
4538
4539 * regmove.c (fixup_match_1): Update call crossed frequencies.
4540
c54e3854
RG
45412008-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
b158b5c6
AD
45472008-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
604f825c
KZ
45542008-01-20 Kenneth Zadeck <zadeck@naturalbridge.com>
4555
4556 * doc/install.texi: Add doc for --enable-checking=df.
4557
539c54ba
KK
45582008-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
ecff8c1c
RS
45632008-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
2b49e1a0
KZ
45682008-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
0decaff6
RS
45882008-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
d0b9dbd5
UB
45942008-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
135a171d
JJ
45992008-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
0a84fec6
AS
46142008-01-19 Anatoly Sokolov <aesok@post.ru>
4615
4616 * config/avr/avr.S (_exit): Disable interrupt.
4617
5aa52064
KZ
46182008-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
28a08168
ILT
46342008-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
1ea193c2
ILT
46432008-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
74ab34d3
UB
46532008-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
9a75e92d 46632008-01-17 Bob Wilson <bob.wilson@acm.org>
6c633d45
BW
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
9a75e92d 46762008-01-18 Bernhard Fischer <aldot@gcc.gnu.org>
4117d6f7
BF
4677
4678 * modulo-sched.c (get_sched_window): Fix comment typo.
4679
fae25b37
AM
46802008-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
2e152e16
AS
46852008-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
185082a7
SP
46902008-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
01a550c2
SP
46992008-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
80663107
MN
47052008-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
599824d2
AK
47102008-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
9328dd57
EB
47172008-01-17 Eric Botcazou <ebotcazou@adacore.com>
4718
4719 * tree.c (substitute_in_expr): Add missing 'break'.
4720
8a5b57cd
RG
47212008-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
e7ce29e7
JDA
47272008-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
9a75e92d 47332008-01-16 Janis Johnson <janis187@us.ibm.com>
37b87a3a
JJ
4734 Peter Bergner <bergner@vnet.ibm.com>
4735
4736 PR rtl-optimization/33796
4737 * sparseset.c (sparseset_alloc): Use xcalloc rather than xmalloc.
4738
6595ec51
JDA
47392008-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
bdb55eae
RG
47472008-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
2e2c7ce2
UB
47552008-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
d49c149d
SP
47612008-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
a03c6d64
JH
47662008-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
daf49354
SP
47832008-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
a1a5996d
RG
47892008-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
de4af523 47972008-01-16 Jakub Jelinek <jakub@redhat.com>
d0b9dbd5 4798 Richard Guenther <rguenther@suse.de>
de4af523
JJ
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
6935bae7
SP
48112008-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
a4b6974e
UB
48172008-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
eb1387a0
RG
48272008-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
9326236d
JD
48332008-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
48382008-01-15 Sebastian Pop <sebastian.pop@amd.com>
92a6bdbd
SP
4839
4840 * tree-parloops.c (gen_parallel_loop): Free loop bound estimations.
4841
1d4af1e8
SP
48422008-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
8103eebf
MLI
48472008-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
d556d181
EB
48532008-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
726612d2
RG
48602008-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
51134e52
UB
48662008-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
3097760b
JH
48712008-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
42b22da8
SP
48782008-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
5db2e9ca
DK
48832008-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
52ef2874
EB
48972008-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
a60b56a4
JH
49032008-01-12 Jan Hubicka <jh@suse.cz>
4904
4905 PR other/28023
4906 * invoke.texi (max-inline-recursive-depth): Fix default value.
4907
29ac1d9a
ZD
49082008-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
166b25dc
BW
49132008-01-11 Bob Wilson <bob.wilson@acm.org>
4914
4915 * config/xtensa/xtensa.c (override_options): Set flag_shlib.
4916
ad8151b7
JW
49172008-01-11 James E. Wilson <wilson@specifix.com>
4918
4919 PR target/26015
4920 * config/vax/elf.h (FRAME_POINTER_CFA_OFFSET): Define.
4921
0d40cc60
AS
49222008-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
15af420d
EB
49282008-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
c1e3e2d9
SB
49342008-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
8d0eca24
RG
49472008-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
acfb3980
RA
49532008-01-10 Raksit Ashok <raksit@google.com>
4954
4955 PR rtl-optimization/27971
31bfe034
RA
4956 * combine.c (find_split_point): Split PLUS expressions which are
4957 inside a MEM rtx, and whose first operand is complex.
acfb3980 4958
b8a669d0
DD
49592008-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
d0f76c4b
RG
49652008-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
90d12f1f
AK
49742008-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
71ae8557
SB
49832008-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
125e025e
RG
49892008-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
64cbaace
SP
49952008-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
88743d3a
JH
50012008-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
c3e203cf
RG
50092008-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
def49dd7
RG
50162008-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
cbad2e09
RG
50222008-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
59e5c37d
SB
50282008-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
712db60e
AO
50342008-01-09 Alexandre Oliva <aoliva@redhat.com>
5035
5036 * Makefile.in (dse.o): Remove duplicate $(RECOG_H) dependency.
5037
3fe2f42a
RG
50382008-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
4d869718
UB
50442008-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
cedbd764
JS
50532008-01-08 Jan Sjodin <jan.sjodin@amd.com>
5054
4d869718
UB
5055 * config/i386/i386.c (k8_cost, amdfam10_cost): Branch costs
5056 for vectorization tuned.
cedbd764 5057
a9990582
RG
50582008-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
c90eee44
JJ
50702008-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
8bce96f5
UB
50752008-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
4eefcc98
RG
50812008-01-08 Richard Guenther <rguenther@suse.de>
5082
5083 PR tree-optimization/34683
5084 * tree-flow-inline.h (var_ann): Remove overzealous asserts.
5085
b69d564b
JJ
50862008-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
6b761851
UB
50922008-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.
8bce96f5
UB
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.
6b761851
UB
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
8bce96f5 5115 for memory operands.
6b761851 5116
5ca0373f
NF
51172008-01-07 Nathan Froyd <froydnj@codesourcery.com>
5118
5119 * config/rs6000/rs6000.h (ASM_CPU_SPEC): Add clause for mcpu=8548.
5120
2eac9a76
RG
51212008-01-07 Richard Guenther <rguenther@suse.de>
5122
5123 * basic-block.h (struct edge_def): Pair dest_idx with goto_locus
5124 fields.
5125
b61ea03d
RG
51262008-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
c4bd75cd 51342008-01-07 Sa Liu <saliu@de.ibm.com>
b61ea03d 5135
6b761851
UB
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.
c4bd75cd 5139
ba551ec2
PC
51402008-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
43db7979
UB
51462008-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
2c460d12
RE
51512008-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
5a37a60c
UB
51622008-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
1a8a3a5e
RS
51682008-01-05 Richard Sandiford <rsandifo@nildram.co.uk>
5169
5170 * c-omp.c (check_omp_for_incr_expr): Handle CONVERT_EXPR.
5171
2a4430a6
RS
51722008-01-05 Richard Sandiford <rsandifo@nildram.co.uk>
5173
5174 * config/mips/mips.c (mips_in_small_data_p): Reinstate size > 0 check.
5175
58fcda21
JJ
51762008-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
f1bf33ce
UB
51822008-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
12a6309e
ZZ
51942008-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
bdb69bee
RG
51992008-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
ffed8a01
AH
52052008-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
b5ca517c
JJ
52182008-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
6a3d1d49
RS
52242008-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
6fc3c3c0
TT
52292008-01-03 Tom Tromey <tromey@redhat.com>
5230
b5ca517c 5231 PR c/34457
6fc3c3c0
TT
5232 * c-common.c (c_type_hash): Handle VLAs.
5233
045685a9
JH
52342008-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
2092ee7d
JJ
52432008-01-03 Jakub Jelinek <jakub@redhat.com>
5244
cac67c08
JJ
5245 PR c++/34619
5246 * cgraphunit.c (cgraph_build_static_cdtor): set_cfun back to NULL
5247 before returning.
5248
2092ee7d
JJ
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
2726bafe 52562008-01-03 Sebastian Pop <sebastian.pop@amd.com>
097392de
SP
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
99819c63
JJ
52622008-01-03 Jakub Jelinek <jakub@redhat.com>
5263
5264 PR middle-end/34608
12a6309e 5265 * omp-low.c (expand_omp_parallel): Purge dead EH edges in the child fn.
99819c63 5266
1463dfa4
RS
52672008-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
ee6ec666
RG
52722008-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
6893e828
AN
52792008-01-02 Arthur Norman <acn1@cam.ac.uk>
5280
12a6309e 5281 PR target/34013
d0fb20be 5282 * config/i386/i386.c (ix86_expand_prologue): Save red-zone
6893e828
AN
5283 while stack probing.
5284
1a7817e4
DG
52852008-01-01 Douglas Gregor <doug.gregor@gmail.com>
5286
6893e828 5287 * c-opts.c (sanitize_cpp_opts): Don't warn about "long long" when
12a6309e 5288 in C++0x mode.
1a7817e4 5289
882e337b
VR
52902008-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
f02ffa12
JJ
52962008-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.
This page took 0.771828 seconds and 5 git commands to generate.