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