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