]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/ChangeLog
genemit.c (gen_insn): Call gen_exp with a non-null used when handling multiple insns.
[thirdparty/gcc.git] / gcc / ChangeLog
CommitLineData
329b3cc3
KK
12006-11-12 Kaz Kojima <kkojima@gcc.gnu.org>
2
3 * genemit.c (gen_insn): Call gen_exp with a non-null used
4 when handling multiple insns.
5 (gen_expand): Likewise.
6 * reorg.c (emit_delay_sequence): Copy the delay slot insn.
7 * config/sh/sh.md (ashrsi2_31+1): Copy operands[0].
8 (movsi_const_16bit+1): Copy operands[1].
9 (call_pcrel): Copy the call_site pattern.
10 (call_value_pcrel, sibcall_pcrel, GOTaddr2picreg): Likewise.
11
1b43b967
RS
122006-11-12 Roger Sayle <roger@eyesopen.com>
13
14 * fold-const.c (negate_expr_p) <PLUS_EXPR, MINUS_EXPR>: Correct/refine
15 condition for transformations. Use !HONOR_SIGN_DEPENDENT_ROUNDING
16 && !HONOR_SIGNED_ZEROS instead of flag_unsafe_math_optimizations.
17 (fold_negate_expr) <PLUS_EXPR, MINUS_EXPR>: Likewise.
18
163b8581
DB
192006-11-12 Daniel Berlin <dberlin@dberlin.org>
20
21 Fix PR tree-optimization/29587
22 * tree-ssa-structalias.c (process_constraint): Don't
23 mark address taken due only to escaped vars constraint.
24
3b279c7a
RS
252006-11-12 Michael Matz <matz@suse.de>
26 Roger Sayle <roger@eyesopen.com>
27
28 PR rtl-optimization/29797
29 * ifcvt.c (noce_try_bitop): Correct calculation of bitnum on
30 BITS_BIG_ENDIAN targets.
31
5c5b2155
KG
322006-11-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
33
34 * builtins.c (fold_builtin_cosh): New.
35 (fold_builtin_1): Use it.
36 * fold-const.c (negate_mathfn_p): Add llround, lround, round,
37 trunc to the list of "odd" functions. Also add llrint, lrint,
38 rint and nearbyint when flag_rounding_math is false.
39
8f8bb1d2
ZD
402006-11-12 Zdenek Dvorak <dvorakz@suse.cz>
41
42 * tree-flow.h (name_mappings_registered_p): Declare.
43 * tree-into-ssa.c (name_mappings_registered_p): New function.
44 * tree-cfg.c (tree_can_merge_blocks_p): Check
45 name_mappings_registered_p instead of need_ssa_update_p.
46
4d2280f6
ZD
472006-11-12 Zdenek Dvorak <dvorakz@suse.cz>
48
49 * tree-ssa-loop.c (tree_vectorize): Return the result of
50 vectorize_loops.
51 * tree-vectorizer.c (vectorize_loops): Return TODO_cleanup_cfg
52 if anything changed.
53 * tree-vectorizer.h (vectorize_loops): Declaration removed.
54 * tree-flow.h (vectorize_loops): Declaration changed.
55
911b3fdb
ZD
562006-11-12 Zdenek Dvorak <dvorakz@suse.cz>
57
58 * tree-ssa-loop-prefetch.c (schedule_prefetches): Cleanup and improve
59 comments.
60 (issue_prefetch_ref): Move assignment to write_p out of loop.
61 (determine_unroll_factor): Do not take PARAM_MAX_UNROLL_TIMES and
62 SIMULTANEOUS_PREFETCHES into account.
63 (loop_prefetch_arrays): Do not pass ahead to determine_unroll_factor.
64 * lambda-code.c (lcm): Renamed to ...
65 (least_common_multiple): ... and exported.
66 * tree-flow.h (least_common_multiple): Declare.
67
946e1bc7
ZD
682006-11-12 Zdenek Dvorak <dvorakz@suse.cz>
69
70 * Makefile.in (tree-data-ref.o): Add langhooks.h dependency.
71 * tree-ssa-loop-niter.c (derive_constant_upper_bound): Follow
72 ud-chains. Handle AND_EXPR.
73 (record_estimate): Record whether the estimate is realistic
74 and whether it is derived from a loop exit.
75 (record_nonwrapping_iv, idx_infer_loop_bounds, infer_loop_bounds_from_ref,
76 infer_loop_bounds_from_array, infer_loop_bounds_from_signedness): New
77 functions.
78 (compute_estimated_nb_iterations): Take only realistic bounds into
79 account. Set estimate_state. Use double_ints.
80 (infer_loop_bounds_from_undefined): Call infer_loop_bounds_from_array
81 and infer_loop_bounds_from_signedness. Do not consider basic blocks
82 that do not have to be always executed.
83 (estimate_numbers_of_iterations_loop): Set estimate_state, and use it
84 to determine whether to call infer_loop_bounds_from_undefined
85 and compute_estimated_nb_iterations.
86 (n_of_executions_at_most): Use double_ints.
87 (free_numbers_of_iterations_estimates_loop): Set estimate_state.
88 (substitute_in_loop_info): Do not replace in estimated_nb_iterations.
89 * double-int.c (double_int_to_tree): Improve comment.
90 (double_int_fits_to_tree_p): New function.
91 * double-int.h (double_int_fits_to_tree_p): Declare.
92 * tree-data-ref.c: Include langhooks.h.
93 (estimate_niter_from_size_of_data, estimate_iters_using_array): Removed.
94 (analyze_array_indexes): Do not call estimate_niter_from_size_of_data.
95 (analyze_array): Do not pass estimate_only argument to
96 analyze_array_indexes.
97 (get_number_of_iters_for_loop): Build tree from the stored double_int
98 value.
99 (get_references_in_stmt, find_data_references_in_stmt): New functions.
100 (find_data_references_in_loop): Use find_data_references_in_stmt.
101 * tree-data-ref.h (struct data_ref_loc_d): New.
102 (get_references_in_stmt): Declare.
103 (estimate_iters_using_array): Declaration removed.
104 * cfgloop.h (struct nb_iter_bound): Change type of bound to
105 double_int. Improve comments. Add is_exit and realistic
106 fields.
107 (struct loop): Changed type of estimated_nb_iterations to double_int.
108 Added estimate_state field.
109 (record_estimate): Declaration removed.
110
47eb5b32
ZD
1112006-11-12 Zdenek Dvorak <dvorakz@suse.cz>
112
113 * params.c (set_param_value): Initialize the "set" field.
114 * params.h (struct param_info): Add "set" field.
115 (PARAM_SET_P): New macro.
116 (PREFETCH_LATENCY, SIMULTANEOUS_PREFETCHES, L1_CACHE_SIZE,
117 L1_CACHE_LINE_SIZE): New macros.
118 * toplev.c (DEFPARAM): Initialize the "set" field.
119 * tree-ssa-loop-prefetch.c (PREFETCH_LATENCY,
120 SIMULTANEOUS_PREFETCHES): Removed.
121 (PREFETCH_BLOCK): Use L1_CACHE_LINE_SIZE.
122 (tree_ssa_prefetch_arrays): Dump the values of the parameters.
123 * config/sparc/sparc.c: Include params.h.
124 (sparc_override_options): Set SIMULTANEOUS_PREFETCHES and
125 L1_CACHE_LINE_SIZE parameters.
126 * config/sparc/sparc.h (PREFETCH_BLOCK, SIMULTANEOUS_PREFETCHES):
127 Removed.
128 * config/i386/i386.h (PREFETCH_BLOCK, SIMULTANEOUS_PREFETCHES):
129 Removed.
130 * config/i386/i386.c: Include params.h.
131 (k8_cost): Change default value for SIMULTANEOUS_PREFETCHES.
132 (override_options): Set SIMULTANEOUS_PREFETCHES and
133 L1_CACHE_LINE_SIZE parameters.
134 * config/sh/sh.h (SIMULTANEOUS_PREFETCHES): Removed.
135 (OPTIMIZATION_OPTIONS): Set SIMULTANEOUS_PREFETCHES and
136 L1_CACHE_LINE_SIZE parameters.
137 * config/ia64/ia64.c (ia64_optimization_options): Set
138 SIMULTANEOUS_PREFETCHES and L1_CACHE_LINE_SIZE parameters.
139 * config/ia64/ia64.h (SIMULTANEOUS_PREFETCHES, PREFETCH_BLOCK):
140 Removed.
141 * params.def (PARAM_PREFETCH_LATENCY, PARAM_SIMULTANEOUS_PREFETCHES,
142 PARAM_L1_CACHE_SIZE, PARAM_L1_CACHE_LINE_SIZE): New params.
143 * doc/invoke.texi: Document new params.
144
015e23f4
RS
1452006-11-12 Roger Sayle <roger@eyesopen.com>
146
147 PR tree-optimization/13827
148 * fold-const.c (fold_binary) <EQ_EXPR, NE_EXPR>: Fold (X&C) op (Y&C)
149 as ((X^Y)&C) op 0.
150
c0493b13
ZD
1512006-11-12 Zdenek Dvorak <dvorakz@suse.cz>
152
153 * cfgloopmanip.c (update_single_exit_for_duplicated_loop,
154 update_single_exit_for_duplicated_loops): New functions.
155 (duplicate_loop_to_header_edge): Use
156 update_single_exit_for_duplicated_loops.
157 * tree-ssa-loop-manip.c (tree_unroll_loop): Call verification
158 functions only with ENABLE_CHECKING.
159
c57d4028
AS
1602006-11-12 Andreas Schwab <schwab@suse.de>
161
162 * except.c (sjlj_emit_function_enter): Remove unused variable.
163
000d8d44
RS
1642006-11-11 Roger Sayle <roger@eyesopen.com>
165
166 * fold-const.c (int_binop_types_match_p): New function.
167 (size_binop): Relax constraint that both arguments must both have
168 exactly the same sizetype type. Instead use int_binop_types_match_p.
169 (size_diffop): Likewise.
170
171 (make_range): Use build_int_cst instead of fold_convert.
172 (fold_cond_expr_with_comparison): Use build_int_cst to construct
173 integer constants of the correct type.
174 (fold_div_compare): Likewise.
175 (fold_single_bit_test): Likewise.
176 (fold_binary): Likewise.
177 * stor-layout.c (layout_type) <VECTOR_TYPE>: Ensure that TYPE_SIZE
178 has type bitsizetype and TYPE_SIZE_UNIT has type sizetype.
179
afa8f0fb
AP
1802006-11-11 Andrew Pinski <andrew_pinski@playstation.sony.com>
181
182 PR rtl-opt/28812
183 * alias.c (fixed_scalar_and_varying_struct_p): Don't return a
184 non null value if the struct memory access is in the 0th
185 aliasing set.
186
a607b34f
JZ
1872006-11-12 Jie Zhang <jie.zhang@analog.com>
188
189 Revert
190 2006-11-11 Jie Zhang <jie.zhang@analog.com>
191 * config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS): Define __bfin__
192 and __BFIN__.
193
194 * config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS): Use builtin_define_std
195 instead of builtin_define for bfin and BFIN.
196
a167b3e8
JZ
1972006-11-11 Jie Zhang <jie.zhang@analog.com>
198
199 * config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS): Define __bfin__
200 and __BFIN__.
201
ef950eba
JH
2022006-11-11 Jan Hubicka <jh@suse.cz>
203
204 * extended.texi (__builtin_expect): We no longer require second argument
205 to be constant.
206 * gengtype.c (adjust_field_rtx_def): Drop NOTE_INSN_EXPECTED_VALUE.
207 * builtins.c (expand_builtin_expect): Simplify.
208 (expand_builtin_expect_jump): Kill.
209 * final.c (final_scan_insn): Do not skip the removed notes.
210 * insn-notes.def (LOOP_BEG, LOOP_END, REPEATED_LINE_NUMBER,
211 EXPECTED_VALUE): Remove.
212 * dojump.c (do_jump): Do not care about __builtin_expect.
213 * predict.c (expected_value_to_br_prob): Kill.
214 * function.c (expand_function_end): Do not expand
215 NOTE_INSN_REPEATED_LINE_NUMBER.
216 * print-rtl.c (print_rtx): Do not pretty print the removed notes.
217 * expect.c (sjlj_emit_function_enter): Emit directly branch probability.
218 * cfgexpand.c (add_reg_br_prob_note): Export.
219 * cfgcleanup.c (rest_of_handle_jump2): Do not call
220 expected_value_to_br_prob.
221 * cfglayout.c (duplicate_insn_chain): Do not deal with removed notes.
222 * rtl.h (add_reg_br_prob_note): Declare.
223
89fa98d6
KG
2242006-11-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
225
226 * tree-pretty-print.c (dump_generic_node): Print sign of Inf.
227
992c31e6
JH
2282006-11-11 Jan Hubicka <jh@suse.cz>
229
230 * predict.c (predict_loops): Kill RTL variant.
231
6039a0c7
JH
2322006-11-11 Jan Hubicka <jh@suse.cz>
233
234 * tree-pass.h (pass_purge_lineno_notes): Remove declaration.
235 * modulo-sched.c (find_line_note): Remove.
236 (loop_canon_p): Do not worry about line number notes.
237 (sms_schedule): Likewise.
238 * cse.c (cse_main): Likewise.
239 * regmove.c (fixup_match_1): Likewise
240 * function.c (emit_return_info_block): Likewise.
241 (expand_function_end): Likewise.
242 (thread_prologue_an_epilogue_insns): Likewise.
243 * cfgrtl.c (try_redirect_by_replacing_jump, rtl_tidy_fallthru_edge):
244 Likewise.
245 * emit-rtl.c (find_line_note, emit_insn_after_with_line_notes,
246 emit_note_copy_after): Kill.
247 (emit_note_copy): Do not worry about line numbers.
248 * jump.c (purge_line_number_notes): Kill.
249 (pass_purge_lineno_notes): Kill.
250 * cfgcleanup.c (rest_of_handle_jump2): Kill purge_line_number_notes
251 call.
252 * rtl.h (emit_note_copy_after, emit_insn_after_with_line_notes): Kill.
253 * passes.c (init_optimization_passes): Don't purge_lineno_notes.
254 * sched-ebb.c (schedule_ebbs): Don't do rm_redundant_line_notes.
255 * tree-pass.h (pass_purge_lineno_notes): Kill.
256 * sched-ebb.c (schedule_ebb): Don't rm_line_notes,
257 rm_redundant_line_notes.
258 * sched-rgb.c (schedule_region): Don't rm_line_notes,
259 rm_redundant_line_notes.
260 * sched-int.h (rm_line_notes, rm_redundant_line_notes): Kill.
261 * haifa-sched.c: Update comment about handling notes.
262 (unlink_line_notes): Kill.
263 (rm_line_notes): Kill.
264 (save_line_notes): Simplify.
265 (rm_redundant_line_notes): Kill.
266
f9f770a8
RG
2672006-11-11 Richard Guenther <rguenther@suse.de>
268
269 * tree.def (FIX_CEIL_EXPR, FIX_FLOOR_EXPR, FIX_ROUND_EXPR):
270 Remove unused tree codes.
271 * tree-vrp.c (extract_range_from_unary_expr): Remove handling
272 of FIX_CEIL_EXPR, FIX_FLOOR_EXPR and FIX_ROUND_EXPR.
273 * tree-pretty-print.c (dump_generic_node, op_prio): Likewise.
274 * tree.c (stabilize_reference): Likewise.
275 * fold-const.c (fold_convert_const_int_from_real, operand_equal_p,
276 fold_unary): Likewise.
277 * tree-gimple.c (is_gimple_cast): Likewise.
278 * dwarf2out.c (loc_descriptor_from_tree_1): Likewise.
279 * expr.c (expand_expr_real_1): Likewise.
280 * tree-eh.c (tree_could_trap_p): Likewise.
281 * gimplify.c (gimplify_expr): Likewise.
282 * tree-inline.c (estimate_num_insns_1): Likewise.
283 * tree-cfg.c (verify_expr): Likewise.
284
e324a72f
ZD
2852006-11-11 Zdenek Dvorak <dvorakz@suse.cz>
286
287 * tree-ssa-loop.c (pass_loop_prefetch): Change name to aprefetch.
288 * tree-ssa-loop-prefetch.c (dump_mem_ref): Fix target file.
289 (tree_ssa_prefetch_arrays): Do not dump for removed loops.
290
6d40c489
RS
2912006-11-11 Richard Sandiford <richard@codesourcery.com>
292
293 PR middle-end/27528
294 * stmt.c (expand_asm_operands): Use EXPAND_INITIALIZER if the
295 constraints accept neither registers or memories.
296
56014148
JZ
2972006-11-11 Jie Zhang <jie.zhang@analog.com>
298
299 * config/bfin/bfin.h (FUNCTION_PROFILER): Don't use LABELNO.
300 (NO_PROFILE_COUNTERS): Define as 1.
301
85914552
RS
3022006-11-10 Roger Sayle <roger@eyesopen.com>
303
304 * fold-const.c (operand_equal_p) <INTEGER_CST, REAL_CST, VECTOR_CST>:
305 Don't check for TREE_CONSTANT_OVERFLOW when comparing constants.
306
adb43ed4
PB
3072006-11-10 Peter Bergner <bergner@vnet.ibm.com>
308
309 * rtl.h (MEM_COPY_ATTRIBUTES): Copy MEM_POINTER.
310
345768ef
KG
3112006-11-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
312
b81e7144
KG
313 * builtins.c (fold_builtin_cos): Use fold_strip_sign_ops().
314 (fold_builtin_hypot): Likewise.
315 * fold-const.c (fold_strip_sign_ops): Handle "odd" builtins.
316
345768ef
KG
317 * fold-const.c (negate_mathfn_p): Add BUILT_IN_ERF.
318
b8b7f162
RS
3192006-11-10 Roger Sayle <roger@eyesopen.com>
320
321 * tree.c (build_int_cst_wide): Add an assertion (gcc_unreachable)
322 when attempting to build INTEGER_CSTs of non-integral types.
323 * expmed.c (make_tree): Use the correct type, i.e. the inner
324 type, when constructing the individual elements of a CONST_VECTOR.
325
3e916873
JH
3262006-11-10 Jan Hubicka <jh@suse.cz>
327
328 * cse.c (cse_process_notes): Copy the propagated value.
329 * local-alloc.c (update_equiv_regs): Copy the memory RTX to be used
330 in REG_EQUIV notes.
331 * gcse.c (try_replace_reg): Copy the replacement.
992c31e6 332 * i386.c (emit_i387_cw_initialization): Copy stored_mode.
3e916873
JH
333 (assign_386_stack_local): Always return copied memory expression
334 * function.c (instantiate_virtual_regs_in_insn): Copy the operand
335 duplicates.
336
9ff57809
JH
3372006-11-10 Jan Hubicka <jh@suse.cz>
338
339 * final.c (final): Walk from first instruction.
340 * cfglayout.c (insn_locators_initialize): Remove line number notes.
341
0e9dac9e
UB
3422006-11-10 Uros Bizjak <ubizjak@gmail.com>
343
344 PR target/29777
345 * config/i386/sse.md (smulv8hi3_highpart): Change from define_insn
346 to define_expand.
347 (umulv8hi3_highpart): Ditto.
348 (vec_widen_smult_hi_v8hi): New expander.
349 (vec_widen_smult_lo_v8hi): Ditto.
350
e61e5ddc
KG
3512006-11-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
352
6d55dfe3 353 PR middle-end/29335
e61e5ddc
KG
354 * builtins.c (do_mpfr_arg3): New.
355 (fold_builtin_1): Handle builtins fma, fmin and fmax.
356
b8ec3cc8
EC
3572006-11-09 Eric Christopher <echristo@apple.com>
358
359 PR bootstrap/26892
360 PR bootstrap/27814
361 PR other/28994
362 * configure.ac: Match powerpc*-*-darwin* for powerpc darwin checks.
363 * config.gcc (powerpc64-*-darwin*): New target.
364 * config.host: Ditto.
365 * config/rs6000/darwin64.h: New file.
366 * config/rs6000/x-darwin64: Ditto.
367 * config/rs6000/host-ppc64-darwin.c: Ditto.
368
bdbba3c2
SE
3692006-11-09 Steve Ellcey <sje@cup.hp.com>
370
371 * config/ia64/ia64.c (ia64_hpux_init_libfuncs): Use HP-UX millicode
372 routines for integer division.
373
217b5889
DJ
3742006-11-09 Daniel Jacobowitz <dan@codesourcery.com>
375
376 * config/arm/t-linux (LIBGCC2_DEBUG_CFLAGS): Delete.
377
0ad12cd3
SB
3782006-11-09 Serge Belyshev <belyshev@depni.sinp.msu.ru>
379
380 PR middle-end/29726
381 * fold-const.c (fold_binary) <EQ_EXPR>: Fix typo in variable name.
382
d82a02fa
AK
3832006-11-09 Andreas Krebbel <krebbel1@de.ibm.com>
384
b8ec3cc8 385 * simplify-rtx.c (avoid_constant_pool_reference): Avoid calling
d82a02fa
AK
386 simplify_subreg with BLKmode outer mode.
387
dd508457
BM
3882006-11-08 Brooks Moses <brooks.moses@codesourcery.com>
389
390 * doc/invoke.texi: Minor formatting fixes in option lists.
391
106dec71
ZD
3922006-11-08 Zdenek Dvorak <dvorakz@suse.cz>
393
394 PR tree-optimization/29738
395 * tree-ssa-ccp.c: Remove UNKNOWN_VAL from comments.
396 (ccp_lattice_t): Remove UNKNOWN_VAL.
397 (dump_lattice_value, ccp_lattice_meet, ccp_visit_phi_node):
398 Do not handle UNKNOWN_VAL.
399 (get_default_value): Set initial value of virtual operands to
400 VARYING.
401 (get_value): Always use get_default_value on uninitialized
402 operands.
403 (set_value_varying, surely_varying_stmt_p): New functions.
404 (set_lattice_value): Do not pass argument to get_value.
405 Do not handle UNKNOWN_VAL.
406 (likely_value): Follow the semantics described in the comment.
407 (ccp_initialize): Use surely_varying_stmt_p. Do not mark
408 phi nodes DONT_SIMULATE_AGAIN.
409 (ccp_fold): Do not pass argument to get_value.
410 (fold_const_aggregate_ref, visit_assignment): Ditto. Do not
411 handle UNKNOWN_VAL.
412
54b12dbe
AP
4132006-11-08 Andrew Pinski <Andrew_Pinski@playstation.sony.com>
414
b8ec3cc8 415 * tree-pretty-print.c (dump_generic_node) <INTEGER_CST>: Use
54b12dbe
AP
416 HOST_WIDE_INT_PRINT_DOUBLE_HEX instead of format buffer.
417
5cdc4a26
RS
4182006-11-08 Roger Sayle <roger@eyesopen.com>
419
420 * tree-ssa-propagate.c (set_rhs): Restructure validity tests as a
421 test for inclusion rather than as a test for exclusion.
422 * tree-ssa-ccp.c (fold_stmt_r) <COND_EXPR>: Use set_rhs to modify
423 the condition after calling fold_binary.
424 * fold-const.c (fold_inf_compare): Remove in_gimple_form check.
425 (fold_binary) <LT_EXPR, GT_EXPR, LE_EXPR, GE_EXPR>: Likewise.
426 * builtins.c (fold_builtin_isascii): Likewise.
427 (fold_builtin_isdigit): Likewise.
428
c794c06f
CD
4292006-11-08 Carlos O'Donell <carlos@codesourcery.com>
430
431 * configure.ac: Do not set PREFIX_INCLUDE_DIR if $prefix is NONE.
432 * configure: Regenerate.
433
89d67cca
DN
4342006-11-08 Dorit Nuzman <dorit@il.ibm.com>
435
b8ec3cc8 436 * tree-vect-analyze.c (vect_mark_relevant, vect_stmt_relevant_p): Take
89d67cca
DN
437 enum argument instead of bool.
438 (vect_analyze_operations): Call vectorizable_type_promotion.
439 * tree-vectorizer.h (type_promotion_vec_info_type): New enum
440 stmt_vec_info_type value.
441 (supportable_widening_operation, vectorizable_type_promotion): New
442 function declarations.
443 * tree-vect-transform.c (vect_gen_widened_results_half): New function.
444 (vectorizable_type_promotion): New function.
445 (vect_transform_stmt): Call vectorizable_type_promotion.
446 * tree-vect-analyze.c (supportable_widening_operation): New function.
b8ec3cc8 447 * tree-vect-patterns.c (vect_recog_dot_prod_pattern):
89d67cca
DN
448 Add implementation.
449 * tree-vect-generic.c (expand_vector_operations_1): Consider correct
450 mode.
b8ec3cc8 451
89d67cca
DN
452 * tree.def (VEC_WIDEN_MULT_HI_EXPR, VEC_WIDEN_MULT_LO_EXPR):
453 (VEC_UNPACK_HI_EXPR, VEC_UNPACK_LO_EXPR): New tree-codes.
b8ec3cc8 454 * tree-inline.c (estimate_num_insns_1): Add cases for above new
89d67cca
DN
455 tree-codes.
456 * tree-pretty-print.c (dump_generic_node, op_prio): Likewise.
457 * expr.c (expand_expr_real_1): Likewise.
458 * optabs.c (optab_for_tree_code): Likewise.
459 (init_optabs): Initialize new optabs.
460 * genopinit.c (vec_widen_umult_hi_optab, vec_widen_smult_hi_optab,
461 vec_widen_smult_hi_optab, vec_widen_smult_lo_optab,
462 vec_unpacks_hi_optab, vec_unpacks_lo_optab, vec_unpacku_hi_optab,
463 vec_unpacku_lo_optab): Initialize new optabs.
464 * optabs.h (OTI_vec_widen_umult_hi, OTI_vec_widen_umult_lo):
465 (OTI_vec_widen_smult_h, OTI_vec_widen_smult_lo, OTI_vec_unpacks_hi,
b8ec3cc8 466 OTI_vec_unpacks_lo, OTI_vec_unpacku_hi, OTI_vec_unpacku_lo): New
89d67cca
DN
467 optab indices.
468 (vec_widen_umult_hi_optab, vec_widen_umult_lo_optab):
469 (vec_widen_smult_hi_optab, vec_widen_smult_lo_optab):
470 (vec_unpacks_hi_optab, vec_unpacku_hi_optab, vec_unpacks_lo_optab):
471 (vec_unpacku_lo_optab): New optabs.
b8ec3cc8
EC
472 * doc/md.texi (vec_unpacks_hi, vec_unpacks_lo, vec_unpacku_hi):
473 (vec_unpacku_lo, vec_widen_umult_hi, vec_widen_umult_lo):
89d67cca
DN
474 (vec_widen_smult_hi, vec_widen_smult_lo): New.
475 * doc/c-tree.texi (VEC_LSHIFT_EXPR, VEC_RSHIFT_EXPR):
476 (VEC_WIDEN_MULT_HI_EXPR, VEC_WIDEN_MULT_LO_EXPR, VEC_UNPACK_HI_EXPR):
477 (VEC_UNPACK_LO_EXPR, VEC_PACK_MOD_EXPR, VEC_PACK_SAT_EXPR): New.
b8ec3cc8 478
89d67cca
DN
479 * config/rs6000/altivec.md (UNSPEC_VMULWHUB, UNSPEC_VMULWLUB):
480 (UNSPEC_VMULWHSB, UNSPEC_VMULWLSB, UNSPEC_VMULWHUH, UNSPEC_VMULWLUH):
481 (UNSPEC_VMULWHSH, UNSPEC_VMULWLSH): New.
482 (UNSPEC_VPERMSI, UNSPEC_VPERMHI): New.
483 (vec_vperm_v8hiv4si, vec_vperm_v16qiv8hi): New patterns used to
484 implement the unsigned unpacking patterns.
485 (vec_unpacks_hi_v16qi, vec_unpacks_hi_v8hi, vec_unpacks_lo_v16qi):
486 (vec_unpacks_lo_v8hi): New signed unpacking patterns.
487 (vec_unpacku_hi_v16qi, vec_unpacku_hi_v8hi, vec_unpacku_lo_v16qi):
488 (vec_unpacku_lo_v8hi): New unsigned unpacking patterns.
489 (vec_widen_umult_hi_v16qi, vec_widen_umult_lo_v16qi):
b8ec3cc8 490 (vec_widen_smult_hi_v16qi, vec_widen_smult_lo_v16qi):
89d67cca
DN
491 (vec_widen_umult_hi_v8hi, vec_widen_umult_lo_v8hi):
492 (vec_widen_smult_hi_v8hi, vec_widen_smult_lo_v8hi): New widening
493 multiplication patterns.
494
495 * target.h (builtin_mul_widen_even, builtin_mul_widen_odd): New.
496 * target-def.h (TARGET_VECTORIZE_BUILTIN_MUL_WIDEN_EVEN):
497 (TARGET_VECTORIZE_BUILTIN_MUL_WIDEN_ODD): New.
498 * config/rs6000/rs6000.c (rs6000_builtin_mul_widen_even): New.
499 (rs6000_builtin_mul_widen_odd): New.
500 (TARGET_VECTORIZE_BUILTIN_MUL_WIDEN_EVEN): Defined.
501 (TARGET_VECTORIZE_BUILTIN_MUL_WIDEN_ODD): Defined.
502 * tree-vectorizer.h (enum vect_relevant): New enum type.
503 (_stmt_vec_info): Field relevant chaned from bool to enum
504 vect_relevant.
505 (STMT_VINFO_RELEVANT_P): Updated.
506 (STMT_VINFO_RELEVANT): New.
507 * tree-vectorizer.c (new_stmt_vec_info): Use STMT_VINFO_RELEVANT
508 instead of STMT_VINFO_RELEVANT_P.
509 * tree-vect-analyze.c (vect_mark_relevant, vect_stmt_relevant_p):
510 Replace calls to STMT_VINFO_RELEVANT_P with STMT_VINFO_RELEVANT,
511 and boolean variable with enum vect_relevant.
512 (vect_mark_stmts_to_be_vectorized): Likewise + update documentation.
513 * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_MUL_WIDEN_EVEN): New.
514 (TARGET_VECTORIZE_BUILTIN_MUL_WIDEN_ODD): New.
515
516 2006-11-08 Richard Henderson <rth@redhat.com>
517
518 * config/i386/sse.md (vec_widen_umult_hi_v8hi,
519 vec_widen_umult_lo_v8hi): New.
520 (vec_widen_smult_hi_v4si, vec_widen_smult_lo_v4si,
521 vec_widen_umult_hi_v4si, vec_widen_umult_lo_v4si): New.
522
b8ec3cc8
EC
523 * config/i386/i386.c (ix86_expand_sse_unpack): New.
524 * config/i386/i386-protos.h (ix86_expand_sse_unpack): New.
89d67cca
DN
525 * config/i386/sse.md (vec_unpacku_hi_v16qi, vec_unpacks_hi_v16qi,
526 vec_unpacku_lo_v16qi, vec_unpacks_lo_v16qi, vec_unpacku_hi_v8hi,
527 vec_unpacks_hi_v8hi, vec_unpacku_lo_v8hi, vec_unpacks_lo_v8hi,
528 vec_unpacku_hi_v4si, vec_unpacks_hi_v4si, vec_unpacku_lo_v4si,
529 vec_unpacks_lo_v4si): New.
530
531 2006-11-08 Dorit Nuzman <dorit@il.ibm.com>
532
533 * tree-vect-transform.c (vectorizable_type_demotion): New function.
534 (vect_transform_stmt): Add case for type_demotion_vec_info_type.
535 (vect_analyze_operations): Call vectorizable_type_demotion.
b8ec3cc8 536 * tree-vectorizer.h (type_demotion_vec_info_type): New enum
89d67cca
DN
537 stmt_vec_info_type value.
538 (vectorizable_type_demotion): New function declaration.
539 * tree-vect-generic.c (expand_vector_operations_1): Consider correct
540 mode.
541
542 * tree.def (VEC_PACK_MOD_EXPR, VEC_PACK_SAT_EXPR): New tree-codes.
543 * expr.c (expand_expr_real_1): Add case for VEC_PACK_MOD_EXPR and
544 VEC_PACK_SAT_EXPR.
545 * tree-iniline.c (estimate_num_insns_1): Likewise.
546 * tree-pretty-print.c (dump_generic_node, op_prio): Likewise.
547 * optabs.c (optab_for_tree_code): Likewise.
548
b8ec3cc8
EC
549 * optabs.c (expand_binop): In case of vec_pack_*_optabs the mode
550 compared against the predicate of the result is not 'mode' (the input
89d67cca
DN
551 to the function) but a mode with half the size of 'mode'.
552 (init_optab): Initialize new optabs.
553 * optabs.h (OTI_vec_pack_mod, OTI_vec_pack_ssat, OTI_vec_pack_usat):
554 New optab indices.
555 (vec_pack_mod_optab, vec_pack_ssat_optab, vec_pack_usat_optab): New
556 optabs.
557 * genopinit.c (vec_pack_mod_optab, vec_pack_ssat_optab):
558 (vec_pack_usat_optab): Initialize new optabs.
559 * doc/md.texi (vec_pack_mod, vec_pack_ssat, vec_pack_usat): New.
560 * config/rs6000/altivec.md (vec_pack_mod_v8hi, vec_pack_mod_v4si): New.
561
562 2006-11-08 Richard Henderson <rth@redehat.com>
563
564 * config/i386/sse.md (vec_pack_mod_v8hi, vec_pack_mod_v4si):
565 (vec_pack_mod_v2di, vec_interleave_highv16qi, vec_interleave_lowv16qi):
566 (vec_interleave_highv8hi, vec_interleave_lowv8hi):
567 (vec_interleave_highv4si, vec_interleave_lowv4si):
568 (vec_interleave_highv2di, vec_interleave_lowv2di): New.
569
570 2006-11-08 Dorit Nuzman <dorit@il.ibm.com>
571
b8ec3cc8 572 * tree-vect-transform.c (vectorizable_reduction): Support multiple
89d67cca
DN
573 datatypes.
574 (vect_transform_stmt): Removed redundant code.
575
576 2006-11-08 Dorit Nuzman <dorit@il.ibm.com>
577
b8ec3cc8 578 * tree-vect-transform.c (vectorizable_operation): Support multiple
89d67cca
DN
579 datatypes.
580
581 2006-11-08 Dorit Nuzman <dorit@il.ibm.com>
582
583 * tree-vect-transform.c (vect_align_data_ref): Removed.
b8ec3cc8 584 (vect_create_data_ref_ptr): Added additional argument - ptr_incr.
89d67cca
DN
585 Updated function documentation. Return the increment stmt in ptr_incr.
586 (bump_vector_ptr): New function.
587 (vect_get_vec_def_for_stmt_copy): New function.
588 (vect_finish_stmt_generation): Create a stmt_info to newly created
589 vector stmts.
590 (vect_setup_realignment): Call vect_create_data_ref_ptr with additional
591 argument.
592 (vectorizable_reduction, vectorizable_assignment): Not supported yet if
593 VF is greater than the number of elements that can fit in one vector
594 word.
595 (vectorizable_operation, vectorizable_condition): Likewise.
596 (vectorizable_store, vectorizable_load): Support the case that the VF
597 is greater than the number of elements that can fit in one vector word.
598 (vect_transform_loop): Don't fail in case of multiple data-types.
b8ec3cc8 599 * tree-vect-analyze.c (vect_determine_vectorization_factor): Don't fail
89d67cca
DN
600 in case of multiple data-types; the smallest type determines the VF.
601 (vect_analyze_data_ref_dependence): Don't record datarefs as same_align
602 if they are of different sizes.
603 (vect_update_misalignment_for_peel): Compare misalignments in terms of
604 number of elements rather than number of bytes.
605 (vect_enhance_data_refs_alignment): Fix/Add dump printouts.
606 (vect_can_advance_ivs_p): Fix a dump printout
607
6300f037
EC
6082006-11-07 Eric Christopher <echristo@apple.com>
609
610 * libgcc2.c (__bswapdi2): Rename from bswapDI2.
611 (__bswapsi2): Ditto.
612 * libgcc2.h: Remove transformation of bswap routines.
613 * config/i386/i386.md (bswapsi2): New.
614 (bswapdi2): Ditto.
615
4eb7fd83
JJ
6162006-11-07 Jakub Jelinek <jakub@redhat.com>
617
618 * c-common.c (c_common_attributes): Add gnu_inline attribyte.
619 (handle_gnu_inline_attribute): New function.
620 * c-decl.c (diagnose_mismatched_decls): Handle gnu_inline attribute.
621 (merge_decls, start_decl, start_function): Likewise.
622 * doc/extend.texi: Document gnu_inline attribute.
623
a7f02c2d
SE
6242006-11-07 Steve Ellcey <sje@cup.hp.com>
625
626 PR other/25028
627 * config/ia64/t-hpux (LIB1ASMFUNCS): Filter out _fixtfdi,
628 _fixunstfdi, and _floatditf
629
120b24f7
AS
6302006-11-06 Anatoly Sokolov <aesok@post.ru>
631
6300f037 632 * config/avr/avr-protos.h (mask_one_bit_p, const_int_pow2_p): Remove
120b24f7
AS
633 prototype.
634 * config/avr/avr.c (mask_one_bit_p, const_int_pow2_p): Remove.
635 (output_movhi, ashlhi3_out, ashlsi3_out, ashrhi3_out, ashrsi3_out,
636 lshrhi3_out, lshrsi3_out): Remove unnecessary code for handling value
637 which start in an odd register.
638
daca5b05
RS
6392006-11-07 Richard Sandiford <richard@codesourcery.com>
640
641 * config/mips/mips.h (ISA_HAS_PREFETCHX): Fix typo.
642
d2927bd5
JC
6432006-11-07 Josh Conner <jconner@apple.com>
644
645 * doc/invoke.texi (fstrict-aliasing): Move implementation
646 details...
647 * doc/tree-ssa.texi (Alias analysis): ...here.
648
285e4952
RG
6492006-11-07 Richard Guenther <rguenther@suse.de>
650
651 PR tree-optimization/29610
652 * tree-cfgcleanup.c (cleanup_control_flow): Honor return value
653 of tree_purge_dead_eh_edges as it may free dominators.
654
655 * g++.dg/other/pr29610.C: New testcase.
656
d81ecf52
DU
6572006-11-07 David Ung <davidu@mips.com>
658
659 * config/mips/mips.c (mips_rtx_cost_optimize_size): New table of
660 costs when optimizing for size.
661 (override_options): Use mips_rtx_cost_optimize_size table for cost
662 calculations.
663
010b2043
JZ
6642006-11-07 Jie Zhang <jie.zhang@analog.com>
665
666 * gcc.c (process_command): Treat -b as normal switch if its argument
667 has no dash.
6300f037 668
5ab72741 6692006-11-07 David Ung <davidu@mips.com>
6300f037 670
5ab72741
DU
671 * config/mips/mips.h (ISA_HAS_PREFETCHX): Add ISA_MIPS32R2 to the
672 list.
673
9519e677
EC
6742006-11-06 Eric Christopher <echristo@apple.com>
675
676 * config.gcc: Add x86_64-darwin host support.
677 * config.host: Ditto.
678 * config/i386/darwin64.h: New file.
679 * config/i386/t-darwin64: Ditto.
680
d6682e21
JJ
6812006-11-06 Janis Johnson <janis187@us.ibm.com>
682
683 * gcc/doc/sourcebuild.texi (Test Directives): Add output-exists
684 and output-exists-not.
685
3ea0e1e4
AP
6862006-11-06 Andrew Pinski <andrew_pinski@playstation.sony.com>
687
688 PR tree-opt/29439
689 * tree-vrp.c (vrp_int_const_binop): Use the correct tree when
690 checking for overflow.
691
5f60e48f
JD
6922006-11-06 Jan van Dijk <jan@etpmod.phys.tue.nl>
693
694 * configure.ac: Fixed typo in case statement: :: changed to ;;
695
09fa8841
BW
6962006-11-06 Bob Wilson <bob.wilson@acm.org>
697
698 * longlong.h (__xtensa__): Add definitions for umul_ppmm, __umulsidi3,
699 count_leading_zeros, and count_trailing_zeros.
700 * config/xtensa/xtensa.c (TARGET_INIT_BUILTINS): Define.
701 (TARGET_FOLD_BUILTIN): Define.
702 (TARGET_EXPAND_BUILTIN): Define.
703 (xtensa_init_builtins): New.
704 (xtensa_fold_builtin): New.
705 (xtensa_expand_builtin): New.
706 (xtensa_rtx_costs): Add CTZ and CLZ. Adjust costs for MULT.
707 * config/xtensa/xtensa.h (TARGET_MUL32_HIGH): Define.
708 (CLZ_DEFINED_VALUE_AT_ZERO): Define.
709 (CTZ_DEFINED_VALUE_AT_ZERO): Define.
710 * config/xtensa/xtensa.md (UNSPEC_NSAU): Remove.
711 (any_extend): New code macro.
712 (u, su): New code attributes.
713 (<u>mulsidi3, <u>mulsi3_highpart, clzsi2, ctzsi2): New.
714 (nsau): Remove; replaced by clzsi2.
715 (ffssi2): Use clzsi2.
716 * config/xtensa/t-xtensa (LIB1ASMFUNCS): Add _umulsidi3,
717 _clzsi2, _ctzsi2, and _ffssi2. Rename _nsau to _clz.
718 * config/xtensa/lib1funcs.asm (__mulsi3): Support Mul32 option.
719 (__umulsidi3, __clzsi2, __ctzsi2, __ffssi2): New.
720 (__nsau_data): Guard with ifdef L_clz instead of L_nsau.
721
8f75f389
VP
7222006-11-06 Vladimir Prus <vladimir@codesourcery.com>
723
724 * config/arm/t-strongarm-pe: (TARGET_LIBGCC2_CFLAGS): Do no
725 set inhibit_libc.
726 * config/arm/t-strongarm-elf: Likewise.
727 * config/arm/t-pe: Likewise.
728 * config/arm/t-arm-elf: Likewise.
729 * config/arm/t-xscale-elf: Likewise.
730 * config/arm/t-arm-coff: Likewise.
731 * config/arm/t-xscale-coff: Likewise.
732 * config/arm/t-wince-pe: Likewise.
9519e677 733
7945be3f
KK
7342006-11-05 Kaz Kojima <kkojima@gcc.gnu.org>
735
736 * config/sh/lib1funcs-4-300.asm: Guard entire file with
737 #if !__SHMEDIA__ .
738
789e604d
JJ
7392006-11-05 Jakub Jelinek <jakub@redhat.com>
740
741 PR middle-end/29695
742 * fold-const.c (fold_ternary): Fix A < 0 ? <sign bit of A> : 0
743 simplification.
744
2e1f15bd
UB
7452006-11-04 Uros Bizjak <ubizjak@gmail.com>
746
747 PR target/26915
748 * config/i386/i386.c (standard_80387_constant_p): Treat -0.0 and -1.0
749 as a valid 80387 constant.
750 (standard_80387_constant_opcode): Return "#" for -0.0 and -1.0.
751 * config/i386/i386.md (unnamed splitter): Split the load of
752 constant -0.0 or -1.0 into the load of 0.0 or 1.0, followed
753 by negation.
754
c5289e45
RE
7552006-11-04 Richard Earnshaw <rearnsha@arm.com>
756
757 * arm.c (thumb_legitimate_addres_p): Allow any constant offset
758 from the soft-frame, argument and virtual registers.
759
50d0a899
UB
7602006-11-04 Uros Bizjak <ubizjak@gmail.com>
761
762 * config/i386/i386.md (*movxf_nointeger, *movxf_integer): Enable
763 patterns for standard 80387 constants.
764
a52b023a 7652006-11-03 Paolo Bonzini <bonzini@gnu.org>
50d0a899
UB
766 Steven Bosscher <steven@gcc.gnu.org>
767
768 * fwprop.c: New file.
769 * Makefile.in: Add fwprop.o.
770 * tree-pass.h (pass_rtl_fwprop, pass_rtl_fwprop_with_addr): New.
771 * passes.c (init_optimization_passes): Schedule forward propagation.
772 * rtlanal.c (loc_mentioned_in_p): Support NULL value of the second
773 parameter.
774 * timevar.def (TV_FWPROP): New.
775 * common.opt (-fforward-propagate): New.
776 * opts.c (decode_options): Enable forward propagation at -O2.
777 * gcse.c (one_cprop_pass): Do not run local cprop unless touching jumps.
778 * cse.c (fold_rtx_subreg, fold_rtx_mem, fold_rtx_mem_1, find_best_addr,
779 canon_for_address, table_size): Remove.
780 (new_basic_block, insert, remove_from_table): Remove references to
781 table_size.
782 (fold_rtx): Process SUBREGs and MEMs with equiv_constant, make
783 simplification loop more straightforward by not calling fold_rtx
784 recursively.
785 (equiv_constant): Move here a small part of fold_rtx_subreg,
786 do not call fold_rtx. Call avoid_constant_pool_reference
787 to process MEMs.
788 * recog.h (canonicalize_change_group): New.
789
790 * doc/invoke.texi (Optimization Options): Document fwprop.
791 * doc/passes.texi (RTL passes): Document fwprop.
a52b023a 792
c7cc12b0
GK
7932006-11-03 Geoffrey Keating <geoffk@apple.com>
794
795 * c-decl.c (WANT_C99_INLINE_SEMANTICS): New, set to 1.
796 (merge_decls): Implement WANT_C99_INLINE_SEMANTICS.
797 (grokdeclarator): Likewise.
798
52bca999
SB
7992006-11-03 Steven Bosscher <steven@gcc.gnu.org>
800
801 * tree-dump.c (dump_enable_all): Rename local variable
802 ir_type to avoid name conflicts.
803 * cfgloopmanip.c (lv_adjust_loop_entry_edge): Check for IR_GIMPLE
804 instead of using ir_type().
805 * profile.c (tree_register_profile_hooks): Likewise.
806 * value-prof.c (tree_register_value_prof_hooks): Likewise.
807 * basic-block.h (struct edge_def): Likewise.
808 * config/arm/arm.c (legitimize_pic_address): Likewise.
809 * coretypes.h (ir_type): New enum of all intermediate languages
810 used in GCC.
811 * cfghooks.c (ir_type): Rename to...
812 (current_ir_type): ...this. Distinguish between cfgrtl and
813 cfglayout mode when the current IR is RTL. Return enum ir_type.
814 * cfghooks.h (ir_type): Replace with current_ir_type prototype.
815
6c6aa1af
PB
8162006-11-03 Paul Brook <paul@codesourcery.com>
817
6c6aa1af
PB
818 * config/arm/arm.c (arm_file_start): New function.
819 (TARGET_ASM_FILE_START): Define.
820 (arm_default_cpu): New variable.
821 (arm_override_options): Set arm_default_cpu.
822
88c22d09 8232006-11-03 David Ung <davidu@mips.com>
9519e677 824
a55808a7
DU
825 * config/mips/mips.h (processor_type): Removed PROCESSOR_24K, add
826 PROCESSOR_24KC and PROCESSOR_24KF.
827 * config/mips/mips.c (mips_cpu_info_table): Add processor names
828 and aliases for 4kec/4kem/4kep/24kec/24kef/24kex/34kc/34kf/34kx.
829 (mips_rtx_cost_data): Add costs for the 24kc.
830 * config/mips/mips.md ("cpu"): Remove 24k, add 24kc and 24kf.
831 * config/mips/24k.md: Remove references to 24k and replace with
832 uses of 24kc/24kf in the appropriate reservations.
9519e677
EC
833 * doc/invoke.texi (MIPS Options): Updated.
834
78d310c2
R
8352006-11-03 J"orn Rennecke <joern.rennecke@st.com>
836
837 * config/sh/crt1.asm: Fix #ifdef indent.
838
8392006-11-03 J"orn Rennecke <joern.rennecke@st.com>
840 Merged from STMicroelectronics sources:
841 2006-10-06 Andrew Stubbs <andrew.stubbs@st.com>
842 * config/sh/crt1.asm (vbr_600): Add missing #if.
843 2006-08-03 J"orn Rennecke <joern.rennecke@st.com>
844 * sh.opt (mfused-madd): New option.
845 * sh.md (mac_media, macsf3): Make conditional on TARGET_FMAC.
846 2006-07-04 Andrew Stubbs <andrew.stubbs@st.com>
847 * config/sh/crt1.asm (vbr_start): Move to new section .test.vbr.
848 Remove pointless handler at VBR+0.
849 (vbr_200, vbr_300, vbr_500): Remove pointless handler.
850 (vbr_600): Save and restore mach and macl, fpul and fpscr and fr0 to
851 fr7. Make sure the timer handler is called with the correct FPU
852 precision setting, according to the ABI.
853 2006-06-14 J"orn Rennecke <joern.rennecke@st.com>
854 * config/sh/sh.opt (m2a-single, m2a-single-only): Fix Condition.
855 * config/sh/sh.h (SUPPORT_SH2A_NOFPU): Fix condition.
856 (SUPPORT_SH2A_SINGLE_ONLY, SUPPORT_SH2A_SINGLE_ONLY): Likewise.
857 2006-06-09 J"orn Rennecke <joern.rennecke@st.com>
858 * sh.md (cmpgeusi_t): Change into define_insn_and_split. Accept
859 zero as second operand.
860 2006-04-28 J"orn Rennecke <joern.rennecke@st.com>
861 * config/sh/divtab-sh4-300.c, config/sh/lib1funcs-4-300.asm:
862 Fixed some bugs related to negative values, in particular -0
863 and overflow at -0x80000000.
864 * config/sh/divcost-analysis: Added sh4-300 figures.
865 2006-04-27 J"orn Rennecke <joern.rennecke@st.com>
866 * config/sh/t-sh (MULTILIB_MATCHES): Add -m4-300* / -m4-340 options.
867 2006-04-26 J"orn Rennecke <joern.rennecke@st.com>
868 * config/sh/t-sh (OPT_EXTRA_PARTS): Add libgcc-4-300.a.
869 ($(T)div_table-4-300.o, $(T)libgcc-4-300.a): New rules.
870 * config/sh/divtab-sh4-300.c, config/sh/lib1funcs-4-300.asm:
871 New files.
872 * config/sh/embed-elf.h (LIBGCC_SPEC): Use -lgcc-4-300 for -m4-300* /
873 -m4-340.
874 2006-04-24 J"orn Rennecke <joern.rennecke@st.com>
875 SH4-300 scheduling description & fixes to SH4-[12]00 description:
876 * sh.md: New instruction types: fstore, movi8, fpscr_toggle, gp_mac,
877 mac_mem, mem_mac, dfp_mul, fp_cmp.
878 (insn_class, dfp_comp, any_fp_comp): Update.
879 (push_fpul, movsf_ie, fpu_switch, toggle_sz, toggle_pr): Update type.
880 (cmpgtsf_t, "cmpeqsf_t, cmpgtsf_t_i4, cmpeqsf_t_i4): Likewise.
881 (muldf3_i): Likewise.
882 (movsi_i): Split rI08 alternative into two separate alternatives.
883 Update type.
884 (movsi_ie, movsi_i_lowpart): Likewise.
885 (movqi_i): Split ri alternative into two separate alternatives.
886 Update type.
887 * sh1.md (sh1_load_store, sh1_fp): Update.
888 * sh4.md (sh4_store, sh4_mac_gp, fp_arith, fp_double_arith): Update.
889 (mac_mem, sh4_fpscr_toggle): New insn_reservations.
890 * sh4a.md (sh4a_mov, sh4a_load, sh4a_store, sh4a_fp_arith): Update.
891 (sh4a_fp_double_arith): Likewise.
892 * sh4-300.md: New file.
893 * sh.c (sh_handle_option): Handle m4-300* options.
894 (sh_adjust_cost): Fix latency of auto-increments.
895 Handle SH4-300 differently than other SH4s. Check for new insn types.
896 * sh.h (OVERRIDE_OPTIONS): Initilize sh_branch_cost if it has not
897 been set by an option.
898 * sh.opt (m4-300, m4-100-nofpu, m4-200-nofpu): New options.
899 (m4-300-nofpu, -m4-340, m4-300-single, m4-300-single-only): Likewise.
900 (mbranch-cost=): Likewise.
901 * superh.h (STARTFILE_SPEC): Take -m4-340 into account.
902
903 * sh.md (mulsf3): Remove special expansion code.
904 (mulsf3_ie): Now a define_insn_and_split.
905 (macsf3): Allow for TARGET_SH4.
906
907 * sh.md (cbranchsi4, cbranchdi4, cbranchdi4_i): New patterns.
908 * sh.c (prepare_cbranch_operands, expand_cbranchsi4): New functions.
909 (expand_cbranchdi4): Likewise.
910 (sh_rtx_costs): Give lower cost for certain CONST_INT values and for
911 CONST_DOUBLE if the outer code is COMPARE.
912 * sh.h (OPTIMIZATION_OPTIONS): If not optimizing for size, set
913 TARGET_CBRANCHDI4 and TARGET_EXPAND_CBRANCHDI4.
914 (OVERRIDE_OPTIONS): For TARGET_SHMEDIA, clear TARGET_CBRANCHDI4.
915 (LEGITIMATE_CONSTANT_P): Also allow DImode and VOIDmode CONST_DOUBLEs.
916 Remove redundant fp_{zero,one}_operand checks.
917 * sh.opt (mcbranchdi, mexpand-cbranchdi, mcmpeqdi): New options.
918 * sh-protos.h (prepare_cbranch_operands, expand_cbranchsi4): Declare.
919 (expand_cbranchdi4): Likewise.
920 2006-04-20 J"orn Rennecke <joern.rennecke@st.com>
921 * sh.h (LOCAL_ALIGNMENT): Use DATA_ALIGNMENT.
922
a8a51a97
AP
9232006-11-02 Andrew Pinski <andrew_pinski@playstation.sony.com>
924
925 * doc/md.texi (RS6000 constraints): Document H, Z, a, t, and W
926 constraints.
927
90150441
BM
9282006-11-02 Brooks Moses <brooks.moses@codesourcery.com>
929
930 * doc/invoke.texi: Fix mfp-trap-mode typo.
931
978e411f
CD
9322006-11-02 Carlos O'Donell <carlos@codesourcery.com>
933
934 * config/arm/linux-elf.h (NEED_INDICATE_EXEC_STACK): Define as 1.
9519e677
EC
935 * arm.c (arm_file_end): If NEED_INDICATE_EXEC_STACK call
936 file_end_indicate_exec_stack.
937 * arm.h [!NEED_INDICATE_EXEC_STACK] (NEED_INIDCATE_EXEC_STACK):
978e411f
CD
938 Define as 0.
939 * lib1funcs.asm [__ELF__ && __linux__]: Emit .note.GNU-stack section
940 for a non-executable stack.
941 * crti.asm: Likewise.
942 * crtn.asm: Likewise.
9519e677 943 * libunwind.S: Likewise.
978e411f 944
50f606a6
BE
9452006-11-02 Ben Elliston <bje@au.ibm.com>
946
947 * tree-ssa.c (warn_uninit): Use expand_location variables for
948 locus and declaration locus.
949
537426e7
KK
9502006-11-02 Kaz Kojima <kkojima@gcc.gnu.org>
951
952 PR target/27405
953 * config/sh/sh.md (cmp{eq,gt,gtu}{si,di}_media): Remove.
954 (cmpsi{eq,gt,gtu}{si,di}_media): Rename to
955 cmp{eq,gt,gtu}{si,di}_media.
956 (*cmpne0si_media): Remove.
957 (*movsicc_umin): Adjust gen_cmp*_media call.
958 (unordered): Change the mode of unordered and operands[1] to
959 SImode.
960 (seq): Adjust gen_cmp*_media calls. Make the mode of
961 a temporary result of compare SImode if needed. If the mode
962 of operands[0] is DImode, extend the temporary result to DImode.
963 (slt, sle, sgt, sge, sgtu, sltu, sleu, sgue, sne): Likewise.
964 (sunorderd): Change the mode of match_operand and unorderd to
965 SImode.
966 (cmpeq{sf,df}_media): Remove.
967 (cmpsieq{sf,df}_media): Rename to cmpeq{sf,df}_media.
968 (cmp{gt,ge,un}{sf,df}_media): Change the mode of match_operand
969 and compare operation to SImode.
970
b3c9881c
EB
9712006-11-02 Eric Botcazou <ebotcazou@libertysurf.fr>
972
973 * doc/install.texi (sparc-sun-solaris2*): Update GMP/MPFR build
974 instructions.
975 (sparc64-sun-solaris2*): Likewise.
976
50603eed
PB
9772006-11-02 Paul Brook <paul@codesourcery.com>
978
50603eed
PB
979 * config/arm/arm.c (arm_elf_asm_constructor): Remove ATTRIBUTE_UNUSED
980 from priority argument. Use different section for non-default
981 priority.
982 * config/arm/elf.h: Remove definition of SUPPORTS_INIT_PRIORITY.
983
55fc9e87
EB
9842006-11-02 Eric Botcazou <ebotcazou@adacore.com>
985
986 PR other/29639
987 * except.c (switch_to_exception_section): Do not cache the section
988 if named sections are supported and HAVE_LD_EH_GC_SECTIONS is defined
989 and flag_function_sections is set.
990
b68bcfff
KG
9912006-11-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
992
993 PR middle-end/29335
994 * builtins.c (do_mpfr_sincos): New.
995 (fold_builtin_1): Use it to fold builtin sincos.
996
1d07712d
RS
9972006-11-01 Roger Sayle <roger@eyesopen.com>
998
999 * config/darwin.h (CPP_SPEC): Handle -pthread, transforming
1000 it into -D_REENTRANT.
1001
68b92f78
RS
10022006-11-01 Roger Sayle <roger@eyesopen.com>
1003
1004 * configure.ac (HAVE_AS_IX86_DIFF_SECT_DELTA): New test to determine
1005 whether the assembler supports taking the difference of symbols in
1006 different sections. On x86/Solaris, GAS does but Solaris as doesn't.
1007 * configure: Regenerate.
1008 * config.in: Regenerate.
1009 * config/i386/sol2-10.h (JUMP_TABLES_IN_TEXT_SECTION): Define if
1010 the assembler doesn't support taking the difference of symbols in
1011 different sections, i.e. we're using the native solaris assembler.
1012
44cd321e
PS
10132006-11-01 Pete Steinmetz <steinmtz@us.ibm.com>
1014 Peter Bergner <bergner@vnet.ibm.com>
1015
1016 * doc/invoke.texi: Add cpu_type power6x
1017 (RS/6000 and PowerPC Options): Add -mmfpgpr.
1018 * config.gcc: Add cpu_type power6x.
1019 * configure.ac: Add test for mf{t,f}gpr instructions.
1020 (HAVE_AS_MFPGPR): New.
1021 * config.in: Regenerate.
1022 * configure: Regenerate.
1023 * config/rs6000/aix52.h (ASM_CPU_SPEC): Add power6x.
1024 * config/rs6000/rs6000.md (define_attr "type"): Add insert_dword,
1025 shift,trap,var_shift_rotate,cntlz,exts, var_delayed_compare, mffgpr
1026 and mftgpr attributes.
1027 (define_attr "cpu"): Add power6.
1028 Change instruction sequences to use new attributes.
1029 (floatsidf2,fix_truncdfsi2): use TARGET_MFPGPR.
1030 (fix_truncdfsi2_mfpgpr): New.
1031 (floatsidf_ppc64_mfpgpr): New.
1032 (floatsidf_ppc64): Added !TARGET_MFPGPR condition.
1033 (movdf_hardfloat64_mfpgpr,movdi_mfpgpr): New.
1034 (movdf_hardfloat64): Added !TARGET_MFPGPR condition.
1035 (movdi_internal64): Added !TARGET_MFPGPR and related conditions.
1036 (fix_truncdfsi2): Use gpc_reg_operand constraint.
1037 * config/rs6000/{6xx.md,power4.md,8540.md,603.md,mpc.md,
1038 7xx.md,rios2.md,7450.md,440.md,rios1.md,rs64.md,power5.md,40x.md}:
1039 Add descriptions for insert_dword, shift,trap,var_shift_rotate,
1040 cntlz,exts and var_delayed_compare.
1041 * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Define
1042 _ARCH_PWR6X, if features enabled.
1043 * config/rs6000/rs6000.opt (mmfpgpr): New.
1044 * config/rs6000/rs6000.c (rs6000_align_branch_targets): New variable.
1045 (cached_can_issue_more): New variable.
1046 (processor_costs): Add power6_cost.
1047 (rs6000_sched_init): New function.
1048 (is_dispatch_slot_restricted): Deleted.
1049 (set_to_load_agen): New function.
1050 (is_load_insn,is_store_insn): New functions.
1051 (adjacent_mem_locations): New function.
1052 (insn_must_be_first_in_group): New function.
1053 (insn_must_be_last_in_group): New function.
1054 (rs6000_sched_reorder): New function.
1055 (rs6000_sched_reorder2): New function.
1056 (TARGET_SCHED_INIT,TARGET_SCHED_REORDER,
1057 TARGET_SCHED_REORDER2): Define.
1058 (processor_target_table): Use PROCESSOR_POWER6 for power6.
1059 Add power6x. Add MASK_MFPGPR for power6x.
1060 (POWERPC_MASKS): Add MASK_MFPGPR.
1061 (rs6000_override_options): Set rs6000_always_hint to false
1062 for power6. Set rs6000_align_branch_targets. Replace
1063 rs6000_sched_groups check with rs6000_align_branch_targets.
1064 Use PROCESSOR_POWER6.
1065 (last_scheduled_insn): New variable.
1066 (load_store_pendulum): New variable.
1067 (rs6000_variable_issue): Set last_scheduled_insn and
1068 cached_can_issue_more.
1069 (rs6000_adjust_cost): Add power6 cost adjustments.
1070 (rs6000_adjust_priority): Replace is_dispatch_slot_restricted
1071 with insn_must_be_first_in_group. Add power6 priority adjustments.
1072 (rs6000_issue_rate): Add CPU_POWER6.
1073 (insn_terminates_group_p): Use insn_must_be_{first,last}_in_group.
1074 * config/rs6000/rs6000.h (processor_type): Add PROCESSOR_POWER6.
1075 (TARGET_MFPGPR): New.
1076 (SECONDARY_MEMORY_NEEDED): Use TARGET_MFPGPR.
1077 (ASM_CPU_SPEC): Add power6x.
1078 (SECONDARY_MEMORY_NEEDED): Added mode!=DFmode and mode!=DImode
1079 conditions.
1080 * config/rs6000/power6.md: New file.
1081
38b97f4d
AN
10822006-11-01 Adam Nemet <anemet@caviumnetworks.com>
1083
1084 * tree-pretty-print.c (dump_generic_node) <INTEGER_CST>: Use
1085 HOST_WIDE_INT_PRINT to print high and low parts. Use
1086 HOST_BITS_PER_WIDE_INT for the width of HOST_WIDE_INT. When
1087 printing a hexadecimal number prefix it with 0x.
1088
f03668f6
CJ
10892006-11-01 Chris Johns <chris@contemporary.net.au>
1090
1091 PR bootstrap/28400
1092 * Makefile.in (install-driver): Use exeext when installing
1093 $target-gcc-$version.
1094
5812d1e4
DG
10952006-11-01 Douglas Gregor <doug.gregor@gmail.com>
1096
1097 * c-common.c (flag_cpp0x): New.
1098 * c-common.h (flag_cpp0x): New.
1099 * c-cppbuiltin.c (c_cpp_builtins): If C++0x extensions are
1100 supported, define __GXX_EXPERIMENTAL_CPP0X__.
1101 * c-opts.c (set_std_cxx0x): New.
1102 (c_common_handle_option): Handle -std=c++0x, -std=gnu++0x.
1103 * c.opt (std=c++0x): Document.
1104 (std=gnu++0x): Ditto.
1105 * doc/cpp.texi: Document __GXX_EXPERIMENTAL_CPP0X__.
1106 * doc/invoke.texi: Document -std=c++0x, -std=gnu++0x.
1107
7e35fcb3
RG
11082006-11-01 Richard Guenther <rguenther@suse.de>
1109
1110 * config/i386/i386.c (ix86_expand_rint): Fix issues with
1111 signed zeros.
1112 (ix86_expand_floorceildf_32): Likewise.
1113 (ix86_expand_floorceil): Likewise.
1114 (ix86_expand_trunc): Likewise.
1115
4a574196
AP
11162006-10-31 Andrew Pinski <pinskia@gmail.com>
1117
1118 * doc/invoke.texi (-fkeep-inline-functions): Change "GNU C"
1119 to "GNU C89".
1120
97388150
DS
11212006-11-01 Danny Smith <dannysmith@users.sourceforge.net>
1122
1123 * target.h (targetm.cxx.use_atexit_for_cxa_atexit): New target
1124 hook.
1125 * target-def.h: (TARGET_CXX_USE_ATEXIT_FOR_CXA_ATEXIT): Define
1126 default.
1127 * config/i386/mingw32.h (TARGET_CXX_USE_ATEXIT_FOR_CXA_ATEXIT):
1128 Override default.
1129 * doc/tm.texi (TARGET_CXX_USE_ATEXIT_FOR_CXA_ATEXIT): Document.
1130 * configure.ac (use_cxa_atexit): As a special case, don't test
1131 for libc definition of __cxa_atexit on mingw32
1132 * configure: Regenerate.
1133 * config.gcc (i[34567]86-pc-mingw32): Default to
1134 enable__cxa_atexit=yes.
1135
e35ae5fe
KG
11362006-11-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1137
1138 * builtins.def (gamma, lgamma): Use ATTR_MATHFN_FPROUNDING_STORE.
1139
58182de3
GK
11402006-10-31 Geoffrey Keating <geoffk@apple.com>
1141
1142 PR 23067
1143 * c-decl.c (start_struct): Don't create self-containing
1144 structures.
1145 * config/rs6000/rs6000.c (darwin_rs6000_special_round_type_align):
1146 New.
1147 * config/rs6000/rs6000-protos.h
1148 (darwin_rs6000_special_round_type_align): New.
1149 * config/rs6000/darwin.h (ADJUST_FIELD_ALIGN): Rewrite.
1150 (ROUND_TYPE_ALIGN): Use darwin_rs6000_special_round_type_align.
1151
e4305460
GK
11522006-10-31 Geoffrey Keating <geoffk@apple.com>
1153
1154 * toplev.c (compile_file): Call final_write_globals
1155 even if there have been errors.
9519e677 1156
e4305460 11572006-10-31 Eric Christopher <echristo@apple.com>
167fa32c
EC
1158 Falk Hueffner <falk@debian.org>
1159
1160 * doc/extend.texi (__builtin_bswap32): Document.
1161 (__builtin_bswap64): Ditto.
1162 * doc/libgcc.texi (bswapsi2): Document.
1163 (bswapdi2): Ditto.
1164 * doc/rtl.texi (bswap): Document.
1165 * optabs.c (expand_unop): Don't widen a bswap.
1166 (init_optabs): Init bswap. Set libfuncs explicitly
1167 for bswapsi2 and bswapdi2.
1168 * optabs.h (OTI_bswap): New.
1169 (bswap_optab): Ditto.
1170 * genopinit.c (optabs): Handle bswap_optab.
1171 * tree.h (tree_index): Add TI_UINT32_TYPE and
1172 TI_UINT64_TYPE.
1173 (uint32_type_node): New.
1174 (uint64_type_node): Ditto.
1175 * tree.c (build_common_tree_nodes_2): Initialize
1176 uint32_type_node and uint64_type_node.
1177 * builtins.c (expand_builtin_bswap): New.
1178 (expand_builtin): Call.
1179 (fold_builtin_bswap): New.
1180 (fold_builtin_1): Call.
1181 * fold-const.c (tree_expr_nonnegative_p): Return true
1182 for bswap.
1183 * builtin-types.def (BT_UINT32): New.
1184 (BT_UINT64): Ditto.
1185 (BT_FN_UINT32_UINT32): Ditto.
1186 (BT_FN_UINT64_UINT64): Ditto.
1187 * builtins.def (BUILT_IN_BSWAP32): New.
1188 (BUILT_IN_BSWAP64): Ditto.
1189 * rtl.def (BSWAP): New.
1190 * genattrtab.c (check_attr_value): New.
1191 * libgcc2.c (__bswapSI2): New.
1192 (__bswapDI2): Ditto.
1193 * libgcc2.h (__bswapSI2): Declare.
1194 (__bswapDI2): Ditto.
1195 * mklibgcc.in (lib2funcs): Add _bswapsi2 and _bswapdi2.
1196 * simplify-rtx.c (simplify_const_unary_operation): Return
1197 0 for BSWAP.
1198 * libgcc-std.ver (__bwapsi2): Add.
1199 (__bswapdi2): Ditto.
1200 * reload1.c (eliminate_regs_1): Add bswap.
1201 (elimination_effects): Ditto.
1202 * config/i386/i386.h (x86_bswap): New.
1203 (TARGET_BSWAP): Use.
1204 * config/i386/i386.c (x86_bswap): Set.
1205
5880f14f
GK
12062006-10-31 Geoffrey Keating <geoffk@apple.com>
1207
1208 * coverage.c (coverage_checksum_string): Update comment.
1209 * dwarf2out.c (switch_to_eh_frame_section): Update for removal
1210 of get_file_function_name.
1211 * cgraphunit.c (cgraph_build_static_cdtor): Update for rename
1212 of get_file_function_name_long.
1213 * tree.c (get_file_function_name): Rename from
1214 get_file_function_name_long; improve comment; handle 'I' and 'D'
1215 specially when the target has ctor/dtor support; remove special
1216 handling for 'F'.
1217 (get_file_function_name): Remove.
1218 * tree.h (get_file_function_name): Rename from
50d0a899 1219 get_file_function_name_long.
5880f14f
GK
1220 (get_file_function_name): Remove prototype.
1221
4d04fa05
GK
12222006-10-31 Geoffrey Keating <geoffk@apple.com>
1223
1224 * config/i386/darwin.h (PREFERRED_DEBUGGING_TYPE): Remove.
1225 * config/darwin.h (PREFERRED_DEBUGGING_TYPE): Set to DWARF2_DEBUG.
1226
1227 * config/darwin.h (LINK_COMMAND_SPEC): Don't do weird things with -@.
1228 Call dsymutil when compiling and linking one or more source files
1229 in one step.
1230
7eb0a43c
GK
12312006-10-31 Geoffrey Keating <geoffk@apple.com>
1232
1233 PR 15834
1234 * config/darwin.h (NO_IMPLICIT_EXTERN_C): Define.
1235
71113fcd
GK
12362006-10-31 Geoffrey Keating <geoffk@apple.com>
1237
1238 * c-decl.c (grokdeclarator): Don't set DECL_EXTERNAL on
1239 inline static functions in c99 mode.
1240
1241 PR 16622
1242 * doc/extend.texi (Inline): Update.
1243 * c-tree.h (struct language_function): Remove field 'extern_inline'.
1244 * c-decl.c (current_extern_inline): Delete.
1245 (pop_scope): Adjust test for an undefined nested function.
1246 Add warning about undeclared inline function.
1247 (diagnose_mismatched_decls): Update comments. Disallow overriding
1248 of inline functions in a translation unit in C99. Allow inline
1249 declarations in C99 at any time.
1250 (merge_decls): Boolize variables. Handle C99 'extern inline'
1251 semantics.
1252 (grokdeclarator): Set DECL_EXTERNAL here for functions. Handle
1253 C99 inline semantics.
1254 (start_function): Don't clear current_extern_inline. Don't set
1255 DECL_EXTERNAL.
1256 (c_push_function_context): Don't push current_extern_inline.
1257 (c_pop_function_context): Don't restore current_extern_inline.
1258
1259 PR 11377
1260 * c-typeck.c (build_external_ref): Warn about static variables
1261 used in extern inline functions.
1262 * c-decl.c (start_decl): Warn about static variables declared
1263 in extern inline functions.
1264
682d0395
RS
12652006-10-31 Roger Sayle <roger@eyesopen.com>
1266
1267 PR middle-end/23470
1268 * tree.h (tree_expr_nonnegative_p): Return "bool" instead of "int".
1269 * fold-const.c (tree_expr_nonnegative_p): Likewise. Consider
1270 pow(x,y) and powi(x,y) to be nonnegative if either x is nonnegative
1271 or y is an even integer.
1272
efd6ef80
EB
12732006-10-31 Eric Botcazou <ebotcazou@libertysurf.fr>
1274
1275 PR target/24071
1276 * gthr-posix.h (__gthread_active_p): New implementation on Solaris.
1277 * gthr-posix95.h (__gthread_active_p): Likewise.
1278
1d08f955
RG
12792006-10-31 Richard Guenther <rguenther@suse.de>
1280
1281 * config/i386/i386.md (asindf2, asinsf2, asinxf2, acosdf2,
1282 acossf2, acosxf2, log1psf2, log1pdf2, log1pxf2, ilogbsi2,
1283 expsf2, expdf2, expxf2, exp10sf2, exp10df2, exp10xf2,
1284 exp2sf2, exp2df2, exp2xf2, expm1df2, expm1sf2, expm1xf2,
1285 ldexpdf3, ldexpsf3, ldexpxf3, rintxf2, rintdf2, rintsf2,
1286 lround<mode>di2, lround<mode>si2, floorxf2, floordf2, floorsf2,
1287 lfloor<mode>di2, lfloor<mode>si2, ceilxf2, ceildf2, ceilsf2,
1288 btruncxf2, btruncdf2, btruncsf2): Conditionalize expansion on
1289 !optimize_size.
1290
e5c18c3c
SB
12912006-10-31 Steven Bosscher <steven@gcc.gnu.org>
1292
1293 * opts.c (decode_options): Disable CSE skip blocks.
1294
a1e45ff0
DM
12952006-10-30 Dirk Mueller <dmueller@suse.de>
1296
1297 * c-common.h (strict_aliasing_warning): Fix whitespace.
1298 * c-decl (start_function): Move code for main decl warning ..
1299 * c-common.c (check_main_parameter_types): .. here.
1300 * c-common.h (check_main_parameter_types): Declare.
50d0a899 1301
61fb309f
KG
13022006-10-30 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1303
1304 PR middle-end/29335
1305 * builtins.c (fold_builtin_1): Evaluate tgamma using MPFR.
1306
ff81aa23
PS
13072006-10-30 Pete Steinmetz <steinmtz@us.ibm.com>
1308
1309 * recog.c (store_data_bypass_p): Add support to allow IN_INSN to
1310 be a PARALLEL containing sets. Return false when out_pat is not
1311 a PARALLEL insn.
1312
e1efef1e
RS
13132006-10-30 Richard Sandiford <richard@codesourcery.com>
1314
1315 * config/mips/mips.md (mul<mode>3): Split into...
1316 (mulsi3, muldi3): ...these separate patterns.
1317
8ec2ac7b
RS
13182006-10-30 Richard Sandiford <richard@codesourcery.com>
1319
1320 * config/mips/linux64.h (DRIVER_SELF_SPECS): Use a single spec,
1321 but with each set of options separated by spaces.
1322
7bec3e84
R
13232006-10-30 J"orn Rennecke <joern.rennecke@st.com>
1324
1325 * unwind-dw2.c (uw_init_context_1): Fix test that checks if
1326 dwarf_reg_size_table has been initialized.
1327
428aba16
RS
13282006-10-30 Roger Sayle <roger@eyesopen.com>
1329
1330 * builtins.c (expand_builtin_mathfn_3): Correct coding style.
1331 * ddg.c (print_ddg_edge): Likewise.
1332 * dwarf2out.c (prune_unused_types_walk): Likewise.
1333 * ifcvt.c (noce_try_cmove_arith): Likewise.
1334 * langhooks.c (add_builtin_function): Likewise.
1335 * reg-stack.c (subst_stack_regs_pat): Likewise.
1336 * tree.c (expanded_location): Likewise.
1337 * tree-dump.c (dequeue_and_dump): Likewise.
1338
aaf0c39c
DD
13392006-10-30 David Daney <ddaney@avtrex.com>
1340
1341 * config/mips/linux.h (NO_SHARED_SPECS): Correct syntax error.
1342
cc59abbf
JJ
13432006-10-30 Jakub Jelinek <jakub@redhat.com>
1344
1345 PR tree-optimization/29637
1346 * tree.c (make_vector_type): Don't recurse if TYPE_MAIN_VARIANT
1347 of the innertype is the innertype itself.
1348
2310f1f8
DS
13492006-10-30 Danny Smith <dannysmith@users.sourceforge.net>
1350
1351 * dwarf2out.c (file_name_acquire): Correct typo.
1352
83737db2
DB
13532006-10-29 Daniel Berlin <dberlin@dberlin.org>
1354
9519e677 1355 * tree.h (tree_value_handle): Remove struct value_set declaration.
83737db2
DB
1356 Change value_set to bitmap_set.
1357 * tree-pretty-print.c (dump_generic_node): Use has_stmt_ann.
1358 * tree-vn.c (get_value_handle): Made inline and moved to
1359 tree-flow-inline.h.
1360 * tree-flow-inline.h: (has_stmt_ann): New function.
1361 * tree-ssa-pre.c (expressions): New variable.
1362 (next_expression_id): Ditto.
1363 (alloc_expression_id): New function.
1364 (struct value_set): Remove.
1365 (get_expression_id): New function.
1366 (get_or_alloc_expression_id): Ditto.
1367 (expression_for_id): Ditto.
1368 (clear_expression_ids): Ditto.
1369 (FOR_EACH_EXPR_ID_IN_SET): New macro.
1370 (bb_value_sets): Renamed to bb_bitmap_sets.
1371 All value sets replaced with bitmap_sets.
1372 Add visited member.
1373 (BB_VISITED): New macro.
1374 (postorder): New variable.
1375 (add_to_value): Removed.
1376 (value_exists_in_set_bitmap): Ditto.
1377 (value_insert_into_set_bitmap): Ditto.
1378 (set_new): Ditto.
1379 (set_copy): Ditto.
1380 (set_remove): Ditto.
1381 (set_contains_value): Ditto.
1382 (insert_into_set): Ditto.
1383 (set_equal): Ditto.
1384 (find_leader): Ditto.
1385 (bitmap_set_subtract_from_value_set): Ditto.
1386 (value_insert_into_set): Ditto.
1387 (print_value_set): Ditto.
1388 (debug_value_set): Ditto.
1389 (constant_expr_p): New function.
1390 (bitmap_remove_from_set): Ditto.
1391 (bitmap_insert_into_set): Ditto.
1392 (bitmap_set_free): Ditto.
1393 (vh_compare): Ditto.
1394 (sorted_array_from_bitmap_set): Ditto.
1395 (bitmap_set_subtract): Ditto.
1396 (bitmap_set_equal): Ditto.
1397 (debug_bitmap_set): Ditto.
1398 (find_leader_in_sets): Ditto.
1399 (bitmap_set_replace_value): Modify for bitmapped sets.
1400 (phi_translate): Ditto.
1401 (phi_translate_set): Ditto.
1402 (bitmap_find_leader): Ditto.
1403 (valid_in_sets): Ditto.
1404 (union_contains_value): Ditto.
1405 (clean): Ditto.
1406 (compute_antic_aux): Ditto. Mark changed blocks.
1407 (compute_antic): Ditto. Iterate in postorder and only over
1408 changing blocks.
1409 (compute_rvuse_and_antic_safe): Reuse postorder.
1410 (create_component_ref_by_pieces): Modify for bitmapped sets.
1411 (find_or_generate_expression): Ditto.
1412 (create_expression_by_pieces): Ditto.
1413 (insert_into_preds_of_block): Ditto.
1414 (changed_blocks): New variable.
1415 (do_regular_insertion): Broken out from insert_aux.
1416 (insert_aux): Modified for bitmapped sets.
1417 (find_existing_value_expr): New function.
1418 (create_value_expr_from): Use it.
1419 (insert_extra_phis): Removed.
1420 (print_bitmap_set): Renamed from bitmap_print_value_set.
1421 (compute_avail): Handle RETURN_EXPR.
1422 (init_pre): Modify for bitmapped sets.
1423 * tree-flow.h (has_stmt_ann): New function.
9519e677 1424
7c73bdc1
RS
14252006-10-29 Roger Sayle <roger@eyesopen.com>
1426
1427 * builtins.c (fold_builtin_floor): Check for the availability of
1428 the C99 trunc function before transforming floor into trunc.
1429
012c5368
KG
14302006-10-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1431
1432 * builtins.c (fold_builtin_hypot): Rearrange recursive
1433 transformation before others, and also do ABS_EXPR. When
1434 necessary, check flag_unsafe_math_optimizations. When necessary,
1435 add fabs.
1436
c159ffe7
RS
14372006-10-29 Roger Sayle <roger@eyesopen.com>
1438
1439 * fold-const.c (fold_comparison): Fold ~X op ~Y as Y op X.
1440 Fold ~X op C as X op' ~C, where op' is the swapped comparison.
1441 (fold_binary): ~X eq/ne C is now handled in fold_comparison.
1442 Fold -X eq/ne -Y as X eq/ne Y.
1443
3f07249e
RS
14442006-10-29 Richard Sandiford <richard@codesourcery.com>
1445
1446 * config/mips/mips.md (mul<mode>3): Check ISA_HAS_MUL3 rather than
1447 GENERATE_MULT3_<MODE>. Restrict the test to SImode. Use ISA_HAS_MUL3
1448 rather than GENERATE_MULT3_SI in the various define_peephole2s.
1449 (mulsi3_mult3): Depend on ISA_HAS_MUL3 rather than GENERATE_MULT3_SI.
1450 Use an inclusive test for "mult" rather than "mul".
1451 (rotr<mode>3): Depend on ISA_HAS_ROR.
1452 * config/mips/mips.h (GENERATE_MULT3_SI): Delete in favor of
1453 ISA_HAS_MUL3.
1454 (GENERATE_MULT3_DI): Delete.
1455 (ISA_HAS_64BIT_REGS): Use consistent formatting.
1456 (ISA_HAS_MUL3): New macro.
1457 (ISA_HAS_CONDMOVE, ISA_HAS_8CC): Use consistent formatting.
1458 (ISA_HAS_FP4, ISA_HAS_MADD_MSUB, ISA_HAS_NMADD_NMSUB): Likewise.
1459 (ISA_HAS_CLZ_CLO): Likewise.
1460 (ISA_HAS_DCLZ_DCLO): Delete.
1461 (ISA_HAS_MULHI, ISA_HAS_MULS, ISA_HAS_MSAC): Require !TARGET_MIPS16.
1462 (ISA_HAS_MACC): Require !TARGET_MIPS16 for all ISAs, not just
1463 the VR4120 and VR4130.
1464 (ISA_HAS_MACCHI): Use consistent formatting.
1465 (ISA_HAS_ROTR_SI, ISA_HAS_ROTR_DI): Delete in favor of...
1466 (ISA_HAS_ROR): ...this new macro.
1467 (ISA_HAS_PREFETCH, ISA_HAS_PREFETCHX): Use consistent formatting.
1468 (ISA_HAS_SEB_SEH, ISA_HAS_EXT_INS): Likewise.
1469 (ISA_HAS_LOAD_DELAY): Use ISA_MIPS1.
1470
f8ed9a1c
RS
14712006-10-29 Roger Sayle <roger@eyesopen.com>
1472
1473 PR tree-optimization/15458
1474 * fold-const.c (fold_binary): Optimize ~X ^ C as X ^ ~C, where C
1475 is a constant.
1476
044928d6
RG
14772006-10-29 Richard Guenther <rguenther@suse.de>
1478
1479 * config/i386/i386-protos.h (ix86_expand_trunc): Declare.
1480 (ix86_expand_truncdf_32): Likewise.
1481 * config/i386/i386.c (ix86_expand_trunc): New function expanding
1482 trunc inline for SSE math and -fno-trapping-math and if not
1483 optimizing for size.
1484 (ix86_expand_truncdf_32): Same for DFmode on 32bit archs.
1485 * config/i386/i386.md (btruncsf2, btruncdf2): Adjust expanders
1486 for expanding btrunc inline for SSE math.
1487
0f45f0f5
JM
14882006-10-29 Joseph Myers <joseph@codesourcery.com>
1489
1490 * config.gcc (i[34567]86-*-linux*): Handle --enable-targets=all.
1491 Handle tuning for bi-arch i[34567]86-*-linux* like that for
1492 i[34567]86-*-solaris2.1[0-9]*.
1493 * config/i386/linux64.h (TARGET_VERSION, MULTILIB_DEFAULTS):
1494 Define conditionally depending on TARGET_64BIT_DEFAULT.
1495 (SPEC_32, SPEC_64): Define.
1496 (LINK_SPEC): Use them.
1497 * doc/install.texi (--enable-targets=all): Document for x86-linux.
1498
097f2964
RG
14992006-10-29 Richard Guenther <rguenther@suse.de>
1500
1501 * config/i386/i386-protos.h (ix86_expand_round): Declare.
1502 (ix86_expand_rounddf_32): Likewise.
1503 * config/i386/i386.c (ix86_expand_round): New function expanding
1504 round inline for SSE math and -fno-trapping-math and if not
1505 optimizing for size.
1506 (ix86_expand_rounddf_32): Same for DFmode on 32bit archs.
1507 * config/i386/i386.md (rounddf2, roundsf2): New pattern expanding
1508 round via ix86_expand_round.
1509
d096ecdd
RG
15102006-10-29 Richard Guenther <rguenther@suse.de>
1511
1512 * config/i386/i386-protos.h (ix86_expand_floorceil): Declare.
1513 (ix86_expand_floorceildf_32): Likewise.
1514 * config/i386/i386.c (ix86_expand_sse_compare_mask): New
1515 static helper function.
1516 (ix86_expand_floorceil): Expander for floor and ceil to SSE
1517 math.
1518 (ix86_expand_floorceildf_32): Same for DFmode on 32bit archs.
1519 * config/i386/i386.md (floordf2): Adjust to enable floor
1520 expansion via ix86_expand_floorceil if TARGET_SSE_MATH and
1521 -fno-trapping-math is enabled and if not optimizing for size.
1522 (floorsf2, ceildf2, ceilsf2): Likewise.
1523 * config/i386/sse.md (sse_maskcmpsf3): New insn.
1524 (sse2_maskcmpdf3): Likewise.
1525
c7d32ff6
RG
15262006-10-29 Richard Guenther <rguenther@suse.de>
1527
1528 * builtins.c (expand_builtin_mathfn): Expand nearbyint as
1529 rint in case -fno-trapping-math is enabled.
1530 * config/i386/i386-protos.h (ix86_expand_rint): Declare.
1531 * config/i386/i386.c (ix86_gen_TWO52): New static helper function.
1532 (ix86_expand_sse_fabs): Likewise.
1533 (ix86_expand_rint): New function expanding rint to x87 or SSE math.
1534 * config/i386/i386.md (rintdf2): Enable for SSE math if
1535 -fno-trapping-math is enabled, use ix86_expand_rint for expansion.
1536 (rintsf2): Likewise.
1537
c3a4177f
RG
15382006-10-29 Richard Guenther <rguenther@suse.de>
1539
1540 * genopinit.c (optabs): Change lfloor_optab and lceil_optab
1541 to conversion optabs.
1542 * optabs.c (init_optabs): Initialize lfloor_optab and lceil_optab
1543 as conversion optab.
1544 * optabs.h (enum optab_index): Remove OTI_lfloor and OTI_lceil.
1545 (enum convert_optab_index): Add COI_lfloor and COI_lceil.
1546 (lfloor_optab, lceil_optab): Adjust defines.
1547 * builtins.c (expand_builtin_int_roundingfn): Adjust for
1548 lfloor and lceil optabs now being conversion optabs.
1549 * config/i386/i386-protos.h (ix86_expand_lfloorceil): Declare.
1550 * config/i386/i386.c (ix86_expand_sse_compare_and_jump):
1551 New static helper function.
1552 (ix86_expand_lfloorceil): New function to expand lfloor and
1553 lceil inline.
1554 * config/i386/i386.md (lfloor<mode>2): Split into ...
1555 (lfloorxf<mode>2): ... x87 variant
1556 (lfloor<mode>di2, lfloor<mode>si2): ... and SSE variants
1557 using ix86_expand_lfloorceil.
1558 (lceil<mode>2, lceilxf<mode>2, lceil<mode>di2, lceil<mode>si2):
1559 Likewise.
1560 * doc/md.texi (lfloorMN, lceilMN): Document.
1561
4551169f
RS
15622006-10-29 Richard Sandiford <richard@codesourcery.com>
1563
1564 * configure.ac (HAVE_AS_NO_SHARED): New AC_DEFINE. Test for the
1565 -mno-shared assembler option on mips targets.
1566 * configure, config.in: Regenerate.
1567 * config/mips/linux.h (NO_SHARED_SPECS): New macro.
1568 (DRIVER_SELF_SPECS): Define to NO_SHARED_SPECS if non-empty.
1569 * config/mips/linux64.h (DRIVER_SELF_SPECS): Include NO_SHARED_SPECS.
1570
5f687d19
RS
15712006-10-29 Richard Sandiford <richard@codesourcery.com>
1572
1573 * config/mips/mips.c (mips_classify_symbol): Test DECL_WEAK as well
1574 as TREE_PUBLIC when deciding whether to return SYMBOL_GOT_GLOBAL.
1575
3a057207
KH
15762006-10-29 Kazu Hirata <kazu@codesourcery.com>
1577
1578 * config/darwin.c, config/darwin.opt, config/ia64/itanium1.md,
1579 config/ia64/itanium2.md, real.c, tree-ssa-structalias.c: Fix
1580 comment typos.
1581
4413d881
KG
15822006-10-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1583
1584 PR middle-end/29335
1585 * builtins.c (do_mpfr_arg2, fold_builtin_hypot): New.
1586 (fold_builtin_pow): Evaluate constant arguments at compile-time
1587 using MPFR.
1588 (fold_builtin_1): Handle BUILT_IN_ATAN2 and BUILT_IN_HYPOT.
1589 (do_mpfr_ckconv): New helper function.
1590 (do_mpfr_arg1): Use do_mpfr_ckconv.
1591 (do_mpfr_arg2): New.
1592
5c9ab0a6
AP
15932006-10-28 Andrew Pinski <andrew_pinski@playstation.sony.com>
1594
1595 PR tree-opt/29271
1596 * doc/invoke.texi (-fdump-rtl-sched2) Fix file extension number.
1597 (-fdump-rtl-sched): Rename to ..
1598 (-fdump-rtl-sched1): here. Also fix file extension number.
1599
4e910063
RG
16002006-10-28 Richard Guenther <rguenther@suse.de>
1601
1602 * fold-const.c (maybe_canonicalize_comparison): Fix code
1603 to match comment.
1604
fb84c7a0
UB
16052006-10-28 Uros Bizjak <uros@kss-loka.si>
1606
1607 * config/i386/i386.h (GENERAL_REGNO_P): Use STACK_POINTER_REGNUM.
1608 (NON_QI_REG_P): Use IN_RANGE.
1609 (REX_INT_REGNO_P): Use IN_RANGE.
1610 (FP_REGNO_P): Use IN_RANGE.
1611 (SSE_REGNO_P): Use IN_RANGE.
1612 (REX_SSE_REGNO_P): Use IN_RANGE.
1613 (MMX_REGNO_P): Use IN_RANGE.
1614 (STACK_REGNO_P): New macro.
1615 (STACK_REG_P): Use STACK_REGNO_P.
1616 (NON_STACK_REG_P): Use STACK_REGNO_P.
1617 (REGNO_OK_FOR_INDEX_P): Use REX_INT_REGNO_P.
1618 (REGNO_OK_FOR_BASE_P): Use GENERAL_REGNO_P.
1619 (REG_OK_FOR_INDEX_NONSTRICT_P): Use REX_INT_REGNO_P.
1620 (REG_OK_FOR_BASE_NONSTRICT_P): Use GENERAL_REGNO_P.
1621 (HARD_REGNO_RENAME_OK): Use !IN_RANGE.
1622
22ba88ef
EB
16232006-10-28 Eric Botcazou <ebotcazou@adacore.com>
1624
1625 * except.h (output_function_exception_table): Add 'const char*' param.
1626 * except.c (switch_to_exception_section): Add 'const char*' param.
1627 If named sections are supported and HAVE_LD_EH_GC_SECTIONS is defined
1628 and flag_function_sections is set, use a function-specific section.
1629 (output_function_exception_table): Add 'const char*' param.
1630 Adjust call to switch_to_exception_section.
1631 * final.c (rest_of_handle_final): Adjust calls to
1632 output_function_exception_table.
1633 * configure.ac (HAVE_LD_EH_GC_SECTIONS): New check.
1634 * config.in: Regenerate.
1635 * configure: Likewise.
1636
e73dbcae
RG
16372006-10-28 Richard Guenther <rguenther@suse.de>
1638
1639 PR middle-end/26899
1640 * fold-const.c (maybe_canonicalize_comparison_1): Helper
1641 for maybe_canonicalize_comparison.
1642 (maybe_canonicalize_comparison): New function for canonicalizing
1643 comparison trees.
1644 (fold_comparison): Call it to canonicalize comparisons with
1645 constants involved.
1646
4d81bf84
RG
16472006-10-28 Richard Guenther <rguenther@suse.de>
1648
1649 PR target/28806
1650 * builtins.c (expand_builtin_int_roundingfn_2): Expand
1651 BUILT_IN_LROUND and BUILT_IN_LLROUND from here.
1652 (expand_builtin): Adjust likewise.
1653 * genopinit.c (optabs[]): Add lround optab.
1654 * optabs.c (init_optabs): Initialize lround_optab.
1655 * optabs.h (enum convert_optab_index): Add COI_lround.
1656 (lround_optab): Define.
1657 * config/i386/i386-protos.h (ix86_expand_lround): Declare.
1658 * config/i386/i386.c (ix86_sse_copysign_to_positive): New
1659 static function.
1660 (ix86_expand_lround): New function.
1661 * config/i386/i386.md (lround<mode>di2, lround<mode>si2):
1662 New expanders.
1663 * doc/md.texi (lroundMN2): Document.
1664
e68d4dd1
UB
16652006-10-28 Uros Bizjak <uros@kss-loka.si>
1666
1667 PR target/29377
1668 * config/h8300/h8300.c (h8300_emit_stack_adjustment): Change "size"
1669 argument to HOST_WIDE_INT. Update function prototype.
1670 (round_frame_size): Change return type to HOST_WIDE_INT. Change
1671 "size" argument to HOST_WIDE_INT. Update function prototype.
1672
87ccbc5c
UB
16732006-10-28 Uros Bizjak <uros@kss-loka.si>
1674
1675 * config/i386/i386.c (output_387_ffreep): Create output from a
1676 template string for !HAVE_AS_IX86_FFREEP.
9519e677 1677
62baeb4f
EC
16782006-10-27 Eric Christopher <echristo@apple.com>
1679
1680 * config/darwin.c: Fix formatting and grammar.
1681
2e929cf3
JH
16822006-10-27 Jan Hubicka <jh@suse.cz>
1683
1684 * builtins.c (fold_builtin): Don't generate NOP_EXPR that is going
1685 to be thrown away soon when IGNORE is set.
1686 * tree-ssa-ccp.c (convert_to_gimple_builtin): Add IGNORE argument
1687 indicating when return value shall not be computed.
1688 * gimplify.c (internal_get_tmp_var): Avoid random tree sharing.
1689
cfe1b18f
VM
16902006-10-27 Vladimir Makarov <vmakarov@redhat.com>
1691
1692 * config/i386/i386.h (TARGET_GEODE):
1693 (TARGET_CPU_CPP_BUILTINS): Add code for geode.
1694 (TARGET_CPU_DEFAULT_geode): New macro.
1695 (TARGET_CPU_DEFAULT_k6, TARGET_CPU_DEFAULT_k6_2,
1696 TARGET_CPU_DEFAULT_k6_3, TARGET_CPU_DEFAULT_athlon,
1697 TARGET_CPU_DEFAULT_athlon_sse, TARGET_CPU_DEFAULT_k8,
1698 TARGET_CPU_DEFAULT_pentium_m, TARGET_CPU_DEFAULT_prescott,
1699 TARGET_CPU_DEFAULT_nocona, TARGET_CPU_DEFAULT_generic): Increase
1700 the macro values.
1701 (TARGET_CPU_DEFAULT_NAMES): Add geode.
1702 (processor_type): Add PROCESSOR_GEODE.
1703
1704 * config/i386/i386.md: Include geode.md.
1705 (cpu): Add geode.
1706
1707 * config/i386/i386.c (geode_cost): New initialized global
1708 variable.
1709 (m_GEODE, m_K6_GEODE): New macros.
1710 (x86_use_leave, x86_push_memory, x86_deep_branch, x86_use_sahf,
1711 x86_use_himode_fiop, x86_promote_QImode, x86_add_esp_4,
1712 x86_add_esp_8, x86_rep_movl_optimal, x86_ext_80387_constants,
1713 x86_schedule): Use m_K6_GEODE instead of m_K6.
1714 (x86_movx, x86_cmove): Set up m_GEODE.
1715 (x86_integer_DFmode_moves): Clear m_GEODE.
1716 (processor_target_table): Add entry for geode.
1717 (processor_alias_table): Ditto.
1718
1719 * config/i386/geode.md: New file.
1720
1721 * doc/invoke.texi: Add entry about geode processor.
62baeb4f 1722
95c0fb7a
MS
17232006-10-27 Mike Stump <mrs@apple.com>
1724
1725 * config/darwin-c.c (darwin_cpp_builtins): Move __STATIC__ and
1726 __DYNAMIC__ from here back to ...
1727 * config/darwin.h (CPP_SPEC): ... here.
1728
ded5f8f4 17292006-10-26 Nathan Froyd <froydnj@codesourcery.com>
50d0a899 1730 Nathan Sidwell <nathan@codesourcery.com>
ded5f8f4
NF
1731
1732 * ggc-common.c (ggc_min_heapsize_heuristic): Be more conservative
1733 when choosing the minimum heapsize.
1734
6673f90b
NF
17352006-10-26 Nathan Froyd <froydnj@codesourcery.com>
1736
1737 * gcc/unwind-dw2.h: Move cfa-related variables into
1738 struct frame_state_reg_info to ensure that the CFA is properly
1739 handled when executing DW_CFA_{remember,restore}_state.
1740 * gcc/unwind-dw2.c, gcc/config/alpha/linux-unwind.h,
1741 gcc/config/alpha/vms-unwind.h, gcc/config/s390/tpf-unwind.h
1742 gcc/config/s390/linux-unwind.h, gcc/config/sparc/linux-unwind.h
1743 gcc/config/i386/linux-unwind.h, gcc/config/sh/linux-unwind.h
1744 gcc/config/rs6000/linux-unwind.h,
1745 gcc/config/rs6000/darwin-fallback.c, gcc/config/pa/linux-unwind.h,
1746 gcc/config/pa/hpux-unwind.h, gcc/config/mips/linux-unwind.h:
1747 Modify to use new cfa_* fields.
1748
20f04e65
AK
17492006-10-26 Andreas Krebbel <krebbel1@de.ibm.com>
1750
1751 * config/s390/s390.c (s390_init_frame_layout): Check positive
1752 frame_size.
1753
0da67a32
BE
17542006-10-26 Ben Elliston <bje@au.ibm.com>
1755
1756 * gimplify.c (get_name): Remove extraneous break.
1757 (gimplify_omp_for): Initialise ret with GS_OK.
1758
6db63df9
SE
17592006-10-25 Steve Ellcey <sje@cup.hp.com>
1760
1761 * config/ia64/hpux.h: Define _INCLUDE__STDC_A1_SOURCE in C++.
1762 Add unix98.o to link line.
1763
cf1491f0
KG
17642006-10-25 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1765
1766 PR middle-end/29335
1767 * builtins.c (fold_builtin_cbrt, fold_builtin_logarithm):
1768 Calculate compile-time constants using MPFR.
1769 (fold_builtin_1): Likewise handle BUILT_IN_ERF, BUILT_IN_ERFC,
1770 BUILT_IN_EXPM1 and BUILT_IN_LOG1P.
1771
76f6e118
BW
17722006-10-25 Bob Wilson <bob.wilson@acm.org>
1773
1774 * config/xtensa/lib2funcs.S: Use C-style comments.
1775
1d2c2b96
NF
17762006-10-24 Nathan Froyd <froydnj@codesourcery.com>
1777
50d0a899
UB
1778 * dwarf2out.c (gen_compile_unit_die): Use IS_ABSOLUTE_PATH.
1779 (file_table_relative_p): Likewise.
1780 (dwarf2out_finish): Likewise.
1781 (file_name_acquire): Use DIR_SEPARATOR and DIR_SEPARATOR_2.
1d2c2b96 1782
80ba9432
DB
17832006-10-25 Daniel Berlin <dberlin@dberlin.org>
1784
1785 * tree-ssa-structalias.c (intra_create_variable_infos):
1786 Don't recreate nonlocal_all if it already exists.
1787
bb7f0423
RG
17882006-10-25 Richard Guenther <rguenther@suse.de>
1789
1790 PR target/28803
1791 * optabs.h (enum optab_index): Remove OTI_lrint.
1792 (enum convert_optab_index): Add COI_lrint.
1793 (lrint_optab): Adjust.
1794 (expand_sfix_optab): Declare.
1795 * optabs.c (expand_sfix_optab): New function.
1796 (init_optabs): Init lrint_optab as conversion optab.
1797 * genopinit.c (lrint_optab): Change to a conversion optab.
1798 * builtins.c (expand_builtin_int_roundingfn_2): Adjust to
1799 expansion via conversion optab.
1800 * config/i386/i386.md (*fistdi2_1): Remove
1801 flag_unsafe_math_optimizations guard.
1802 (fistdi2, fistdi2_with_temp, *fist<mode>2_1, fist<mode>2,
1803 fist<mode>2_with_temp): Likewise.
1804 (lrint<mode>2): Split into...
1805 (lrintxf<mode>2): ... x87 part
1806 (lrint<mode>di2, lrint<mode>si2): ... and SSE parts.
1807 * config/i386/sse.md (sse_cvtss2si_2, sse_cvtss2_siq_2,
1808 sse2_cvtsd2si_2, sse2_cvtsd2siq_2): New insns for
1809 UNSPEC_FIX_NOTRUNC matching non-vector float modes.
1810 * doc/md.texi (lrintMN2): Document.
1811
ef984648
UB
18122006-10-25 Uros Bizjak <uros@kss-loka.si>
1813
1814 PR target/28909
1815 * config/i386/sync.md ("sync_add<mode>", "sync_sub<mode>"):
1816 Use inc and dec instructions for TARGET_USE_INCDEC.
1817 ("*sync_compare_and_swap<mode>"): Fix -masm=intel template.
1818 ("sync_double_compare_and_swap<mode>"): Likewise.
1819 ("*sync_double_compare_and_swapdi_pic"): Likewise.
1820 ("*sync_compare_and_swap_cc<mode>"): Likewise.
1821 ("sync_double_compare_and_swap_cc<mode>"): Likewise.
1822 ("*sync_double_compare_and_swap_ccdi_pic"): Likewise.
1823 ("sync_old_add<mode>"): Likewise.
1824 ("sync_lock_test_and_set<mode>"): Likewise.
1825 ("sync_lock_test_and_set<mode>"): Likewise.
1826 ("sync_add<mode>"): Likewise.
1827 ("sync_sub<mode>"): Likewise.
1828 ("sync_ior<mode>"): Likewise.
1829 ("sync_and<mode>"): Likewise.
1830 ("sync_xor<mode>"): Likewise.
1831
17b98269
UB
18322006-10-25 Uros Bizjak <uros@kss-loka.si>
1833
1834 * optabs.h (enum optab_index): Rename OTI_drem to OTI_remainder.
1835 (remainder_optab): Define corresponding macro.
1836 (drem_optab): Remove.
1837 * optabs.c (init_optabs): Initialize remainder_optab. Remove
1838 drem_optab initialization.
1839 * genopinit.c (optabs): Implement remainder_optab using
1840 remainder?f3 patterns. Remove drem_optab.
1841 * builtins.c (expand_builtin_mathfn_2): Handle
1842 BUILT_IN_REMAINDER{,F,L} using remainder_optab.
1843 (expand_builtin): Expand BUILT_IN_REMAINDER{,F,L} using
1844 expand_builtin_mathfn_2.
1845
1846 (expand_builtin) [BUILT_IN_FMOD, BUILT_IN_DREM]: Do not
1847 depend on flag_unsafe_math_optimizations.
1848
1849 * config/i386/i386.md ("remaindersf3", "remainderdf3")
1850 ("remainderxf3"): Renamed from "drem{s,d,x}f3" expanders.
1851 Do not depend on flag_unsafe_math_optimizations. Use
1852 truncxf?f expander instead of truncxf?f_i387_noop.
1853
1854 ("fpremxf4", "fprem1xf4"): Do not depend on
1855 flag_unsafe_math_optimizations.
1856 ("fmodsf3", "fmoddf3", "fmodxf3"): Do not depend on
1857 flag_unsafe_math_optimizations. Use truncxf?f expander
1858 instead of truncxf?f_i387_noop.
1859
1860 * doc/md.texi (fmod, remainder): Document standard named pattern.
1861
942d7821
RS
18622006-10-24 Richard Sandiford <richard@codesourcery.com>
1863 David Daney <ddaney@avtrex.com>
1864
1865 PR middle-end/29519
1866 * rtlanal.c (nonzero_address_p): Remove check for values wrapping.
1867
9baf8aea
BE
18682006-10-25 Ben Elliston <bje@au.ibm.com>
1869
1870 * doc/extend.texi (Variable Attributes): Typo fix.
1871
03c259ad
UB
18722006-10-24 Uros Bizjak <uros@kss-loka.si>
1873
1874 * config/i386/i386.h (FIRST_PSEUDO_REGISTER): Define to 54.
1875 (FIXED_REGISTERS, CALL_USED_REGISTERS): Add fpcr register.
1876 (REG_ALLOC_ORDER): Add one element to allocate fpcr register.
1877 (FRAME_POINTER_REGNUM): Update register number to 21.
1878 (REG_CLASS_CONTENTS): Update contents for added fpcr register.
1879 (HI_REGISTER_NAMES): Add "fpcr" for fpcr register.
1880
1881 * config/i386/i386.c (regclass_map): Add fpcr entry.
1882 (dbx_register_map, dbx64_register_map, svr4_dbx_register_map):
1883 Add fpcr entry.
1884 (print_reg): Assert REGNO (x) != FPCR_REG.
1885
1886 * config/i386/i386.md (FPCR_REG, R11_REG): New constants.
1887 (DIRFLAG_REG): Renumber.
1888 (x86_fnstcw_1, x86_fldcw_1): Use FPCR_REG instead of FPSR_REG.
1889 (*sibcall_1_rex64_v, *sibcall_value_1_rex64_v): Use R11_REG.
1890 (sse_prologue_save, *sse_prologue_save_insn): Renumber
1891 hardcoded SSE register numbers.
1892
1893 * config/i386/mmx.md (mmx_emms, mmx_femms): Renumber
1894 hardcoded MMX register numbers.
1895
b53fed56
KG
18962006-10-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1897
1898 PR middle-end/29335
1899 * builtins.c (fold_builtin_sin, fold_builtin_atan): Remove.
1900 (do_mpfr_arg1): Add `min', `max' and `inclusive' arguments.
1901 Update all callers.
1902 (BUILT_IN_SIN, BUILT_IN_ATAN): Handle in main switch.
1903 (BUILT_IN_ASIN, BUILT_IN_ACOS, BUILT_IN_ATAN, BUILT_IN_ASINH,
1904 BUILT_IN_ACOSH, BUILT_IN_ATANH, BUILT_IN_SINH, BUILT_IN_COSH,
1905 BUILT_IN_TANH): Calculate compile-time arguments using MPFR.
1906
27d7d042
RG
19072006-10-24 Richard Guenther <rguenther@suse.de>
1908
1909 PR middle-end/28796
1910 * builtins.c (fold_builtin_classify): Use HONOR_INFINITIES
1911 and HONOR_NANS instead of MODE_HAS_INFINITIES and MODE_HAS_NANS
1912 for deciding optimizations in consistency with fold-const.c
1913 (fold_builtin_unordered_cmp): Likewise.
1914
e1502f6e
RG
19152006-10-24 Richard Guenther <rguenther@suse.de>
1916
1917 * builtins.c (fold_builtin_floor): Fold floor (x) where
1918 x is nonnegative to trunc (x).
1919 (fold_builtin_int_roundingfn): Fold lfloor (x) where x is
1920 nonnegative to FIX_TRUNC_EXPR.
1921
34fc5065
RG
19222006-10-24 Richard Guenther <rguenther@suse.de>
1923
1924 PR tree-optimization/29567
1925 * tree-vrp.c (register_edge_assert_for_1): Fix wrong logic
1926 for TRUTH_NOT_EXPR. Clarify comments.
1927
b52dd66c
KG
19282006-10-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1929
b53fed56 1930 PR middle-end/29335
b52dd66c
KG
1931 * builtins.c (fold_builtin_exponent): Evaluate constant arguments
1932 at compile-time using MPFR. Change parameter VALUE to FUNC,
1933 update all callers.
1934 (do_mpfr_arg1): Rename `exact' to `inexact'. Carefully check
1935 for overflow and underflow at all times and avoid folding in
1936 those cases.
1937
247140ea
BE
19382006-10-24 Ben Elliston <bje@au.ibm.com>
1939
1940 * reload1.c: Formatting fixes.
1941
ae536040
ZD
19422006-10-23 Zdenek Dvorak <dvorakz@suse.cz>
1943
1944 PR tree-optimization/14784
1945 * tree-flow.h (struct var_ann_d): Add is_heapvar bit.
1946 * tree-ssa-structalias.c (get_constraint_for,
1947 intra_create_variable_infos): Set is_heapvar.
1948 * tree-ssa-operands.c (access_can_touch_variable): Do not handle
1949 non-heapvar pointer variables specially.
1950
1f3f1f68
KG
19512006-10-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1952
1953 PR middle-end/29335
1954 * builtins.c (fold_builtin_sin, fold_builtin_cos,
1955 fold_builtin_tan): Fold all constant arguments. Take a "type"
1956 argument as necessary.
1957 (do_mpfr_arg1): New.
1958 * real.c, real.h (real_from_mpfr, mpfr_from_real): New.
1959
b544aa7b
BW
19602006-10-23 Bob Wilson <bob.wilson@acm.org>
1961
1962 * config/xtensa/lib1funcs.asm: Use C-style comments.
1963
c79efc4d
RÁE
19642006-10-23 Rafael Avila de Espindola <rafael.espindola@gmail.com>
1965
1966 * tree.c (local_define_builtin): Replace calls to
1967 lang_hooks.builtin_function with add_builtin_function.
1968 * c-objc-common.h (LANG_HOOKS_BUILTIN_FUNCTION): Define as
1969 c_builtin_function.
1970 * c-tree.h (builtin_function): Rename to c_builtin_function. Change
1971 the signature.
1972 * c-decl.c (builtin_function): Rename to c_builtin_function. Move
1973 common code to add_builtin_function.
1974 * langhooks.c (add_builtin_function): New function.
1975 (lhd_builtin_function): New function.
1976 * langhooks.h (struct lang_hooks): Change the signature of
1977 builtin_function.
1978 (add_builtin_function): New function.
1979 * tree-ssa-loop-prefetch.c (tree_ssa_prefetch_arrays): Replace
1980 calls to lang_hooks.builtin_function with add_builtin_function.
1981 * c-common.c (decl_builtin_1): Replace calls to
1982 lang_hooks.builtin_function with add_builtin_function.
1983 * config/alpha/alpha.c (alpha_init_builtins): Replace calls to
1984 lang_hooks.builtin_function with add_builtin_function.
1985 * config/frv/frv.c (def_builtin): Replace calls to
1986 lang_hooks.builtin_function with add_builtin_function.
1987 * config/s390/s390.c (s390_init_builtins): Replace calls to
1988 lang_hooks.builtin_function with add_builtin_function.
1989 * config/sparc/sparc.c (def_builtin): Replace calls to
1990 lang_hooks.builtin_function with add_builtin_function.
1991 * config/i386/i386.c (def_builtin): Replace calls to
1992 lang_hooks.builtin_function with add_builtin_function.
1993 * config/sh/sh.c (sh_media_init_builtins): Replace calls to
1994 lang_hooks.builtin_function with add_builtin_function.
1995 * config/c4x/c4x.c (c4x_init_builtins): Replace calls to
1996 lang_hooks.builtin_function with add_builtin_function.
1997 * config/stormy16/stormy16.c (xstormy16_init_builtins):
1998 Replace calls to lang_hooks.builtin_function with
1999 add_builtin_function.
2000 * config/iq2000/iq2000.c (def_builtin):
2001 Replace calls to lang_hooks.builtin_function with
2002 add_builtin_function.
2003 * config/ia64/ia64.c (def_builtin): Replace calls to
2004 lang_hooks.builtin_function with add_builtin_function.
2005 * config/rs6000/rs6000.c (def_builtin): Replace calls to
2006 lang_hooks.builtin_function with add_builtin_function.
2007 (altivec_init_builtins): Replace calls to
2008 lang_hooks.builtin_function with add_builtin_function.
2009 * config/arm/arm.c (def_mbuiltin): Replace calls to
2010 lang_hooks.builtin_function with add_builtin_function.
2011 (arm_init_tls_builtins): Replace calls to
2012 lang_hooks.builtin_function with add_builtin_function.
2013 * config/mips/mips.c (mips_init_builtins): Replace calls to
2014 lang_hooks.builtin_function with add_builtin_function.
2015 * config/bfin/bfin.c (def_builtin): Replace calls to
2016 lang_hooks.builtin_function with add_builtin_function.
2017 * langhooks-def.h (lhd_builtin_function): New function.
2018 (LANG_HOOKS_BUILTIN_FUNCTION): Define as lhd_builtin_function.
2019
1c2fc017
JJ
20202006-10-23 Jakub Jelinek <jakub@redhat.com>
2021
2022 * builtins.c (expand_builtin, maybe_emit_chk_warning): Handle
2023 BUILT_IN_STRNCAT_CHK.
2024
eaf19122
JH
20252006-10-23 Jan Hubicka <jh@suse.cz>
2026
2027 * builtins.c (expand_builtin_memmove): Remove ORIG_EXP argument;
2028 don't do conversion from memmove to memcpy here.
2029 (expand_builtin_bcopy, expand_builtin): Update call of
2030 expand_builtin_memmove.
2031 (fold_builtin_memory_op): Do folding of memmove to memcpy here.
2032
353293e7
PB
20332006-10-23 Paul Brook <paul@codesourcery.com>
2034
2035 * stor-layout.c (start_record_layout): maximum_field_alignment
2036 overrides STRUCTURE_SIZE_BOUNDARY.
2037
6915c1ce
UW
20382006-10-23 Ulrich Weigand <uweigand@de.ibm.com>
2039
2040 * config/s390/predicates.md ("bras_sym_operand"): Do not accept
2041 nonlocal function symbols if flag_pic.
2042
b0cd88d2
RG
20432006-10-23 Richard Guenther <rguenther@suse.de>
2044
2045 PR middle-end/27132
2046 PR middle-end/23295
2047 * builtins.c (fold_binary): Remove checks for flag_wrapv
2048 and flag_trapv where negate_expr_p covers these cases.
2049
20502006-10-23 Richard Guenther <rguenther@suse.de>
2051
2052 PR middle-end/29548
2053 * fold-const.c (fold_plusminus_mult_expr): Check exact power
2054 of two on the absolute value.
2055 (fold_binary): Fold x * -C to -x * C if x is easily negatable
2056 and negating -C does not overflow.
2057
4f76e46b
RG
20582006-10-23 Richard Guenther <rguenther@suse.de>
2059
2060 PR middle-end/21032
2061 * convert.c (convert_to_real): Fold (float)-x to -(float)x
2062 only if not flag_rounding_math.
2063
85144c5c
RS
20642006-10-22 Richard Sandiford <richard@codesourcery.com>
2065 Kaz Kojima <kkojima@gcc.gnu.org>
2066
2067 PR target/28232
2068 * config/sh/sh.c (expand_block_move): Use a BLKmode rather than
2069 SImode memory reference for the source of a movua.
2070 * config/sh/sh.md (UNSPEC_MOVUA): New macro.
2071 (movua): Use an unspec instead of sign_extract. Expect the source
2072 to have mode BLKmode.
2073 (extv, insv): Use a BLKmode rather than SImode memory reference
2074 for the source of a movua.
2075
279f3eb5
JL
20762006-10-22 Jeff Law <law@redhat.com>
2077 Richard Guenther <rguenther@suse.de>
2078
2079 PR tree-optimization/15911
2080 * tree-vrp.c (extract_code_and_val_from_cond): New function.
2081 (register_edge_assert_for_1): Likewise.
2082 (register_edge_assert_for): Handle &&/&/||/| in conditionals.
2083 (find_conditional_asserts): Adjust for new function signature.
2084 (find_assert_locations): Likewise.
2085
c0546edb
L
20862006-10-22 H.J. Lu <hongjiu.lu@intel.com>
2087
2088 * config/i386/tmmintrin.h: Remove the duplicated content.
2089
b1875f52
L
20902006-10-22 H.J. Lu <hongjiu.lu@intel.com>
2091
2092 * config.gcc (i[34567]86-*-*): Add tmmintrin.h to extra_headers.
2093 (x86_64-*-*): Likewise.
2094
2095 * config/i386/i386.c (pta_flags): Add PTA_SSSE3.
2096 (override_options): Check SSSE3.
2097 (ix86_builtins): Add IX86_BUILTIN_PHADDW, IX86_BUILTIN_PHADDD,
2098 IX86_BUILTIN_PHADDSW, IX86_BUILTIN_PHSUBW, IX86_BUILTIN_PHSUBD,
2099 IX86_BUILTIN_PHSUBSW, IX86_BUILTIN_PMADDUBSW,
2100 IX86_BUILTIN_PMULHRSW, IX86_BUILTIN_PSHUFB,
2101 IX86_BUILTIN_PSIGNB, IX86_BUILTIN_PSIGNW, IX86_BUILTIN_PSIGND,
2102 IX86_BUILTIN_PALIGNR, IX86_BUILTIN_PABSB, IX86_BUILTIN_PABSW,
2103 IX86_BUILTIN_PABSD, IX86_BUILTIN_PHADDW128,
2104 IX86_BUILTIN_PHADDD128, IX86_BUILTIN_PHADDSW128,
2105 IX86_BUILTIN_PHSUBW128, IX86_BUILTIN_PHSUBD128,
2106 IX86_BUILTIN_PHSUBSW128, IX86_BUILTIN_PMADDUBSW128,
2107 IX86_BUILTIN_PMULHRSW128, IX86_BUILTIN_PSHUFB128,
2108 IX86_BUILTIN_PSIGNB128, IX86_BUILTIN_PSIGNW128,
2109 IX86_BUILTIN_PSIGND128, IX86_BUILTIN_PALIGNR128,
2110 IX86_BUILTIN_PABSB128, IX86_BUILTIN_PABSW128 and
2111 IX86_BUILTIN_PABSD128.
2112 (bdesc_2arg): Add SSSE3.
2113 (bdesc_1arg): Likewise.
2114 (ix86_init_mmx_sse_builtins): Support SSSE3.
2115 (ix86_expand_builtin): Likewise.
2116 * config/i386/i386.h (TARGET_CPU_CPP_BUILTINS): Likewise.
2117
2118 * config/i386/i386.md (UNSPEC_PSHUFB): New.
2119 (UNSPEC_PSIGN): Likewise.
2120 (UNSPEC_PALIGNR): Likewise.
2121 Include mmx.md before sse.md.
2122
2123 * config/i386/i386.opt: Add -mssse3.
2124
2125 * config/i386/sse.md (ssse3_phaddwv8hi3): New pattern for SSSE3.
2126 (ssse3_phaddwv4hi3): Likewise.
2127 (ssse3_phadddv4si3): Likewise.
2128 (ssse3_phadddv2si3): Likewise.
2129 (ssse3_phaddswv8hi3): Likewise.
2130 (ssse3_phaddswv4hi3): Likewise.
2131 (ssse3_phsubwv8hi3): Likewise.
2132 (ssse3_phsubwv4hi3): Likewise.
2133 (ssse3_phsubdv4si3): Likewise.
2134 (ssse3_phsubdv2si3): Likewise.
2135 (ssse3_phsubswv8hi3): Likewise.
2136 (ssse3_phsubswv4hi3): Likewise.
2137 (ssse3_pmaddubswv8hi3): Likewise.
2138 (ssse3_pmaddubswv4hi3): Likewise.
2139 (ssse3_pmulhrswv8hi3): Likewise.
2140 (ssse3_pmulhrswv4hi3): Likewise.
2141 (ssse3_pshufbv16qi3): Likewise.
2142 (ssse3_pshufbv8qi3): Likewise.
2143 (ssse3_psign<mode>3): Likewise.
2144 (ssse3_psign<mode>3): Likewise.
2145 (ssse3_palignrti): Likewise.
2146 (ssse3_palignrdi): Likewise.
2147 (abs<mode>2): Likewise.
2148 (abs<mode>2): Likewise.
2149
2150 * config/i386/tmmintrin.h: New file.
2151
2152 * doc/extend.texi: Document SSSE3 built-in functions.
2153
2154 * doc/invoke.texi: Document -mssse3/-mno-ssse3 switches.
2155
52fb9856
IR
21562006-10-22 Ira Rosen <irar@il.ibm.com>
2157
50d0a899
UB
2158 * tree-vect-transform.c (vectorizable_load): Use the type of the
2159 return value of the mask_for_load builtin to create realign_load
2160 stmt.
52fb9856 2161
7dc7d8a2
RS
21622006-10-22 Richard Sandiford <richard@codesourcery.com>
2163
2164 * config/mips/mips.c (mips_split_const): Don't accept bare PLUS
2165 expressions.
2166
96208aed
L
21672006-10-21 H.J. Lu <hongjiu.lu@intel.com>
2168
2169 * config/i386/i386.md (UNSPEC_LDQQU): Renamed to ...
2170 (UNSPEC_LDDQU): This.
2171 * config/i386/sse.md (sse3_lddqu): Updated.
2172
0bfa1541
RG
21732006-10-21 Richard Guenther <rguenther@suse.de>
2174
2175 * builtins.c (expand_builtin_int_roundingfn_2): New function.
2176 (expand_builtin): Use it to expand lrint instead of
2177 expand_builtin_mathfn.
2178
495ed96c
UB
21792006-10-21 Uros Bizjak <uros@kss-loka.si>
2180
2181 PR middle-end/28252
2182 * builtins.c (fold_builtin): Fold pow(x,1.0/3.0) as cbrt(x) if
2183 flag_unsafe_math_optimizations is set.
2184
962ef7fe
UB
21852006-10-21 Uros Bizjak <uros@kss-loka.si>
2186
2187 PR target/19398
2188 * config/i386/i386.md (fix_trunc?f?i_sse): Add peephole2
2189 patterns to use memory input operand in x87->mem->XMM
2190 reload sequences. Skip transformation for TARGET_K8.
2191
509a77dc
UB
21922006-10-21 Uros Bizjak <uros@kss-loka.si>
2193
2194 * config/i386/i386.md (extendsfdf2, extendsfxf2, extenddfxf2): Do not
2195 force operand1 to register if both operands are memory operands.
2196 (*extendsfdf2_mixed, *extendsfdf2_sse, *extendsfdf2_i387)
2197 (*extendsfxf2_i387, *extenddfxf2_i387): Do not disable pattern
2198 if both operands are memory operands.
2199 (truncdfsf2): Do not force operand1 to register if both operands
2200 are memory operands.
2201
70ec446f
KG
22022006-10-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2203
2204 * Makefile.in (LIBS): Add $(GMPLIBS).
2205 * doc/install.texi: Update GMP and MPFR requirements.
2206 * doc/sourcebuild.texi (need_gmp): Delete.
2207
0778d4e8
RG
22082006-10-21 Richard Guenther <rguenther@suse.de>
2209
2210 PR tree-optimization/3511
2211 * tree-ssa-pre.c (phi_translate): Fold CALL_EXPRs that
2212 got new invariant arguments during PHI translation.
2213
8a1eca08
RG
22142006-10-21 Richard Guenther <rguenther@suse.de>
2215
2216 PR middle-end/26898
2217 * fold-const.c (fold_comparison): Fold signed comparisons
2218 of the form X +- C1 CMP Y +- C2.
2219
5a4171a0
RG
22202006-10-21 Richard Guenther <rguenther@suse.de>
2221
2222 PR target/19116
2223 * config/i386/i386.c (override_options): Do not set MASK_IEEE_FP
2224 if flag_unsafe_math_optimizations is specified. We have
2225 flag_finite_math_only for that.
2226 * config/i386/i386.md (sqrtxf2): Do not require TARGET_IEEE_FP
2227 or flag_unsafe_math_optimizations.
2228
120a56cb
RG
22292006-10-21 Richard Guenther <rguenther@suse.de>
2230
2231 * builtins.c (fold_builtin_classify): Fix typo.
2232
bdbb0460
RG
22332006-10-21 Richard Guenther <rguenther@suse.de>
2234
2235 PR middle-end/28796
2236 * simplify-rtx.c (simplify_const_relational_operation):
2237 Do not constant-fold ORDERED and UNORDERED for
2238 flag_unsafe_math_optimizations but only we do not need to
2239 honor NaNs for the given mode.
2240
1faf92ae
RG
22412006-10-21 Richard Guenther <rguenther@suse.de>
2242
2243 PR target/29512
2244 * config/i386/i386.c (classify_argument): Remove redundant
2245 walking of the BINFOs.
2246 (contains_128bit_aligned_vector_p): Likewise.
2247
20a0da35
MM
22482006-10-20 Mark Mitchell <mark@codesourcery.com>
2249
2250 * BASE-VER: Set to 4.3.0.
2251
b23987ec
DB
22522006-10-20 Daniel Berlin <dberlin@dberlin.org>
2253
2254 * tree.h (DECL_PTA_ARTIFICIAL): Remove.
2255 (tree_decl_with_vis): Remove artificial_pta_var flag.
2256 * tree-flow.h (referenced_var_check_and_insert): Expose.
2257 (nonlocal_all): New prototype.
2258 * tree-ssa-structalias.c (nonlocal_for_type): Remove.
2259 (nonlocal_all): Make global.
2260 (nonlocal_lookup): Remove.
2261 (nonlocal_insert): Ditto.
2262 (create_nonlocal_var): Do not call nonlocal_insert.
2263 (get_nonlocal_id_for_type): Remove.
2264 (find_global_initializers): Mark new vars we find for renaming.
2265 (intra_create_variable_infos): Only create one nonlocal.
2266 (expand_nonlocal_solutions): Remove.
2267 (compute_points_to_sets): Don't call it.
2268 (ipa_pta_execute): Ditto.
2269 (init_alias_heapvars): Don't create nonlocal_for_type.
2270 (delete_alias_heapvars): Don't remove it.
2271 * tree-ssa-operands.c (access_can_touch_variable): Don't prune
2272 nonlocal_all.
2273
374716e7
BM
22742006-10-19 Brooks Moses <bmoses@stanford.edu>
2275
2276 * doc/install.texi (Downloading GCC): Clarify mention of
2277 Fortran in the "full distribution" description.
2278
21392f19
DB
22792006-10-19 Daniel Berlin <dberlin@dberlin.org>
2280
2281 Fix PR tree-optimization/28778
2282 Fix PR tree-optimization/29156
2283 Fix PR tree-optimization/29415
2284 * tree.h (DECL_PTA_ARTIFICIAL): New macro.
2285 (tree_decl_with_vis): Add artificial_pta_var flag.
2286 * tree-ssa-alias.c (is_escape_site): Remove alias info argument,
2287 pushed into callers.
2288 * tree-ssa-structalias.c (nonlocal_for_type): New variable.
2289 (nonlocal_all): Ditto.
2290 (struct variable_info): Add directly_dereferenced member.
2291 (var_escaped_vars): New variable.
2292 (escaped_vars_tree): Ditto.
2293 (escaped_vars_id): Ditto.
2294 (nonlocal_vars_id): Ditto.
2295 (new_var_info): Set directly_dereferenced.
2296 (graph_size): New variable
2297 (build_constraint_graph): Use graph_size.
2298 (solve_graph): Don't process constraints that cannot change the
2299 solution, don't try to propagate an empty solution to our
2300 successors.
2301 (process_constraint): Set directly_dereferenced.
2302 (could_have_pointers): New function.
2303 (get_constraint_for_component_ref): Don't process STRING_CST.
2304 (nonlocal_lookup): New function.
2305 (nonlocal_insert): Ditto.
2306 (create_nonlocal_var): Ditto.
2307 (get_nonlocal_id_for_type): Ditto.
2308 (get_constraint_for): Allow results vector to be empty in the case
2309 of string constants.
2310 Handle results of calls properly.
2311 (update_alias_info): Update alias info stats on number and type of
2312 calls.
2313 (find_func_aliases): Use could_have_pointers.
2314 (make_constraint_from_escaped): Renamed from
2315 make_constraint_to_anything, and changed to make constraints from
2316 escape variable.
2317 (make_constraint_to_escaped): New function.
2318 (find_global_initializers): Ditto.
2319 (create_variable_info_for): Make constraint from escaped to any
2320 global variable, and from any global variable to the set of
2321 escaped vars.
2322 (intra_create_variable_infos): Deal with escaped instead of
2323 pointing to anything.
2324 (set_uids_in_ptset): Do type pruning on directly dereferenced
2325 variables.
2326 (find_what_p_points_to): Adjust call to set_uids_with_ptset.
2327 (init_base_vars): Fix comment, and initialize escaped_vars.
2328 (need_to_solve): Removed.
2329 (find_escape_constraints): New function.
2330 (expand_nonlocal_solutions): Ditto.
2331 (compute_points_to_sets): Call find_escape_constraints and
2332 expand_nonlocal_solutions.
2333 (delete_points_to_sets): Don't fall off the end of the graph.
2334 (init_alias_heapvars): Initialize nonlocal_for_type and
2335 nonlocal_all.
2336 (delete_alias_heapvars): Free nonlocal_for_type and null out
62baeb4f 2337 nonlocal_all.
21392f19 2338
6b7283ac
EB
23392006-10-19 Eric Botcazou <ebotcazou@adacore.com>
2340
2341 * fold-const.c (add_double): Rename to add_double_with_sign.
2342 Add 'unsigned_p' parameter and take it into account for the overflow.
62baeb4f 2343 (mul_double): Rename to mul_double_with_sign.
6b7283ac
EB
2344 Add 'unsigned_p' parameter and take it into account for the overflow.
2345 (fold_div_compare): Call add_double_with_sign instead of add_double
2346 and mul_double_with_sign instead of mul_double, passing them the
2347 unsignedness of the type.
2348 * tree.h (add_double): Macroize.
2349 (add_double_with_sign): New prototype.
2350 (mul_double): Macroize.
2351 (mul_double_with_sign): New prototype.
2352
93ef7c1f
CL
23532006-10-19 Chen Liqin <liqin@sunnorth.com.cn>
2354
50d0a899
UB
2355 * config/score/crti.asm: New file.
2356 * config/score/crtn.asm: New file.
2357 * config/score/elf.h: New file.
2358 * config/score/mac.md: New file.
2359 * config/score/misc.md: New file.
2360 * config/score/mul-div.S: New file.
2361 * config/score/predicates.md: New file.
2362 * config/score/score7.md: New file.
2363 * config/score/score.c: New file.
2364 * config/score/score-conv.h: New file.
2365 * config/score/score.h: New file.
2366 * config/score/score.md: New file.
2367 * config/score/score-mdaux.c: New file.
2368 * config/score/score-mdaux.h: New file.
2369 * config/score/score-modes.def: New file.
2370 * config/score/score.opt: New file.
2371 * config/score/score-protos.h: New file.
2372 * config/score/score-version.h: New file.
2373 * config/score/t-score-elf: New file.
2374 * config.gcc: Add score*-*-* configurations(Update before).
2375 * doc/invoke.texi (Score Options): New section.
2376 * doc/md.texi (Score family): New section to document constraints.
93ef7c1f 2377
afc0a4ba
NC
23782006-10-19 Nick Clifton <nickc@redhat.com>
2379
2380 * config/arm/arm.c: Fix spelling typo.
2381
2d142abd
TT
23822006-10-18 Tom Tromey <tromey@redhat.com>
2383
2384 * doc/install.texi (Prerequisites): Mention automake 1.9.6.
2385
1368453c
JH
23862006-10-18 Jan Hubicka <jh@suse.cz>
2387
2388 PR middle-end/29299
2389 * cfgexpand.c (expand_used_vars_for_block): Vars marked used by user
2390 are used.
2391
2174b867
MD
23922006-10-18 Marcin Dalecki <martin@dalecki.de>
2393
2394 * omp-low.c (expand_parallel_call): Use BSI_SAME_STMT instead of
2395 TSI_SAME_STMT, since that's the desired entity.
2396
cd8dc1f9
WG
23972006-10-17 Wolfgang Gellerich <gellerich@de.ibm.com>
2398
2399 * config/s390/contraints.md: New file.
50d0a899 2400 * config/s390/s390-protos.h (s390_mem_constraint,
62baeb4f 2401 s390_O_constraint_str, s390_N_constraint_str,
cd8dc1f9 2402 s390_float_const_zero_p): Function prototypes added.
62baeb4f
EC
2403 * config/s390/s390.c (s390_extra_constraint_str,
2404 s390_const_double_ok_for_constraint_p,
cd8dc1f9 2405 s390_const_ok_for_constraint_p): Functions removed.
50d0a899 2406 (s390_mem_constraint, s390_O_constraint_str, s390_N_constraint_str,
cd8dc1f9
WG
2407 s390_float_const_zero_p): New functions.
2408 * config/s390/s390.h (REG_CLASS_FROM_LETTER, CONST_OK_FOR_CONSTRAINT_P,
62baeb4f
EC
2409 CONST_DOUBLE_OK_FOR_CONSTRAINT_P, EXTRA_CONSTRAINT_STR,
2410 EXTRA_MEMORY_CONSTRAINT, EXTRA_ADDRESS_CONSTRAINT, CONSTRAINT_LEN):
cd8dc1f9
WG
2411 Macro definitions removed.
2412 (s390_const_ok_for_constraint_p, s390_const_double_ok_for_constraint_p,
2413 s390_extra_constraint_str): Functions removed.
2414
120311ec
AP
24152006-10-17 Andrew Pinsiki <pinskia@gmail.com>
2416 Richard Sandiford <richard@codesourcery.com>
2417
e4fd3c84 2418 PR target/29413
120311ec
AP
2419 * config/mips/linux.h (SUBTARGET_CC1_SPEC): Override.
2420 * config/mips/mips.h (CC1_SPEC): Override any earlier definition.
2421
ed1cf8ff
GK
24222006-10-16 Geoffrey Keating <geoffk@apple.com>
2423
2424 * config/rs6000/sysv4.h (DBX_REGISTER_NUMBER): Move to rs6000.h.
2425 (DWARF2_FRAME_REG_OUT): Likewise.
2426 * config/rs6000/rs6000.h (DBX_REGISTER_NUMBER): Move from sysv4.h.
2427 (DWARF2_FRAME_REG_OUT): Likewise.
2428
26da58dd
PB
24292006-10-17 Paul Brook <paul@codesourcery.com>
2430
2431 * config/arm/arm.c (arm_rtx_costs_1): Handle multiply-accumulate.
2432
92922512
BM
24332006-10-16 Brooks Moses <bmoses@stanford.edu>
2434
2435 * doc/contrib.texi, doc/install.texi, doc/standards.texi:
2436 Standardize on "GNU Fortran" as the official name of the Fortran
2437 compiler.
2438
f475fd3c
MS
24392006-10-16 Mike Stump <mrs@apple.com>
2440
57164024 2441 * doc/invoke.texi (Darwin Options): Document -mkernel.
f475fd3c
MS
2442 * config/rs6000/darwin.h (SUBTARGET_OVERRIDE_OPTIONS): Add
2443 -mkernel support.
2444 (C_COMMON_OVERRIDE_OPTIONS): Add -mkernel support. Add
2445 SUBTARGET_C_COMMON_OVERRIDE_OPTIONS callout.
2446 (CC1_SPEC): Don't turn on -fPIC when -mkernel is given.
2447 (OS_MISSING_ALTIVEC): Add.
2448 * config/i386/i386.c (override_options): Add
2449 SUBSUBTARGET_OVERRIDE_OPTIONS callout.
2450 * config/i386/darwin.h (CC1_SPEC): Don't turn on -fPIC when
2451 -mkernel, -static or -mdynamic-no-pic is given.
2452 (C_COMMON_OVERRIDE_OPTIONS): Add.
2453 * config/darwin.opt (fapple-kext): Add.
2454 (mkernel): Add.
2455 * config/darwin.h (TARGET_OPTION_TRANSLATE_TABLE): Add
2456 -fapple-kext, -findirect-virtual-calls, -fterminated-vtables and
2457 -mkernel support.
2458 (SUBSUBTARGET_OVERRIDE_OPTIONS): Add.
2459 (SUBTARGET_C_COMMON_OVERRIDE_OPTIONS): Add.
2460 (CPP_SPEC): Move defines for __DYNAMIC__ and __STATIC__ from here...
2461 (SUBTARGET_ATTRIBUTE_TABLE): Add apple_kext_compatibility.
2462 (TARGET_CXX_CDTOR_RETURNS_THIS): Add.
2463 (flag_mkernel): Add.
2464 (flag_apple_kext): Add.
2465 (TARGET_KEXTABI): Add.
2466 * config/darwin.c (darwin_handle_kext_attribute): Add.
2467 (DARWIN_VTABLE_P): Add.
2468 (darwin_binds_local_p): Add partial support for rebinding vtables
2469 in kexts.
2470 (darwin_kextabi_p): Add.
2471 (darwin_override_options): Add.
2472 * config/darwin-protos.h (darwin_handle_kext_attribute): Add.
2473 (darwin_kextabi_p): Add.
2474 (darwin_override_options): Add.
2475 * config/darwin-c.c (darwin_cpp_builtins): ... move defines for
2476 __DYNAMIC__ and __STATIC__ here.
2477
cc5c2741
BM
24782006-10-16 Brooks Moses <bmoses@stanford.edu>
2479
2480 * doc/sourcebuild.texi, doc/makefile.texi, doc/install.texi:
2481 Added mention of "make pdf" target, and Texinfo requirements for
2482 same.
2483
0c6385dc
DD
24842006-10-16 DJ Delorie <dj@redhat.com>
2485
2486 * config/s390/s390.c (s390_decompose_address): Allow symbol+offset
2487 into the GOT in case we need a subreg of the address.
2488
d7aa4788
RG
24892006-10-16 Richard Guenther <rguenther@suse.de>
2490
2491 PR target/25519
2492 * doc/extend.texi (X86 Built-in Functions): Fix typos in
2493 SSE builtin documentation. Document SSE2 builtins.
2494
27ca3a61
JDA
24952006-10-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2496
c05b4438
JDA
2497 * pa64-hpux.h (LINK_SPEC): Force __cxa_finalize to be an undefined
2498 symbol in the output file for non-shared links when -nostdlib or
2499 -nodefaultlibs isn't specified.
2500
27ca3a61
JDA
2501 * config.gcc (hppa*64*-*-hpux11*, hppa[12]*-*-hpux11*): Default to
2502 posix thread support.
2503
ba19ceae
JH
25042006-10-15 Jan Hubicka <jh@suse.cz>
2505
2506 PR middle-end/29241
2507 * cgraphunit.c (cgraph_preserve_function_body_p): Preserve functions
2508 declared always_inline even when not inlining.
2509
af4a46a9 25102006-10-15 Eric Botcazou <ebotcazou@libertysurf.fr>
50d0a899
UB
2511 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2512 Andrew Pinski <pinskia@gmail.com>
af4a46a9
EB
2513
2514 PR middle-end/29111
2515 * builtins.c (get_pointer_alignment): Return 0 if TER is not run.
2516
61e00a5e 25172006-10-15 Jan Hubicka <jh@suse.cz>
50d0a899 2518 Richard Guenther <rguenther@suse.de>
61e00a5e
JH
2519
2520 PR middle-end/29299
2521 * cgraphunit.c (cgraph_finalize_compilation_unit): Call
2522 process_function_and_variable_attributes on all variables, including
2523 those discovered during cgraph construction phase.
2524
b0efb46b
BF
25252006-10-15 Bernhard Fischer <aldot@gcc.gnu.org>
2526
2527 * final.c: Update Copyright year. Commentary typo fix. Fix whitespace
2528
f6096891
UB
25292006-10-14 Uros Bizjak <uros@kss-loka.si>
2530
2531 * config/i386/athlon.md (athlon_fist): Add fisttp.
2532
dc10a47e
DE
25332006-10-13 David Edelsohn <edelsohn@gnu.org>
2534 Ian Lance Taylor <ian@airs.com>
2535
2536 PR middle-end/29250
2537 * expr.c (expand_expr_real_1) <NON_LVALUE_EXPR, NOP_EXPR,
2538 CONVERT_EXPR>: Change EXPAND_SUM modifier to EXPAND_NORMAL when
2539 recursing.
2540
875e256a
KH
25412006-10-14 Kazu Hirata <kazu@codesourcery.com>
2542
2543 * config/score/score.c, config/score/score.h: Fix comment
2544 typos.
2545
0c472e4e
KG
25462006-10-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2547
2548 PR bootstrap/29402
2549 * Makefile.in (ALL_GTFILES_H): Use $(sort ...) instead of
2550 shell pipeline.
2551
ee4ae285
EC
25522006-10-13 Eric Christopher <echristo@apple.com>
2553
2554 * config/darwin.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define.
2555
5793c070
CD
25562006-10-13 Carlos O'Donell <carlos@codesourcery.com>
2557
2558 Revert this change:
2559 2006-10-13 Carlos O'Donell <carlos@codesourcery.com>
2560 * config/elfos.h (MAX_OFILE_ALIGNMENT): Default to largest
2561 alignment supported by 32-bit ELF.
2562
44ef77c1
EC
25632006-10-13 Eric Christopher <echristo@apple.com>
2564
2565 * config/darwin.c (darwin_emit_unwind_label): Strip
2566 name encoding. Use DECL_ASSEMBLER_NAME_SET_P.
2567
96644aba
RG
25682006-10-13 Richard Guenther <rguenther@suse.de>
2569
2570 PR tree-optimization/29446
2571 * tree-vrp.c (fix_equivalence_set): Remove.
2572 (extract_range_from_assert): Do not call fix_equivalence_set.
2573 (debug_value_range): Print a newline.
2574 (compare_name_with_value): For equivalence sets with
2575 inconsistent value ranges conservatively bail out.
2576 (compare_names): Likewise.
2577
d3a95f27
DE
25782006-10-13 David Edelsohn <edelsohn@gnu.org>
2579
2580 * doc/install.texi (*-ibm-aix*): Add comment about 32-bit GMP
2581 and MPFR for gfortran.
2582
d407b27d
CD
25832006-10-13 Carlos O'Donell <carlos@codesourcery.com>
2584
2585 * config/elfos.h (MAX_OFILE_ALIGNMENT): Default to largest
2586 alignment supported by 32-bit ELF.
2587
ca58211b
PB
25882006-10-13 Paolo Bonzini <bonzini@gnu.org>
2589
2590 PR c/29092
2591
670a1b1f 2592 * c-typeck.c (digest_init): Always allow initializing vectors
ca58211b
PB
2593 that have static storage duration with compound literals.
2594 * tree.c (build_type_attribute_qual_variant): New, based on
2595 build_type_attribute_variant.
2596 (build_type_attribute_variant): Rewrite using the former.
2597 (make_vector_type): Use build_type_attribute_qual_variant to build
2598 type variants. Use type_hash_canon on the others.
2599
e1bb14ca
DB
26002006-10-13 Daniel Berlin <dberlin@dberlin.org>
2601 Ramana Radhakrishnan <ramana.radhakrishnan@celunite.com>
2602
2603 * tree-flow-inline.h (zero_ssa_operands): Fix comment.
2604
1a4259dc
JH
26052006-10-12 Jan Hubicka <jh@suse.cz>
2606
2607 PR c/28419
2608 * c-decl.c (c_make_fname_decl): Do not segfault in case where
2609 current_function_decl is set but current_function_scope is not.
2610
1e96b1c3
JZ
26112006-10-12 Jie Zhang <jie.zhang@analog.com>
2612
2613 * config/bfin/bfin.md (eh_return): Call emit_jump_insn instead of
2614 emit_insn to emit eh_return_internal instruction.
2615 (eh_return_internal): Explicitly set pc.
2616
377d569b
RG
26172006-10-11 Richard Guenther <rguenther@suse.de>
2618
2619 PR tree-optimization/28230
2620 * tree-vrp.c (vrp_int_const_binop): Move flag_wrapv handling
2621 to the correct place.
2622
ba38541a
RG
26232006-10-11 Richard Guenther <rguenther@suse.de>
2624
2625 PR inline-asm/29119
2626 * gimplify.c (gimplify_asm_expr): Mark the gimplified lvalue
2627 addressable.
2628
b5422ad7
BM
26292006-10-10 Brooks Moses <bmoses@stanford.edu>
2630
2631 * configure.ac: Added pdf to "Make-hooks"
2632 * Makefile.in: Added TEXI2PDF definition, and various pdf-file
2633 targets and *.pdf file patterns in cleanup targets.
2634 * configure: Regenerated.
2635
413fc59a
AS
26362006-10-10 Anatoly Sokolov <aesok@post.ru>
2637
2638 * config/avr/predicates.md: New file.
2639 * config/avr/avr.md: Include it.
2640 (REG_SP): New constant.
2641 (peepholes): Use predicates.
2642 (sbrx_branch, sbrx_and_branchhi, sbrx_and_branchsi, branch, rvbranch,
2643 difficult_branch, difficult_rvbranch, cbi, sbi, sbix_branch,
2644 sbix_branch_bit7, sbix_branch_tmp, sbix_branch_tmp_bit7): Ditto.
2645
48a0c3d4
AN
26462006-10-10 Adam Nemet <anemet@caviumnetworks.com>
2647
2648 * config/mips/mips.c (mips_save_restore_reg): Use gen_frame_mem to
2649 avoid alias set 0.
2650
599a964a
JJ
26512006-10-10 Jakub Jelinek <jakub@redhat.com>
2652
2653 PR middle-end/29272
2654 * builtins.c (var_decl_component_p): New function.
2655 (fold_builtin_memset, fold_builtin_memory_op): Restrict
2656 single entry optimization to variables and components thereof.
2657
be0436d7
RG
26582006-10-10 Richard Guenther <rguenther@suse.de>
2659
2660 PR rtl-optimization/29323
2661 * except.c (set_nothrow_function_flags): For functions
2662 that do not bind local bail out early.
2663
07d83dad
BE
26642006-10-10 Ben Elliston <bje@au.ibm.com>
2665
2666 * doc/invoke.texi (RS/6000 and PowerPC Options): Add -m to the
2667 -mdlmzb option.
2668
a98d4769
RH
26692006-10-09 Richard Henderson <rth@redhat.com>
2670
2671 Revert emutls patch.
2672
5771bd91
RG
26732006-10-09 Richard Guenther <rguenther@suse.de>
2674
2675 PR middle-end/29254
2676 * cgraphunit.c (verify_cgraph_node): Bail out on earlier
2677 errors.
2678
e64f5acf
SE
26792006-10-09 Steve Ellcey <sje@cup.hp.com>
2680
2681 PR target/27880
2682 * unwind-c.c (PERSONALITY_FUNCTION): Ifdef use of _Unwind_GetIPInfo.
2683 * configure.ac (HAVE_GETIPINFO): Check for _Unwind_GetIPInfo.
2684 * configure: Regenerate.
2685 * config.in: Regenerate.
2686
f4935db5
AH
26872006-10-09 Aldy Hernandez <aldyh@redhat.com>
2688
670a1b1f 2689 * tree-mudflap.c (mf_xform_derefs_1): Add parentheses around TREE_TYPE.
f4935db5 2690
4afa41f1
RS
26912006-10-08 Richard Sandiford <richard@codesourcery.com>
2692
2693 * config/mips/mips.c (mips_legitimize_tls_address): Implement
2694 all TLS models in the same way as local exec if !TARGET_ABICALLS.
2695 Remove stray newline.
2696
3ac25120
RS
26972006-10-08 Richard Sandiford <richard@codesourcery.com>
2698
2699 * config/mips/mips.c (mips_classify_symbol): Do not return
2700 SYMBOL_SMALL_DATA if SYMBOL_REF_WEAK.
2701 (mips_in_small_data_p): Tweak comments.
2702
b994ed9b
RS
27032006-10-08 Richard Sandiford <richard@codesourcery.com>
2704
2705 * config/mips/elf.h (HANDLE_PRAGMA_PUSH_POP): Define.
2706
f63645be
KH
27072006-10-07 Kazu Hirata <kazu@codesourcery.com>
2708
2709 * gimplify.c, sched-int.h: Fix comment typos.
2710
73d1943a
KH
2711 * sched-int.h: Fix comment typos.
2712
d7bfd907
MK
27132006-10-06 Maxim Kuvyrkov <mkuvyrkov@ispras.ru>
2714
2715 * sched-int.h (IS_SPECULATION_CHECK_P, IS_SPECULATION_SIMPLE_CHECK_P):
2716 New macros.
2717 * sched-ebb.c (begin_schedule_ready): Use them.
2718 * haifa-sched.c (schedule_insn, move_insn, try_ready,
2719 add_to_speculative_block, create_check_block_twin, speculate_insn,
2720 fix_jump_move, move_block_after_check): Ditto.
2721 * sched-rgn.c (new_ready): Ditto.
2722
7ea84dc4
MK
27232006-10-06 Maxim Kuvyrkov <mkuvyrkov@ispras.ru>
2724
2725 PR rtl-optimization/29128
2726 * sched-int.h (IS_SPECULATION_BRANCHY_CHECK_P): New macro.
2727 * sched-ebb.c (advance_target_bb): Use it to fix condition to
2728 allow interblock movement of speculation checks.
2729
975626a7
ZD
27302006-10-06 Zdenek Dvorak <dvorakz@suse.cz>
2731
2732 PR middle-end/29256
2733 * tree-ssa-loop-ivopts.c (determine_base_object): Handle pointers
2734 casted to integer type.
2735 (get_address_cost): Decrease cost of [symbol + index] addressing modes
2736 if they are significantly more expensive than [reg + index] ones.
2737
c6647507
JJ
27382006-10-06 Jakub Jelinek <jakub@redhat.com>
2739
3ac57120
JJ
2740 PR tree-optimization/29330
2741 * tree-data-ref.c (free_data_ref): Use DR_FREE_ACCESS_FNS macro.
2742 (initialize_data_dependence_relation): Clear DDR_LOOP_NEST pointer
2743 on newly allocated ddrs.
2744 (find_loop_nest_1, find_loop_nest): Change LOOP_NEST to a pointer
2745 to VEC (loop_p, heap) pointer.
2746 (compute_data_dependences_for_loop): Adjust caller.
2747 (free_dependence_relations): Free DDR_LOOP_NEST.
2748
2749 * tree-loop-linear.c (linear_transform_loops): Don't forget to
2750 free DEPENDENCE_RELATIONS and DATAREFS.
2751
c6647507
JJ
2752 PR target/28924
2753 * builtins.c (expand_builtin_sync_operation,
2754 expand_builtin_compare_and_swap, expand_builtin_lock_test_and_set):
2755 Use convert_to_mode to handle promoted arguments.
2756
a192f4ae
R
27572006-10-06 J"orn Rennecke <joern.rennecke@st.com>
2758
2759 * print-tree.c (print_node_brief, print_node): Print sign of Inf.
2760
0a087518
R
27612006-10-06 J"orn Rennecke <joern.rennecke@st.com>
2762
2763 * config/sh/sh.h (LIBGCC2_DOUBLE_TYPE_SIZE): Define.
2764
662e96c5
UB
27652006-10-05 Uros Bizjak <uros@kss-loka.si>
2766
2767 * config/i386/sync.md ("sync_add<mode>", "sync_sub<mode>",
2768 "sync_ior<mode>", "sync_and<mode>", "sync_xor<mode>"):
2769 Use <modeconstraint> instead of "r" as operand 1 constraint.
2770
706c4bb7 27712006-10-06 Olivier Hainque <hainque@adacore.com>
44ef77c1 2772
706c4bb7
OH
2773 * gimplify.c (gimplify_type_sizes) [POINTER_TYPE, REFERENCE_TYPE]:
2774 Don't recurse on the pointed-to type.
2775 * c-decl.c (grokdeclarator) [cdk_pointer]: If we are in a NORMAL or
2776 DECL context, attach an artificial TYPE_DECL to anonymous pointed-to
2777 types with components of variable size.
2778
4d51dc9e
DS
27792006-10-06 Danny Smith <dannysmith@users.sourceforge.net>
2780
2310f1f8 2781 * config/i386/mingw32.h (GOMP_SELF_SPECS): Add -mthreads for openmp.
4d51dc9e 2782
86a0f642
JJ
27832006-10-06 Jakub Jelinek <jakub@redhat.com>
2784
9731a71c
JJ
2785 PR tree-optimization/29290
2786 * tree-loop-linear.c (linear_transform_loops): Bail if loop_nest has
2787 multiple exits.
2788
c1a46941
JJ
2789 PR target/29198
2790 * config/i386/i386.c (legitimize_pic_address): Reject TLS symbols.
2791 * config/i386/predicates.md (local_symbolic_operand): Likewise.
2792
86a0f642
JJ
2793 PR c/29091
2794 * varasm.c (output_constant): If TREE_VECTOR_CST_ELTS chain is shorter than
2795 the number of vector elements fill the rest with zeros.
2796
c671c146
RS
27972006-10-05 Richard Sandiford <richard@codesourcery.com>
2798
2799 * config/mips/mips.c (mips_pass_by_reference): Do not return false
2800 for EABI if type is NULL. Use a size check based on GET_MODE_SIZE
2801 instead.
2802
d4e85050
BS
28032006-10-05 Bernd Schmidt <bernd.schmidt@analog.com>
2804
2805 * config/bfin/bfin.md (subsi3): Lose expander, change previously
2806 unnamed pattern into subsi3. Use correct constraints/predicates.
2807 * config/bfin/bfin.h (CONST_OK_FOR_K): Handle "KN7".
2808 * config/bfin/predicates.md (reg_or_neg7bit_operand_p): New.
2809
7251a8d1
IR
28102006-10-05 Ira Rosen <irar@il.ibm.com>
2811
2812 * doc/loop.texi: Add data references analysis description.
2813
4afc7adf
BM
28142006-10-04 Brooks Moses <bmoses@stanford.edu>
2815
2816 * doc/gcov.texi: Add formatting to "Invoking gcov" section head.
2817
e701a32a
RH
28182006-10-04 Richard Henderson <rth@redhat.com>
2819 Jakub Jelinek <jakub@redhat.com>
2820
2821 * Makefile.in (libgcc.mk, LIBGCC_DEPS): Add emutls.c.
670a1b1f
AP
2822 * builtin-types.def (BT_WORD): Make unsigned.
2823 (BT_FN_VOID_PTR_WORD_WORD_PTR): New.
2824 * builtins.def (BUILT_IN_EMUTLS_GET_ADDRESS): New.
2825 (BUILT_IN_EMUTLS_REGISTER_COMMON): New.
2826 * c-decl.c (grokdeclarator): Don't error if !have_tls.
2827 * c-parser.c (c_parser_omp_threadprivate): Likewise.
e701a32a
RH
2828 * cgraph.c (decide_is_variable_needed): Look at force_output.
2829 Recurse for emulated tls.
2830 * cgraphunit.c (cgraph_varpool_remove_unreferenced_decls): Remove
2831 checks redundant with decide_is_variable_needed.
2832 (cgraph_build_static_cdtor): Do cgraph_varpool_assemble_pending_decls.
670a1b1f
AP
2833 * dwarf2out.c (loc_descriptor_from_tree_1): Don't do anything for
2834 emulated tls.
2835 * expr.c (emutls_var_address): New.
e701a32a
RH
2836 (expand_expr_real_1): Expand emulated tls.
2837 (expand_expr_addr_expr_1): Likewise.
670a1b1f
AP
2838 * libgcc-std.ver: Add __emutls_get_address, __emutls_register_common.
2839 * output.h (emutls_finish): Declare.
2840 * toplev.c (compile_file): Call it.
e701a32a
RH
2841 * tree-ssa-address.c (gen_addr_rtx): Check for const-ness of the
2842 address before wrapping in CONST.
670a1b1f
AP
2843 * varasm.c (emutls_htab, emutls_object_type): New.
2844 (EMUTLS_VAR_PREFIX, EMUTLS_TMPL_PREFIX): New.
e701a32a
RH
2845 (get_emutls_object_name, get_emutls_object_type): New.
2846 (get_emutls_init_templ_addr, emutls_decl): New.
2847 (emutls_common_1, emutls_finish): New.
670a1b1f 2848 (assemble_variable): When emulating tls, swap decls; generate
e701a32a
RH
2849 constructor for the emutls objects.
2850 (do_assemble_alias): When emulating tls, swap decl and target name.
670a1b1f
AP
2851 (default_encode_section_info): Don't add SYMBOL_FLAG_TLS_SHIFT
2852 for emulated tls.
e701a32a 2853 * emutls.c: New file.
670a1b1f
AP
2854 * config/sparc/sol2.h (ASM_DECLARE_OBJECT_NAME): Only emit
2855 tls_object for real tls.
e701a32a 2856
9e826585
ZW
28572006-10-04 Zack Weinberg <zackw@panix.com>
2858
2859 Fix bug in constraint-check generator, reported by Rask Ingemann
2860 Lambertsen:
2861 * genpreds.c (add_constraint): Don't remove anything from the
2862 expression here.
2863 (write_tm_constrs_h): Detect whether "op" argument is used, and
2864 mark it ARG_UNUSED if it isn't.
2865 (write_insn_const_int_ok_for_constraint): Skip the part of the
2866 expression that would test whether "op" (which is not available
2867 here) is a CONST_INT.
2868
1576e2be
RM
28692006-10-04 Ryan Mansfield <rmansfield@qnx.com>
2870
2871 PR c++/28448
2872 * doc/invoke.texi (fdiagnostics-show-option): Fix typos.
2873
ee1d3dc0
GK
28742006-10-03 Geoffrey Keating <geoffk@apple.com>
2875
2876 * config/i386/darwin-libgcc.10.5.ver: Update to symbol list for
2877 current Leopard versions.
2878 * config/rs6000/darwin-libgcc.10.5.ver: Likewise.
2879
baf2c258
KH
28802006-10-03 Kazu Hirata <kazu@codesourcery.com>
2881
2882 * doc/install.texi: Fix typos.
2883
224869d9
EB
28842006-10-03 Eric Botcazou <ebotcazou@libertysurf.fr>
2885
2886 * builtins.c (expand_builtin_return_addr): Deal with FRAME_ADDR_RTX.
2887 * doc/tm.texi (Basic Stack Layout): Document FRAME_ADDR_RTX.
2888 * config/sparc/sparc.h (FRAME_ADDR_RTX): Define.
2889
2834a5fe
JH
28902006-10-02 Jack Howarth <howarth@bromo.med.uc.edu>
2891
2892 * unwind-dw2-fde-darwin.c (getsectdatafromheader_64): Fix first
2893 arg to be struct mach_header_64* instead.
2894
82181741
JJ
28952006-10-02 Jakub Jelinek <jakub@redhat.com>
2896
2897 PR c/29154
2898 * gimplify.c (gimplify_self_mod_expr): Run inner expression's post
2899 side effects after the outer expression's post side effects.
2900
a40776a2
SL
29012006-10-01 Sandra Loosemore <sandra@codesourcery.com>
2902
2903 * tree.h (DECL_FIELD_OFFSET, DECL_FIELD_BIT_OFFSET): Fix
2904 comments to reflect actual behavior and relationship between
2905 DECL_FIELD_OFFSET, DECL_FIELD_BIT_OFFSET, and DECL_OFFSET_ALIGN.
2906
2907 * doc/c-tree.texi (Working with declarations): Fix documentation
2908 of FIELD_DECL likewise.
2909
5f79d643
RM
29102006-10-01 Ryan Mansfield <rmansfield@qnx.com>
2911
2912 PR c/20533
9e826585 2913 * doc/extend.texi: Add used variable attribute description.
5f79d643 2914
7ed322d7
JM
29152006-09-30 Joseph S. Myers <joseph@codesourcery.com>
2916
2917 PR c/24010
2918 * c.opt (Woverride-init): New.
2919 * c-opts.c (c_common_post_options): Default warn_override_init to
2920 extra_warnings.
2921 * c-typeck.c (add_pending_init, output_init_element): Warn for
2922 overriding initializers without side effects.
2923 * doc/invoke.texi (-Woverride-init): Document.
2924 (-Wextra): Update.
2925
2d722423
EB
29262006-09-30 Eric Botcazou <ebotcazou@libertysurf.fr>
2927
2928 PR rtl-optimization/28096
2929 * ifcvt.c (check_cond_move_block): Return FALSE if the source of an
2930 assignment has already been used as a destination earlier in the block.
2931
29322006-09-29 Eric Botcazou <ebotcazou@adacore.com>
4f6c2131
EB
2933
2934 * builtins.c (expand_builtin_setjmp): Delete.
2935 (expand_builtin) <BUILT_IN_SETJMP>: Mark as unreachable.
2936 <BUILT_IN_SETJMP_SETUP>: New case.
2937 <BUILT_IN_SETJMP_DISPATCHER>: Likewise.
2938 <BUILT_IN_SETJMP_RECEIVER>: Likewise.
2939 * builtins.def (BUILT_IN_SETJMP_SETUP): New built-in stub.
2940 (BUILT_IN_SETJMP_DISPATCHER): Likewise.
2941 (BUILT_IN_SETJMP_RECEIVER): Likewise.
2942 * gimple-low.c (struct lower_data): New field calls_builtin_setjmp.
2943 (lower_function_body): Initialize it to false. If it is set to true
2944 at the end of the processing, emit the setjmp dispatcher.
2945 (lower_stmt) <CALL_EXPR>: Invoke lower_builtin_setjmp if the callee
2946 is __builtin_setjmp and set calls_builtin_setjmp to true as well.
2947 <MODIFY_EXPR>: Fall through to above case if there is a CALL_EXPR
2948 on the rhs of the assignment.
2949 (lower_builtin_setjmp): New function.
2950 * tree.c (build_common_builtin_nodes): Build BUILT_IN_SETJMP_SETUP,
2951 BUILT_IN_SETJMP_DISPATCHER and BUILT_IN_SETJMP_RECEIVER nodes.
2952 * tree-cfg.c (make_exit_edges) <CALL_EXPR>: Use specific predicate
2953 to detect calls that can go to non-local labels. Use specific
2954 helper to create the abnormal edges associated with them.
2955 <MODIFY_EXPR>: Likewise.
2956 (make_abnormal_goto_edges): New function extracted from...
2957 (make_goto_expr_edges): ...here. Call it for computed gotos.
2958 (simple_goto_p): Minor tweak.
2959 (tree_can_make_abnormal_goto): New predicate.
2960 (tree_redirect_edge_and_branch): Return zero on all abnormal edges.
2961 (tree_purge_dead_abnormal_call_edges): New function.
2962 * tree-flow.h (tree_can_make_abnormal_goto): Declare.
2963 (tree_purge_dead_abnormal_call_edges): Likewise.
2964 (make_abnormal_goto_edges): Likewise.
2965 * tree-inline.c (expand_call_inline): Simplify statement frobbing.
2966 Purge all dead abnormal edges if the call was in the last statement.
2967 * tree-optimize.c (has_abnormal_outgoing_edge_p): New predicate.
2968 (execute_fixup_cfg): If there are non-local labels in the function,
2969 scan the basic blocks and split them at calls that can go to non-local
2970 labels or add missing abnormal call edges. Write down the CFG in the
2971 dump file.
2972 (pass_fixup_cfg): Remove TODO_dump_func flag.
2973 * unwind-sjlj.c: Poison setjmp.
2974 * doc/install.texi (enable-sjlj-exceptions): Use more general wording.
2975 * doc/tm.texi (DWARF2_UNWIND_INFO): Likewise.
2976 (TARGET_UNWIND_TABLES_DEFAULT): Fix typo.
2977 (DONT_USE_BUILTIN_SETJMP): Document it.
2978
67796c1f
GK
29792006-09-28 Geoffrey Keating <geoffk@apple.com>
2980
2981 PR target/28617
2982 * config/rs6000/rs6000.h [IN_LIBGCC2] (TARGET_POWERPC64): Define
2983 to 1 when __ppc64__ is defined.
2984 * config/rs6000/t-darwin (LIB2FUNCS_EXTRA): Add ppc64-fp.c and
2985 darwin-64.c.
2986 * config/rs6000/ppc64-fp.c: Also compile when __ppc64__ is defined.
2987
811b6bea
SE
29882006-09-28 Steve Ellcey <sje@cup.hp.com>
2989
2990 * config/ia64/t-hpux (LIB2FUNCS_EXTRA): Remove unwind-hpux.c.
2991 * config/ia64/unwind-hpux.c: Delete.
2992
0461b801
EB
29932006-09-28 Eric Botcazou <ebotcazou@adacore.com>
2994
2995 * gimplify.c (gimplify_init_ctor_preeval): Call maybe_with_size_expr
2996 on the element before gimplifying it, instead of punting if it is of
2997 variable size.
2998
01e0ef5a
ZD
29992006-09-28 Zdenek Dvorak <dvorakz@suse.cz>
3000
3001 * doc/loop.texi: New file.
3002 * doc/gccint.texi: Reference loop.texi.
3003 * Makefile.in (loop.texi): Add.
3004
c6c621d4
GK
30052006-09-27 Geoffrey Keating <geoffk@apple.com>
3006
3007 * config/darwin.h (ENABLE_EXECUTE_STACK): New, use getpagesize not
3008 __sysctl.
3009 * config/rs6000/darwin.h (ENABLE_EXECUTE_STACK): Remove.
3010 * config/i386/darwin.h (ENABLE_EXECUTE_STACK): Remove.
3011
d2dfcc07
KK
30122006-09-28 Kaz Kojima <kkojima@gcc.gnu.org>
3013
3014 * config/sh/sh.md (divsi_inv_m0): Remove unused variable.
3015
e48d66a9
SK
30162006-09-27 Steven G. Kargl <kargl@gcc.gnu.org>
3017
3018 * doc/install.texi: Document required versions of GMP and MPFR.
3019
bcf640f7
PB
30202006-09-27 Paul Brook <paul@codesourcery.com>
3021
3022 PR target/29230
3023 * config/arm/arm.md (arith_adjacentmem): Handle large offsets.
3024
63a7a62b
RS
30252006-09-27 Richard Sandiford <richard@codesourcery.com>
3026
3027 * reload1.c (alter_reg): Require the alignment of the stack slot to
3028 be at least reg_max_ref_width bytes.
3029 (scan_paradoxical_subregs): Record the largest width in
3030 reg_max_ref_width.
3031
a70ad3bb
JJ
30322006-09-26 Jakub Jelinek <jakub@redhat.com>
3033
3034 PR middle-end/25261
3035 PR middle-end/28790
3036 * tree-nested.c (struct nesting_info): Added static_chain_added.
3037 (convert_call_expr): Set static_chain_added when adding static
3038 chain. Handle OMP_PARALLEL and OMP_SECTION.
3039
bc49e371
MK
30402006-09-25 Matthias Klose <doko@debian.org>
3041
3042 * doc/invoke.texi: Add missing full stop.
3043
6aa5c6ba
RH
30442006-09-25 Richard Henderson <rth@redhat.com>
3045
3046 * cgraph.c (dump_cgraph_varpool_node): Don't crash if called
3047 before cgraph_function_flags_ready.
3048
b67102ae
ZD
30492006-09-24 Zdenek Dvorak <dvorakz@suse.cz>
3050 Adam Nemet <anemet@caviumnetworks.com>
3051
3052 * tree-ssa-loop-ivopts.c (aff_combination_convert,
3053 determine_common_wider_type): New functions.
3054 (get_computation_aff): Use them to simplify arithmetic between
3055 UBASE and CBASE if they are shortened from the same type.
3056
ab1e659c
KH
30572006-09-24 Kazu Hirata <kazu@codesourcery.com>
3058
3059 PR target/28911
3060 * config/m68k/m68k.md (negsf2, negdf2, negxf2): Use
3061 -2147483647 - 1 instead of 0x80000000.
3062
88a65e64
RE
30632006-09-23 Revital1 Eres <ERES@il.ibm.com>
3064
3065 * flags.h (HONOR_NANS): Fix typo in comment.
3066
895016f6
UB
30672006-09-23 Uros Bizjak <uros@kss-loka.si>
3068
3069 * config/i386/driver-i386.c (host_detect_local_cpu): Add prototype.
3070
fcb99e7b
JJ
30712006-09-23 Jakub Jelinek <jakub@redhat.com>
3072
3073 PR c/28706
3074 PR c/28712
3075 * tree.c (merge_attributes, attribute_list_contained): If both
3076 TREE_VALUEs are TREE_LISTs, use simple_cst_list_equal instead of
3077 simple_cst_equal.
3078 * c-typeck.c (comptypes_internal): Don't consider aggregates
3079 in different TUs as compatible if there one set of attributes is
3080 not a subset of the other type's attributes.
3081 (composite_type): Try harder not to create a new aggregate type.
3082
9281e73d
GK
30832006-09-22 Geoffrey Keating <geoffk@apple.com>
3084
682cd442
GK
3085 * config/i386/driver-i386.c: Always define host_detect_local_cpu.
3086 * config/i386/i386.h: Define EXTRA_SPEC_FUNCTIONS on any i386
3087 or x86_64 host. Define HAVE_LOCAL_CPU_DETECT.
3088 (CC1_CPU_SPEC): Make conditional on HAVE_LOCAL_CPU_DETECT rather
3089 than replicating condition above.
3090 * config.host (i[34567]86-*-*): Always use driver-i386.o.
3091
9281e73d
GK
3092 * config/darwin.h (LINK_SYSROOT_SPEC): New.
3093 (LINK_SPEC): If TARGET_SYSTEM_ROOT is defined, pass it to
3094 the linker by default.
3095
d1ea7616
MS
30962006-09-22 Mike Stump <mrs@apple.com>
3097
3098 * config/rs6000/darwin.h (PROFILE_HOOK): Reassociate comment with
3099 code.
3100
79f802f5
RG
31012006-09-22 Richard Guenther <rguenther@suse.de>
3102
3103 PR middle-end/28964
3104 * cfgexpand.c (stack_var_size_cmp): Use DECL_UID to make
3105 sort of stack variables stable.
3106
2319ffbb
PB
31072006-09-22 Peter Bergner <bergner@vnet.ibm.com>
3108
3109 PR middle-end/28690
3110 * explow.c (force_reg): Set REG_POINTER flag according to
3111 MEM_POINTER flag.
3112
36b24193
ZD
31132006-09-22 Zdenek Dvorak <dvorakz@suse.cz>
3114
3115 PR tree-optimization/28888
3116 * tree-if-conv.c (combine_blocks): Rewritten.
3117 * tree-cfg.c (tree_verify_flow_info): Check that edges with
3118 EDGE_TRUE/FALSE_VALUE follow COND_EXPR.
3119
37358746
JJ
31202006-09-22 Jakub Jelinek <jakub@redhat.com>
3121
3122 * tree-ssa-propagate.c (set_rhs): Copy EXPR_LOCATION if
3123 needed.
3124
2801ed8e
RS
31252006-09-21 Richard Sandiford <richard@codesourcery.com>
3126
3127 * varasm.c (copy_constant): Fix reversed gcc_assert check.
3128
6750b31e
JJ
31292006-09-21 Janis Johnson <janis187@us.ibm.com>
3130
3131 * ginclude/decfloat.h (DEC*_DEN): Define using the correct builtins.
3132
72478f32
RS
31332006-09-21 Roger Sayle <roger@eyesopen.com>
3134
3135 PR debug/29132
3136 * dwarf2out.c (dwarf2out_begin_prologue): Initialise the current label,
3137 dw_fde_current_label, to be the start of the function, i.e. the same
3138 value as dw_fde_begin.
3139
1bded8e1
RS
31402006-09-20 Richard Sandiford <richard@codesourcery.com>
3141
3142 * config/mips/mips.c (CODE_FOR_mips_abs_ps): Delete.
3143 * config/mips/mips.md (UNSPEC_ABS_PS): New constant.
3144 (UNSPEC_RSQRT1, UNSPEC_RSQRT2, UNSPEC_RECIP1, UNSPEC_RECIP2)
3145 (UNSPEC_SINGLE_CC, UNSPEC_SCC): Bump values by 1.
3146 (*nmadd<mode>, *nmadd<mode>_fastmath): Require !HONOR_NANS.
3147 (*nmsub<mode>, *nmsub<mode>_fastmath): Likewise.
3148 (abs<mode>2, neg<mode>2): Likewise.
3149 * config/mips/mips-ps-3d.md (mips_abs_ps): New define_expand.
3150 (*mips_abs_ps): New define_insn.
3151
1186ec8c
JC
31522006-09-20 Josh Conner <jconner@apple.com>
3153
3154 PR middle-end/25505
3155 * calls.c (expand_call): Allow reuse of structure return stack
3156 temp.
3157
d0cd71a0
PB
31582006-09-20 Paul Brook <paul@codesourcery.com>
3159
d0cd71a0
PB
3160 * config/arm/unwind-arm.c (selfrel_offset31): Clear top bit for
3161 positive offsets.
3162
85a92f7e
JJ
31632006-09-20 Janis Johnson <janis187@us.ibm.com>
3164
3165 * doc/extend.texi (Decimal Float): Update for latest draft TR,
3166 clean up terminology.
3167
4e60515f
SE
31682006-09-20 Steve Ellcey <sje@cup.hp.com>
3169
3170 PR target/28574
3171 * ifcvt.c (dead_or_predicable): Don't predicate then blocks
3172 with tablejumps in them.
3173
66bb4f32
JJ
31742006-09-20 Jakub Jelinek <jakub@redhat.com>
3175
3176 PR middle-end/28046
3177 * c-omp.c (c_finish_omp_atomic): If ADDR is not simple enough,
3178 wrap it into TARGET_EXPR.
3179
1e993cb8
EC
31802006-09-20 Eric Christopher <echristo@apple.com>
3181
3182 * config/i386/i386.c (x86_fisttp): Remove.
3183 * config/i386/i386.h (x86_fisttp): Ditto.
3184 (TARGET_FISTTP): Ditto.
3185
64ee9490
EC
31862006-09-19 Eric Christopher <echristo@apple.com>
3187
3188 * doc/tm.texi (OBJC_JBLEN): Describe.
3189 * config/i386/darwin.h (OBJC_JBLEN): Define.
3190 * config/rs6000/darwin.h: Ditto.
3191
d63e1389
SB
31922006-09-19 Steven Bosscher <steven@gcc.gnu.org>
3193
3194 PR rtl-optimization/21299
3195 * reload1.c (reload): Purge invalid ASMs in the final pass.
3196
7ab62966
SE
31972006-09-19 Steve Ellcey <sje@cup.hp.com>
3198
3199 PR 28490
3200 * config/ia64/ia64.c (ia64_legitimate_constant_p): Allow function
3201 pointers as legitimate constants.
3202
758ed9b2
PB
32032006-09-19 Paul Brook <paul@codesourcery.com>
3204
3205 PR target/28516
3206 * config/arm/arm.c (arm_unwind_emit_set): Handle reg = sp + const.
3207
aac8b8ed
RS
32082006-09-17 Zdenek Dvorak <dvorakz@suse.cz>
3209
3210 PR tree-optimization/28887
3211 * tree-ssa-loop-prefetch.c (analyze_ref): Strip nonaddressable
3212 component parts from the reference.
3213 (gather_memory_references_ref): Record the reference without the
3214 nonaddressable component parts.
3215
69723be2
SB
32162006-09-17 Steven Bosscher <steven@gcc.gnu.org>
3217
3218 PR c/25993
3219 * c-opts.c (c_common_handle_option): Ignore the -std options
3220 if the input language is assembly.
3221
7a7d3804
IR
32222006-09-17 Ira Rosen <irar@il.ibm.com>
3223
b5387733 3224 PR tree-opt/21591
7a7d3804 3225 * tree-data-ref.c (ptr_decl_may_alias_p): Look for the name memory
b5387733
AP
3226 tag first.
3227 (ptr_ptr_may_alias_p): Likewise.
3228 (record_record_differ_p): New function.
3229 (base_object_differ_p): Call record_record_differ_p.
7a7d3804 3230
a9fdb86b
AP
32312006-09-16 Andrew Pinski <pinskia@physics.uc.edu>
3232
3233 PR tree-opt/29059
3234 * tree-ssa-propagate.c (set_rhs): Reject MODIFY_EXPR right
3235 away for the expr argument.
3236
0c5e4273
SB
32372006-09-16 Steven Bosscher <steven@gcc.gnu.org>
3238
a9fdb86b 3239 PR tree-opt/27742
0c5e4273
SB
3240 * tree-vectorizer.c (vectorize_loops): Clear vect_loop_location
3241 before using it for dumping after vectorizing loops.
3242
a9fdb86b
AP
32432006-09-16 Andrew Pinski <pinskia@physics.uc.edu>
3244 Jack Howarth <howarth@bromo.med.uc.edu>
70fb00df
AP
3245
3246 PR target/29030
3247 * config/rs6000/rs6000.c (rs6000_darwin64_record_arg_advance_recurse)
3248 skip on error_mark_node.
3249 (rs6000_darwin64_record_arg_recurse): Likewise.
3250
1049f475
SB
32512006-09-16 Steven Bosscher <steven@gcc.gnu.org>
3252
3253 * rtl.h (LABEL_OUTSIDE_LOOP_P): Remove.
3254 * doc/rtl.texi: Remove related documentation.
3255
405f0587
BS
32562006-09-16 Bernd Schmidt <bernd.schmidt@analog.com>
3257
3258 * loop-doloop.c (doloop_optimize): Remove bogus arg from debugging
3259 printf.
3260
d0970db2
JW
32612006-09-15 Jim Wilson <wilson@specifix.com>
3262
3263 * config/ia64/ia64.c (ia64_legitimate_constant_p, cast CONST):
3264 Handle symbol offsets same as they are handled in ia64_expand_move
3265 and move_operand.
3266
7607bdda
AT
32672006-09-16 Andreas Tobler <a.tobler@schweiz.org>
3268
3269 * loop-doloop.c (doloop_optimize): Change type of max_cost to int.
3270 Add forgotten parameter to the fprintf call.
3271
7ee51a34
SE
32722006-09-15 Steve Ellcey <sje@cup.hp.com>
3273
3274 * config/ia64/hpux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Add define.
3275
615d37d2
UB
32762006-09-15 Uros Bizjak <uros@kss-loka.si>
3277
3278 * doc/contrib.texi: Add my entry.
3279
a71b1c58
NC
32802006-09-15 Nick Clifton <nickc@redhat.com>
3281
3282 * doc/md.texi (Processor pipeline description): Fix typo in
3283 example of how to use the absence_set directive and reword the
3284 description to make it slightly easier to read.
3285
405f0587 32862006-09-15 Bernd Schmidt <bernd.schmidt@analog.com>
45b9a14b
BS
3287
3288 * params.def (PARAM_MAX_ITERATIONS_COMPUTATION_COST): New.
3289 * loop-doloop.c (doloop_optimize): Use it to limit costs of
3290 expanding the number of iterations.
61066abf 3291 * config/bfin/bfin.c (bfin_rtx_costs): Handle UDIV, UMOD.
45b9a14b 3292
11b904a1
BS
3293 * cfgrtl.c (emit_insn_at_entry): New function.
3294 * rtl.h (emit_insn_at_entry): Declare it.
3295 * integrate.c (emit_initial_value_sets): Use it.
3296
5419bc7f
BS
3297 * cfgrtl.c (emit_insn_at_entry): Use gcc_assert, not abort.
3298
e54273eb
BS
3299 * config/bfin/bfin.c (struct loop_info): New members block_bitmap and
3300 bad.
3301 (struct loop_work and related VEC declarations): Delete.
3302 (bfin_dump_loops): Print out new member bad.
3303 (bfin_bb_in_loop): Use plain bitmap test. Don't recurse.
3304 (bfin_scan_loop): Don't recurse.
3305 (bfin_optimize_loop): Don't use a loop depth of -1 to indicate bad
3306 loops. No longer need to update outer loops if the current one is
3307 found bad. Move some validitiy checks to bfin_discover_loop.
3308 (bfin_discover_loop): New function, mostly split from bfin_reorg_loops,
3309 but changed not to check for nesting. Also changed to use the new bad
3310 flag.
3311 (bfin_reorg_loops): Use bfin_discover_loop to find single loops one at a
3312 time. Use bitmap based test to discover loop nesting.
3313
0b35aac2
KH
33142006-09-15 Kazu Hirata <kazu@codesourcery.com>
3315
3316 * doc/tm.texi (TARGET_FUNCTION_VALUE): Put @deftypefn all in
3317 one line.
3318
1b03c58a
RG
33192006-09-14 Richard Guenther <rguenther@suse.de>
3320 Kazu Hirata <kazu@codesourcery.com>
3321
3322 PR middle-end/28884.
3323 * doc/tm.texi (TARGET_FUNCTION_VALUE): Document.
3324 (FUNCTION_VALUE, FUNCTION_OUTGOING_VALUE): Deprecate.
3325 Replace mentions of FUNCTION_VALUE and FUNCTION_OUTGOING_VALUE
3326 with TARGET_FUNCTION_VALUE.
3327
e8d0d6d2
AS
33282006-09-14 Anatoly Sokolov <aesok@post.ru>
3329
3330 PR target/26504
3331 * config/avr/avr.h (FRAME_POINTER_CFA_OFFSET): Define.
3332
f5efb27f
AH
33332006-09-13 Aldy Hernandez <aldyh@redhat.com>
3334
b5387733
AP
3335 * doc/tree-ssa.texi (Jumps): RESULT_DECL can also be an operand
3336 of a RETURN_EXPR
f5efb27f 3337
3c3f1a6f
AP
33382006-09-13 Andrew Pinski <pinskia@physics.uc.edu>
3339
3340 PR debug/28980
3341 * dwarf2out.c (loc_descriptor_from_tree_1): Handle
3342 FUNCTION_DECL.
3343
f66fd328
AK
33442006-09-13 Andreas Krebbel <krebbel1@de.ibm.com>
3345
3346 * basic_block.h (bb_has_eh_pred): Fix comment.
3347
fcc42bca
AK
33482006-09-13 Andreas Krebbel <krebbel1@de.ibm.com>
3349
3350 * flow.c (calculate_global_regs_live): Invalidate eh registers
3351 on eh edges. Renamed invalidated_by_call to invalidated_by_eh_edge.
3352 (propagate_block): Handle eh registers as if they were set at basic
3353 block start.
3354 * except.c (dw2_build_landing_pads): Don't emit clobbers for eh
3355 registers.
3356 * global.c (global_conflicts): Make eh registers to conflict with
3357 pseudos live at basic block begin.
3358 * basic_block.h (bb_has_eh_pred): New function.
3359
4b7b277a
RS
33602006-09-13 Richard Sandiford <richard@codesourcery.com>
3361
3362 PR rtl-optimization/28982
3363 * reload.c (find_reloads_address_1): Use RELOAD_OTHER for the
3364 index of a PRE_MODIFY or POST_MODIFY address.
3365 * reload1.c (inc_for_reload): Use find_replacement on the original
3366 base and index registers.
3367
04df96dd
L
33682006-09-12 H.J. Lu <hongjiu.lu@intel.com>
3369
3370 * doc/invoke.texi (mpreferred-stack-boundary): Remove exception
3371 for -Os. Update __m128 alignment requirement.
3372
26eeea94
JH
33732006-09-13 Jan Hubicka <jh@suse.cz>
3374
3375 * cfganal.c (compute_dominance_frontiers_1): Don't be quadratic.
3376
7e721950
EB
33772006-09-12 Eric Botcazou <ebotcazou@libertysurf.fr>
3378
3379 PR rtl-optimization/28243
3380 * combine.c (distribute_notes) <REG_DEAD>: Do not consider SETs past
3381 the insn to which the note was originally attached.
3382
66cccea6
AP
33832006-09-12 Andrew Pinski <pinskia@physics.uc.edu>
3384 Roger Sayle <roger@eyesopen.com>
3385
3386 * dwarf2out.c (file_table_last_lookup): Move this GC'd declaration
3387 outside of #ifdef DWARF2_DEBUGGING_INFO to fix bootstrap failure
3388 on platforms that don't use dwarf for debug info.
3389
f0119413
JM
33902006-09-12 Jason Merrill <jason@redhat.com>
3391
3392 PR middle-end/28493
3393 * builtins.c (expand_builtin_setjmp_receiver): Clobber
3394 hard_frame_pointer_rtx after using it to update the frame pointer.
3395
fb8cbd3c
RS
33962006-09-12 Roger Sayle <roger@eyesopen.com>
3397
3398 * target-def.h (TARGET_ASM_OPEN_PAREN): Guard with an #ifndef.
3399 (TARGET_ASM_CLOSE_PAREN): Likewise.
3400 * config/alpha/osf5.h (TARGET_ASM_OPEN_PAREN): Define.
3401 (TARGET_ASM_CLOSE_PAREN): Likewise.
3402
b598cb38
RS
34032006-09-12 Roger Sayle <roger@eyesopen.com>
3404
3405 PR target/22223
3406 * config/alpha/alpha.c (alpha_start_function): Don't emit stack
3407 frame information for frames larger than 512 Kbytes on Tru64 when
3408 using the native assembler.
3409
4c6669c2
RS
34102006-09-12 Roger Sayle <roger@eyesopen.com>
3411
3412 PR middle-end/4520
3413 PR bootstrap/28784
3414 * cselib.c (cselib_hash_rtx): Avoid hashing on the address of labels
3415 and symbols. Instead use the implementation from cse.c's hash_rtx.
3416
93c094b5
JH
34172006-09-12 Jan Hubicka <jh@suse.cz>
3418
3419 PR rtl-optimization/28071
3420 * tree-vect-transform.c (vect_create_data_ref_ptr): Kill cast.
3421 (vect_transform_loop): Likewise.
3422 * tree-vectorizer.c (new_loop_vec_info): Likewise.
3423 (new_loop_vec_info): Likewise.
3424 (destroy_loop_vec_info): Likewise.
3425 * tree-dfa.c (create_var_ann): Use GCC_CNEW.
3426 (create_stmt_ann): Likewise.
3427 (create_tree_ann): Rename to ...
3428 (create_tree_common_ann): ... this one; allocate only the common part
3429 of annotations.
3430 * tree-vn.c (set_value_handle): Use get_tree_common_ann.
3431 (get_value_handle): Likewise.
3432 * tree-ssa-pre.c (phi_translate): Delay annotation allocation for
3433 get_tree_common_ann.
3434 * tree-vectorizer.h (set_stmt_info): Take stmt annotation.
3435 (vinfo_for_stmt): Use stmt annotations.
3436 * tree-flow.h (tree_ann_common_t): New type.
3437 (tree_common_ann, get_tree_common_ann, create_tree_common_ann): New.
3438 (tree_ann, get_tree_ann, create_tree_ann): New.
3439 * tree-flow-inline.h (get_function_ann): Do more type checking.
3440 (stmt_ann): Likewise.
3441 (tree_ann): Rename to ...
3442 (tree_common_ann): ... this one; return ony common_ann
3443 (get_tree_ann): Rename to ...
3444 (tree_common_ann): This one; return only common_ann.
3445 * tree-vect-patterns.c (vect_pattern_recog_1): Update call
3446 of set_stmt_info.
3447
d5688810
GK
34482006-09-11 Geoffrey Keating <geoffk@apple.com>
3449
703706d7
GK
3450 * config.gcc (i[34567]86-*-darwin*): Set with_arch and
3451 with_cpu by default.
3452
d5688810
GK
3453 * dwarf2out.c (dwarf_file_data): New.
3454 (enum dw_val_class): Add dw_val_class_file.
3455 (struct dw_val_struct): Add val_file.
3456 (file_table): Change to a hash table.
3457 (file_table_emitted): Delete.
3458 (file_table_last_lookup_index): Delete.
3459 (emitcount): Delete.
3460 (last_emitted_file): New.
3461 (lookup_filename): Change prototype to return a struct dwarf_file_data.
3462 (init_file_table): Delete.
3463 (maybe_emit_file): Change prototype to take a struct dwarf_file_data.
3464 (AT_addr): Add comment.
3465 (add_AT_file): New.
3466 (AT_file): New.
3467 (get_AT_file): New.
3468 (print_die): Handle dw_val_class_file.
3469 (print_dwarf_line_table): Update for new file table structure.
3470 (attr_checksum): Do checksum a filename.
3471 (same_dw_val_p, same_attr_p): Do compare a filename.
3472 (size_of_die): Handle dw_val_class_file.
3473 (value_format): Likewise.
3474 (output_die): Likewise. Also, call maybe_emit_file here.
3475 (struct file_info): Constify filenames. Make file_idx a pointer
3476 to a struct dwarf_file_data.
3477 (struct dir_info): Constify directory names. Remove 'used' field.
3478 (struct file_name_acquire_data): New.
3479 (file_name_acquire): New.
3480 (output_file_names): Modify to handle new file data structures.
3481 (add_src_coords_attributes): Use add_AT_file.
3482 (add_call_src_coords_attributes): Likewise.
3483 (dwarf2out_imported_module_or_decl): Likewise.
3484 (gen_subprogram_die): Modify for new file data structures.
3485 (gen_variable_die): Likewise.
3486 (file_table_eq): New.
3487 (file_table_hash): New.
3488 (file_table_last_lookup): New.
3489 (lookup_filename): Rewrite to handle new file data structures.
3490 (maybe_emit_file): Rewrite to handle new file data structures.
3491 (dwarf2out_source_line): Always call lookup_filename and
3492 maybe_emit_file.
3493 (dwarf2out_init): Create file_table here.
3494 (prune_unused_types_walk_attribs): Don't call maybe_emit_file here.
3495 (file_table_relative_p): New.
3496 (dwarf2out_finish): Change detection of relative filenames
3497 to work with new file data structures. Move output_line_info call
3498 after debug_info output.
3499
1395ea39
L
35002006-09-11 H.J. Lu <hongjiu.lu@intel.com>
3501
3502 PR target/13685
3503 PR target/27537
3504 PR target/28621
3505 * config/i386/i386.c (override_options): Always default to 16
3506 byte stack boundary.
3507
d3067303
AO
35082006-09-11 Alexandre Oliva <aoliva@redhat.com>
3509
3510 PR target/28672
3511 * var-tracking.c (dump_dataflow_set): Start dumping at
3512 register zero.
3513 (clobber_variable_part): Kill only the variable part in
3514 registers holding it, leaving other variables alone.
3515
b7886f14
JT
35162006-09-11 Josh Triplett <josh@freedesktop.org>
3517
3518 * doc/extend.texi (Other Builtins): Actually use the macro
3519 argument in the documentation example for
3520 __builtin_types_compatible_p.
3521
2e9182fd
EB
35222006-09-11 Eric Botcazou <ebotcazou@libertysurf.fr>
3523
3524 PR rtl-optimization/28726
3525 * sched-deps.c (sched_analyze_reg): New function extracted from...
3526 (sched_analyze_1): ...here. Call it to analyze references to
3527 registers. Treat again writes to a stack register as writing to the
3528 register.
3529 (sched_analyze_2): ...and here. Call it to analyze references to
3530 registers. Treat again reads of a stack register as reading the
3531 register.
3532
d2952008
GR
35332006-09-11 Guenter Roeck <guenter@roeck-us.net>
3534 David Edelsohn <edelsohn@gnu.org>
3535
3536 PR target/27287
3537 * config/rs6000/spe.md (frob_df_di): Remove %H.
3538 (frob_di_df): Remove %H. Change evmergelo to mr.
3539 (frob_di_df_2): Remove %H. Change evldd to two loads.
3540
0c387be3
HI
35412006-09-11 Hideki Iwamoto <h-iwamoto@kit.hi-ho.ne.jp>
3542
3543 * doc/cpp.texi: Fix names of charset options.
3544
748dc0c9
AP
35452006-09-10 Andrew Pinski <pinskia@physics.uc.edu>
3546
3547 PR target/29009
3548 * config/i386/i386.c (override_options): Use 128-bit
3549 stack boundary always for 64bits.
3550
de097a3b
EB
35512006-09-10 Eric Botcazou <ebotcazou@libertysurf.fr>
3552
3553 PR rtl-optimization/28636
3554 * combine.c (force_to_mode): Test for side-effects before
3555 substituting by zero.
3556 (simplify_shift_const): Likewise for zero or other constants.
3557
4fe337f6
SB
35582006-09-10 Steven Bosscher <steven@gcc.gnu.org>
3559
3560 PR middle-end/26983
3561 * builtins.c (expand_builtin_setjmp): Force next_lab to be
3562 preserved.
3563
9226543b
RS
35642006-09-10 Richard Sandiford <richard@codesourcery.com>
3565
3566 PR target/29006
3567 * config/mips/mips-protos.h (mips_mem_fits_mode_p): Declare.
3568 * config/mips/mips.c (mips_expand_unaligned_store): Use the mode
3569 returned by mode_for_size, rather than the mode of src itself,
3570 to choose between 32-bit and 64-bit patterns.
3571 (mips_mem_fits_mode_p): New function.
3572 * config/mips/mips.md (mov_<load>l, mov_<load>r): Use it to check
3573 that the size of the source matches the size of the destination.
3574 (mov_<store>l, mov_<store>r): Likewise.
3575
ca6f2eef
EC
35762006-09-10 Eric Christopher <echristo@apple.com>
3577
3578 * config/darwin.c (machopic_select_rtx_section): Add CONST_VECTOR
3579 for literal16.
3580
1be1e2dd
EC
35812006-09-09 Eric Christopher <echristo@apple.com>
3582
3583 PR target/28995
3584 * config/darwin.c (machopic_select_rtx_section): Add TARGET_64BIT
3585 for literal16.
3586
66cc7362
RS
35872006-09-09 Roger Sayle <roger@eyesopen.com>
3588 Nicolas Setton <setton@adacore.com>
3589
3590 * dwarf2out.c (convert_cfa_to_fb_loc_list): Handle DW_CFA_set_loc.
3591
7a34bba9
AS
35922006-09-10 Andreas Schwab <schwab@suse.de>
3593
3594 * config/m68k/m68k.md (bungt_rev): New pattern.
3595
8b649f3f
PB
35962006-09-09 Paolo Bonzini <bonzini@gnu.org>
3597 Dale Johannesen <dalej@apple.com>
3598
3599 PR target/26778
3600 * regclass.c (struct reg_pref): Update documentation.
3601 (regclass): Set prefclass to NO_REGS if memory is the best option.
3602 (record_reg_classes): Cope with a prefclass set to NO_REGS.
3603
f7288899
EC
36042006-09-08 Eric Christopher <echristo@apple.com>
3605
3606 * config.gcc (i?86-*-darwin): Add 64-bit HWI support.
3607 * config/t-slibgcc-darwin: Support x86_64 multilib.
3608 * config/i386/i386.h (JUMP_TABLES_IN_TEXT_SECTION):
3609 Return 1 for x86_64-darwin.
3610 * config/i386/t-darwin: Add m64 multilib.
3611 (LIB2_SIDITI_CONV_FUNCS): Use.
3612 (LIB2FUNCS_EXTRA): Ditto.
3613 * config/i386/darwin.h: Support x86_64.
3614 * config/i386/i386.c (override_options): Turn on flag_pic
3615 for x86_64-darwin. Disable flag_omit_pointer.
3616 (get_pc_thunk_name): Assert !TARGET_64BIT.
3617 (legitimate_address_p): Disable machopic addressing for
3618 x86_64.
3619 (legitimize_pic_address): Ditto.
3620 (ix86_expand_move): Ditto.
3621 (ix86_expand_call): Ditto.
3622 (machopic_output_stub): Ditto.
3623 * config/darwin.c (machopic_select_section): Support literal16.
3624 (machopic_select_rtx_section): Ditto.
3625 * config/darwin-sections.def: Ditto.
3626 * config/darwin-64.c: New.
3627
3542a5c0
JM
36282006-09-08 Joseph S. Myers <joseph@codesourcery.com>
3629
3630 PR c/28504
3631 * c-tree.h (struct c_arg_info): Add pending_sizes.
3632 * c-parser.c (c_parser_parms_declarator,
3633 c_parser_parms_list_declarator): Initialize pending_sizes.
3634 * c-decl.c (get_parm_info): Initialize pending_sizes.
3635 (get_parm_info): Set pending_sizes.
3636 (grokdeclarator): Call put_pending_sizes for parameters for
3637 function definition only.
3638
d0655f33
JM
36392006-09-07 Jason Merrill <jason@redhat.com>
3640
df20ea24
JM
3641 PR middle-end/27724
3642 * varasm.c (output_constant): Only strip actual no-op conversions.
3643
d0655f33
JM
3644 PR target/13685
3645 * config/i386/i386.c (override_options): Use 128-bit
3646 stack boundary if -msse.
3647
2e71a7a3
EC
36482006-09-07 Eric Christopher <echristo@apple.com>
3649
3650 * config/darwin.h (MACHO_SYMBOL_FLAG_VARIABLE): Update
3651 comment.
3652 * config/i386/darwin.h (MACHO_SYMBOL_FLAG_VARIABLE):
3653 Redefine.
3654
10b01bca
GK
36552006-09-07 Geoffrey Keating <geoffk@apple.com>
3656
3657 * dwarf2out.c: Remove strange characters from comment above
3658 dwarf2out_frame_debug_expr.
3659
05d36da1
EC
36602006-09-07 Eric Christopher <echristo@apple.com>
3661
3662 * config/rs6000/darwin.h (HANDLE_SYSV_PRAGMA): Move from here...
3663 * config/darwin.h: ... to here.
3664
995cc369
L
36652006-09-07 H.J. Lu <hongjiu.lu@intel.com>
3666
3667 * config/i386/i386.c (x86_partial_flag_reg_stall): New.
3668
3669 * config/i386/i386.h (x86_partial_flag_reg_stall): New.
3670 (TARGET_PARTIAL_FLAG_REG_STALL): New.
3671
3672 * config/i386/i386.md (*ashldi3_cmp_rex64): Disabled for
3673 TARGET_PARTIAL_FLAG_REG_STALL.
3674 (*ashldi3_cconly_rex64): Likewise.
3675 (*ashlsi3_cmp): Likewise.
3676 (*ashlsi3_cconly): Likewise.
3677 (*ashlsi3_cmp_zext): Likewise.
3678 (*ashlhi3_cmp): Likewise.
3679 (*ashlhi3_cconly): Likewise.
3680 (*ashlqi3_cmp): Likewise.
3681 (*ashlqi3_cconly): Likewise.
3682 (*ashrdi3_cmp_rex64): Likewise.
3683 (*ashrdi3_cconly_rex64): Likewise.
3684 (*ashrsi3_cmp): Likewise.
3685 (*ashrsi3_cconly): Likewise.
3686 (*ashrsi3_cmp_zext): Likewise.
3687 (*ashrhi3_cmp): Likewise.
3688 (*ashrhi3_cconly): Likewise.
3689 (*ashrqi3_cmp): Likewise.
3690 (*ashrqi3_cconly): Likewise.
3691 (*lshrdi3_cmp_rex64): Likewise.
3692 (*lshrdi3_cconly_rex64): Likewise.
3693 (*lshrsi3_cmp): Likewise.
3694 (*lshrsi3_cconly): Likewise.
3695 (*lshrsi3_cmp_zext): Likewise.
3696 (*lshrhi3_cmp): Likewise.
3697 (*lshrhi3_cconly): Likewise.
3698 (*lshrqi2_cmp): Likewise.
3699 (*lshrqi2_cconly): Likewise.
3700
f42684d5
UB
37012006-09-07 Uros Bizjak <uros@kss-loka.si>
3702
3703 PR target/28946
3704 * config/i386/i386.md ("*ashldi3_cconly_rex64", "*ashlsi3_cconly",
3705 "*ashlhi3_cconly", "*ashlqi3_cconly", "*ashrdi3_one_bit_cconly_rex64",
3706 "*ashrdi3_cconly_rex64", "*ashrsi3_one_bit_cconly", "*ashrsi3_cconly",
3707 "*ashrhi3_one_bit_cconly", "*ashrhi3_cconly",
3708 "*ashrqi3_one_bit_cconly", "*ashrqi3_cconly",
3709 "*lshrdi3_cconly_one_bit_rex64", "*lshrdi3_cconly_rex64",
3710 "*lshrsi3_one_bit_cconly", "*lshrsi3_cconly",
3711 "*lshrhi3_one_bit_cconly", "*lshrhi3_cconly",
3712 "*lshrqi2_one_bit_cconly", "*lshrqi2_cconly": New patterns to
3713 implement only CC setting effects of shift instructions.
3714
c3876226
MM
37152006-09-07 Martin Michlmayr <tbm@cyrius.com>
3716
3717 * doc/contrib.texi: Add myself.
3718
c9eee440
AP
37192006-09-07 Andrew Pinski <pinskia@physics.uc.edu>
3720
3721 PR middle-end/28862
3722 * stor-layout.c (relayout_decl): Don't zero the alignment if it
3723 was set by the user.
3724
62bf45a5
PB
37252006-09-07 Paolo Bonzini <bonzini@gnu.org>
3726
3727 PR target/27117
3728 * config/sh/sh.md (divsi_inv_qitable, divsi_inv_hitable): New patterns.
3729 (divsi_inv_m1): Use them.
3730 (UNSPEC_DIV_INV_TABLE): New constant.
3731
b5b84a7f
AP
37322006-09-06 James E Wilson <wilson@specifix.com>
3733
3734 PR rtl-opt/27883
3735 * flow.c (update_life_info): If UPDATE_LIFE_LOCAL and PROP_DEATH_NOTES
3736 then call count_or_remove_death_notes.
3737
c08cd4c1
JM
37382006-09-06 Jason Merrill <jason@redhat.com>
3739
3740 PR c++/27371
3741 * tree-inline.c (copy_result_decl_to_var): New fn.
3742 (declare_return_variable): Use it. Call declare_inline_vars here.
3743 (expand_call_inline): Not here.
3744
1b65e501
DN
37452006-09-06 Diego Novillo <dnovillo@redhat.com>
3746
3747 * doc/contrib.texi: Update my entry.
3748
7034d31b
NC
37492006-09-06 Nick Clifton <nickc@redhat.com>
3750
3751 * config/frv/frv.h (EXTRA_MEMORY_CONSTRAINT): Define.
3752
c7f965b6
AP
37532006-09-05 Andrew Pinski <pinskia@physics.uc.edu>
3754
3755 PR tree-opt/28937
3756 * tree-flow.h (tree_ssa_unswitch_loops): Return unsigned int.
3757 (canonicalize_induction_variables): Likewise.
3758 (tree_unroll_loops_completely): Likewise.
3759 (tree_ssa_prefetch_arrays): Likewise.
3760 (remove_empty_loops): Likewise.
3761 * tree-ssa-loop-unswitch.c (tree_ssa_unswitch_loops): Return
3762 TODO_cleanup_cfg instead of directly calling
3763 cleanup_tree_cfg_loop.
3764 * tree-ssa-loop-ivcanon.c (canonicalize_induction_variables):
3765 Likewise.
3766 (tree_unroll_loops_completely): Likewise.
3767 (remove_empty_loops): Likewise.
3768 * tree-ssa-loop-prefetch.c (tree_ssa_prefetch_arrays): Likewise.
3769 * tree-ssa-loop.c (tree_ssa_loop_unswitch): Use the return value
3770 of tree_ssa_unswitch_loops.
3771 (tree_ssa_loop_ivcanon): Use the return value of
3772 canonicalize_induction_variables.
3773 (tree_ssa_empty_loop): Use the return value of
3774 remove_empty_loops.
3775 (tree_complete_unroll): Use the return value of
3776 tree_unroll_loops_completely.
3777 (tree_ssa_loop_prefetch): Use the return value of
3778 tree_ssa_prefetch_arrays.
3779 * passes.c (execute_todo): Before Cleanup CFG, set
3780 updating_used_alone and after cleanup CFG, call
3781 recalculate_used_alone.
3782
10b96810
AP
37832006-09-05 Andrew Pinski <pinskia@physics.uc.edu>
3784
3785 PR tree-opt/28952
3786 * tree-vect-transform.c (vectorizable_condition): Move the check
3787 for the type after the check for simple condition.
3788
650a59ef
R
37892006-09-05 J"orn Rennecke <joern.rennecke@st.com>
3790 Kaz Kojima <kkojima@gcc.gnu.org>
3791
3792 PR target/28764
3793 * mode-switching.c (optimize_mode_switching): Make the destination
3794 block of an abnormal edge have no anticipatable mode. Don't
3795 insert mode switching code at the end of the source block of
3796 an abnormal edge.
3797
d26cef13
PB
37982006-09-05 Paolo Bonzini <bonzini@gnu.org>
3799
3800 PR rtl-optimization/26847
3801 * simplify-rtx.c (struct simplify_plus_minus_op_data): Remove ix.
3802 (simplify_plus_minus_op_data_cmp): For REGs, break ties on the regno.
3803 (simplify_plus_minus): Count n_constants while filling ops. Replace
3804 qsort with insertion sort. Before going through the array to simplify
3805 pairs, sort it. Delay early exit until after the first sort, exiting
3806 only if no swaps occurred. Simplify pairs in reversed order, without
3807 special-casing the first iteration. Pack ops after simplifying pairs.
3808
38092006-09-05 Anatoly Sokolov <aesok@post.ru>
9a7fd67a 3810
10b96810
AP
3811 * config/avr/avr.c (avr_mcu_types): Add support for at90pwm1 device.
3812 * config/avr/t-avr (MULTILIB_MATCHES): (Ditto.).
3813 * config/avr/avr.h (LINK_SPEC, CRT_BINUTILS_SPECS): (Ditto.).
3814 (avr_rtx_costs): Mark 'outer_code' argument with ATTRIBUTE_UNUSED.
9a7fd67a 3815
575643d5
RG
38162006-09-05 Richard Guenther <rguenther@suse.de>
3817
3818 PR tree-optimization/28900
3819 * tree-if-conv.c (find_phi_replacement_condition): Gimplify
3820 compound conditional before creating COND_EXPR condition.
3821
b2db9220
RG
38222006-09-05 Richard Guenther <rguenther@suse.de>
3823
3824 PR tree-optimization/28905
3825 * tree-vrp.c (fix_equivalence_set): Manually implement
3826 !value_ranges_intersect_p to also handle symbolic ranges.
3827
f393e7f5
RG
38282006-09-05 Richard Guenther <rguenther@suse.de>
3829
3830 PR middle-end/28935
3831 * tree-ssa-ccp.c (fold_stmt_r): Make sure to fold the condition
3832 of a COND_EXPR.
3833
5bb51e1d
EB
38342006-09-04 Eric Botcazou <ebotcazou@libertysurf.fr>
3835
3836 PR rtl-optimization/27616
3837 * cse.c (table_size): New static variable.
3838 (new_basic_block): Initialize it to 0.
3839 (remove_from_table): Decrement it.
3840 (insert): Increment it.
3841 (fold_rtx_mem_1): New function, renamed from fold_rtx_mem.
3842 (fold_rtx_mem): Enforce a cap on the recursion depth. Call
3843 fold_rtx_mem_1 if under the cap.
3844 (fold_rtx) <RTX_COMM_ARITH>: In the associative case, delay a little
3845 the lookup of the equivalent expression and test for equality of the
3846 first operand of the equivalent expression before in turn looking up
3847 an equivalent constant for the second operand.
3848
b73aec4f
GK
38492006-09-02 Geoffrey Keating <geoffk@apple.com>
3850
3851 Revert this change:
3852 2006-03-17 Alexandre Oliva <aoliva@redhat.com>
3853 * dwarf2out.c (dwarf2out_stack_adjust): Always track the stack
3854 pointer, instead of assuming it is possible to derive the
3855 correct args size from a call insn.
3856
bc038ad5
JJ
38572006-09-02 Jakub Jelinek <jakub@redhat.com>
3858
3859 PR middle-end/27567
3860 * builtins.c (fold_builtin_memcpy, fold_builtin_memmove): Remove.
3861 (fold_builtin_mempcpy): Rename to...
3862 (fold_builtin_memory_op): ... this. Optimize one element copy
3863 into an assignment.
3864 (fold_builtin_memset, fold_builtin_bzero, fold_builtin_bcopy): New
3865 functions.
3866 (expand_builtin_strcpy, expand_builtin_strncpy): Handle COMPOUND_EXPR.
3867 (expand_builtin_memcpy, expand_builtin_mempcpy,
3868 expand_builtin_memmove): Likewise. Use fold_builtin_memory_op.
3869 (fold_builtin_1): Handle BUILT_IN_MEMSET, BUILT_IN_BZERO and
3870 BUILT_IN_BCOPY. Use fold_builtin_memory_op for
3871 BUILT_IN_MEM{CPY,PCPY,MOVE}.
3872
0166ff05
DD
38732006-09-01 DJ Delorie <dj@redhat.com>
3874
3875 * config/m32c/cond.md (cbranch<mode>4): Defer splitting until after reload.
3876 (stzx_16): Likewise.
3877 ("stzx_24_<mode>"): Likewise.
3878 ("stzx_reversed_<mode>"): Likewise, and make mode-specific.
3879 ("cmp<mode>_op"): New.
3880 (cmp<mode>): Change to expander; just save operands.
3881 (b<code>_op): New.
3882 (b<code>): Change to expander, emit compare here.
3883 (s<code>_op): Change to use split and expander.
3884 (s<code>_24_op): Likewise.
3885 (s<code>_<mode>): New.
3886 (s<code>_<mode>_24): New.
3887 (movqicc_<code>_<mode): New.
3888 (movhicc_<code>_<mode>): New.
3889 (s<code>): New.
3890 (s<code>_24): New.
3891 * config/m32c/m32c.c (compare_op0, compare_op1): New.
3892 (m32c_pend_compare): New.
3893 (m32c_unpend_compare): New.
3894 (m32c_expand_scc): New.
3895 (m32c_expand_movcc): Emit the compare also.
3896 * config/m32c/predicates.md (mra_nopp_operand): New.
3897
537b8a35
R
38982006-09-01 J"orn Rennecke <joern.rennecke@st.com>
3899 Richard Guenther <rguenther@suse.de>
3900 Adam Nemet <anemet@caviumnetworks.com>
3901
3902 PR middle-end/27226
3903 * builtins.c (get_pointer_alignment): Handle more forms
3904 of base addresses that can be used to derive more precise
3905 information about alignment.
3906
4832214a
JM
39072006-09-01 Jason Merrill <jason@redhat.com>
3908
3909 PR c++/28899
3910 * gimplify.c (gimplify_modify_expr_rhs) [BIND_EXPR]: Handle
3911 want_value.
3912
3913 * gimplify.c (voidify_wrapper_expr): Handle null type.
3914
f0ce7858
JC
39152006-09-01 Josh Conner <jconner@apple.com>
3916
3917 PR c++/25505
3918 * tree-nrv.c (dest_safe_for_nrv_p): New function.
3919 (execute_return_slot_opt): Use it.
3920
ebdd079a
JC
39212006-08-31 Josh Conner <jconner@apple.com>
3922
3923 PR c++/25505
3924 * tree-gimple.c (is_gimple_mem_rhs): Recognize functions
3925 returning aggregates.
3926
1e5787ef
ZD
39272006-08-31 Zdenek Dvorak <dvorakz@suse.cz>
3928
3929 PR tree-optimization/28839
3930 * tree-into-ssa.c (prune_unused_phi_nodes): Take into account kills in
3931 blocks in that phi arguments appear.
3932
6a10f7b3
RS
39332006-08-31 Roger Sayle <roger@eyesopen.com>
3934
3935 PR other/22313
3936 * dwarf2out.c (add_fde_cfi): Use a set_loc if the current label is
05d36da1 3937 NULL, otherwise use an advance_loc4 to adjust relative to the
6a10f7b3
RS
3938 current label.
3939 (output_cfi) <DW_CFA_set_loc>: Update the current label.
3940 (dwarf2out_switch_text_section): Reset the current label to avoid
3941 using advance_loc4 over section boundaries.
3942
e4f2cd43
AK
39432006-08-31 Andreas Krebbel <krebbel1@de.ibm.com>
3944
3945 PR target/24367
3946 * config/s390/s390.md ("movsi", "movdi" expander): Accept rtxes like
3947 r12 + SYMBOLIC_CONST.
3948
c87555d6
RG
39492006-08-30 Richard Guenther <rguenther@suse.de>
3950
3951 * Makefile.in (see.o): Add $(EXPR_H) dependency.
3952
dc14f191
ZD
39532006-08-30 Zdenek Dvorak <dvorakz@suse.cz>
3954
3955 PR rtl-optimization/27735
3956 * cfgloopmanip.c (fix_loop_placements, fix_bb_placements, unloop):
3957 Add new argument to keep track of whether an irreducible region
3958 was affected. All callers changed.
3959 (fix_irreducible_loops): Removed.
3960 (remove_path): Call mark_irreducible_loops if EDGE_IRREDUCIBLE_LOOP
3961 flags were invalidated.
3962
e370818b
L
39632006-08-29 H.J. Lu <hongjiu.lu@intel.com>
3964
3965 * config/i386/i386.md (*fop_df_comm_mixed): Match DF operands
3966 instead of SF operands.
3967 (*fop_df_comm_sse): Likewise.
3968 (*fop_df_comm_i387): Likewise.
3969 (*fop_df_1_mixed): Likewise.
3970 (*fop_df_1_sse): Likewise.
3971
b666f3cf 39722006-08-29 Andrew Pinski <pinskia@physics.uc.edu>
227e9f62
JR
3973 J"orn Rennecke <joern.rennecke@st.com>
3974
3975 PR tree-optimization/17506
3976 * tree-ssa.c (warn_uninit): If warning about a location outside of
3977 the current function, note where the variable was declared.
3978
f414f2f3
ZD
39792006-08-28 Zdenek Dvorak <dvorakz@suse.cz>
3980
3981 PR tree-optimization/28411
3982 * double-int.c (double_int_div): Use double_int_divmod.
3983 (double_int_divmod, double_int_sdivmod, double_int_udivmod,
3984 double_int_mod, double_int_smod, double_int_umod): New functions.
3985 * double-int.h (double_int_divmod, double_int_sdivmod,
3986 double_int_udivmod, double_int_mod, double_int_smod, double_int_umod):
3987 Declare.
3988 * tree-ssa-loop-ivopts.c (constant_multiple_of): Returns the result
3989 in double_int.
3990 (get_computation_aff, get_computation_cost_at): Handle double_int
3991 return type of constant_multiple_of.
3992
03a569a3
KH
39932006-08-28 Kazu Hirata <kazu@codesourcery.com>
3994
3995 PR middle-end/26632
3996 * convert.c (convert_to_integer): Set TREE_NO_WARNING to 1 on
3997 an implicit conversion.
3998
1aeceea4
PT
39992006-08-28 Prafulla Thakare <prafullat@kpitcummins.com>
4000
4001 * config/h8300/h8300.c (TARGET_DEFAULT_TARGET_FLAGS): New.
4002
7f22b9fc
RS
40032006-08-27 Roger Sayle <roger@eyesopen.com>
4004
4005 * ifcvt.c (cheap_bb_rtx_cost_p): Don't speculatively execute
4006 x87 instructions.
4007
69b3f75b
KH
40082006-08-27 Kazu Hirata <kazu@codesourcery.com>
4009
4010 * config/i386/crtfastmath.c: Fix a comment typo.
4011
c782c2fe
RS
40122006-08-26 Roger Sayle <roger@eyesopen.com>
4013
4014 * tree.h (CASE_LOW_SEEN, CASE_HIGH_SEEN): New macros for manipulating
4015 temporary visit flags on CASE_LABEL_EXPRs.
4016 * c-common.c (match_case_to_enum): Add function comment. Avoid
4017 O(N) loop, by looking up both CASE_LOW_SEEN and CASE_HIGH_SEEN.
4018 (c_do_switch_warnings): Reorganize to record CASE_LOW_SEEN and
4019 CASE_HIGH_SEEN for enumerated types. If the switch expression is
4020 a constant, only warn if that constant value isn't handled.
4021
02ec74b9
JM
40222006-08-26 Joseph S. Myers <joseph@codesourcery.com>
4023
4024 PR c++/24009
4025 * input.h (restore_input_file_stack): Declare.
4026 (INPUT_FILE_STACK_BITS): Define.
4027 * toplev.c (fs_p, input_file_stack_history,
4028 input_file_stack_restored, restore_input_file_stack): New.
4029 (push_srcloc, pop_srcloc): Check for input_file_stack_tick
4030 overflowing INPUT_FILE_STACK_BITS bits. Save new state of stack.
4031 (pop_srcloc): Don't free old state of stack.
4032
63d0dca4
DE
40332006-08-26 David Edelsohn <edelsohn@gnu.org>
4034
4035 PR target/27544
4036 * doc/extend.texi (PowerPC Variable Attributes): Mention altivec.
4037 (PowerPC Type Attributes): New.
4038
d2348985
BW
40392006-08-26 Bob Wilson <bob.wilson@acm.org>
4040
4041 * config/xtensa/xtensa.c (function_arg_boundary): New.
4042 (function_arg, xtensa_gimplify_va_arg_expr): Limit alignment to
4043 STACK_BOUNDARY.
4044 * config/xtensa/xtensa.h (FUNCTION_ARG_BOUNDARY): Move code to new
4045 function_arg_boundary function that limits alignment to STACK_BOUNDARY.
4046
fa1ff4eb
JJ
40472006-08-26 Jakub Jelinek <jakub@redhat.com>
4048
4049 PR middle-end/28683
4050 * cfgexpand.c (add_reg_br_prob_note): Check if last has exactly
4051 3 following insns.
4052
75a83c65
VR
40532006-08-25 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
4054
4055 * flow.c (verify_wide_reg): Use internal_error for consistency failure.
4056 (verify_local_live_at_start): Likewise.
4057
4c923c28
JM
40582006-08-25 Joseph S. Myers <joseph@codesourcery.com>
4059
4060 PR c/27893
4061 * gimplify.c (gimplify_decl_expr, gimplify_init_ctor_preeval,
4062 omp_add_variable): Treat sizes as variable whenever not
4063 INTEGER_CST.
4064
45988118
RG
40652006-08-26 Richard Guenther <rguenther@suse.de>
4066
4067 PR middle-end/28814
4068 * fold-const.c (fold_binary): Fold temporary to correct
4069 type before constructing new comparison.
4070
a942cc86
JM
40712006-08-25 Fariborz Jahanian <fjahanian@apple.com>
4072
4073 PR c/28418
4074 * c-gimplify.c (gimplify_compound_literal_expr): Don't add
4075 variable again if DECL_SEEN_IN_BIND_EXPR_P.
4076
d8890adf
JM
40772006-08-25 Joseph S. Myers <joseph@codesourcery.com>
4078
4079 PR c/28299
4080 * c-decl.c (start_function): Don't try to process prototype
4081 information from old declaration that isn't a function.
4082
02709c7f
JH
40832006-08-25 Jan Hubicka <jh@suse.cz>
4084
4085 PR target/28621
4086 * config/i386/crtfastmath.c (set_fast_math): Force stack alignment.
4087
90d3ff1c
AM
40882006-08-25 Alan Modra <amodra@bigpond.net.au>
4089
4090 PR target/27075
4091 * config/rs6000/rs6000.c (print_operand): Only use e500 %y syntax
4092 for 8 byte objects.
4093
e88e0907
R
40942006-08-25 J"orn Rennecke <joern.rennecke@st.com>
4095
4096 PR tree-optimization/16876
4097 * c-typeck.c (c_convert_parm_for_inlining): Don't take early
4098 exit if PARM doesn't match VALUE.
4099
9eb8a531
BW
41002006-08-25 Bob Wilson <bob.wilson@acm.org>
4101
4102 * config/xtensa/xtensa.h (ASM_OUTPUT_POOL_PROLOGUE): Do not emit a
4103 literal_prefix directive.
4104 (XTENSA_DECLARE_FUNCTION_SIZE): Delete.
4105 * config/xtensa/linux.h (ASM_DECLARE_FUNCTION_SIZE): Delete.
4106 * config/xtensa/elf.h (ASM_DECLARE_FUNCTION_SIZE): Delete.
4107
4eb585a4
DE
41082006-08-25 David Edelsohn <edelsohn@gnu.org>
4109
4110 PR target/28753
4111 * config/rs6000/rs6000.md (movcc_internal1): Change operand 1
4112 predicate to general_operand. Add 0->y and I->r alternatives.
4113
86c33cd0
KH
41142006-08-25 Kazu Hirata <kazu@codesourcery.com>
4115
4116 * doc/tm.texi: Fix a typo.
4117 * predict.c: Fix comment typos.
4118
816e93eb
NC
41192006-08-25 Nick Clifton <nickc@redhat.com>
4120
4121 * config/mn10300/mn10300.h (TARGET_CPU_CPP_BUILTINS): Add
4122 assertions of "cpu" and "machine".
4123
aa666e00
AP
41242006-08-24 Andrew Pinski <pinskia@physics.uc.edu>
4125
4126 PR tree-opt/28807
4127 * tree-ssa-operands.c (access_can_touch_variable): Don't say
4128 the access through a base which has an alias set of 0 cannot
4129 touch the variable.
4130
41312006-08-24 Bill Wendling <wendling@apple.com>
8b7d4300
BW
4132
4133 * doc/tm.texi (TARGET_DEFAULT_PACK_STRUCT): Fixed English.
05d36da1 4134
7ef701a8
JH
41352006-08-24 Jan Hubicka <jh@suse.cz>
4136
4137 * reload1.c (emit_reload_insns): Fix yet another typo in my patch.
4138
a418679d
JH
41392006-08-24 Jan Hubicka <jh@suse.cz>
4140
4141 PR debug/26881
4142 * cgraph.c: Fix comments.
4143 (cgraph_varpool_mark_needed_node): Mark only variables not already
4144 output to file.
4145 * cgraphunit.c: Update comments; include gt-cgraphunit.h
4146 (cgraph_varpool_assembled_nodes_queue): New static variable.
4147 (cgraph_varpool_assemble_decl): Record output decls for debug out code.
4148 (cgraph_varpool_output_debug_info): New function.
4149 (cgraph_finalize_compilation_unit, cgraph_optimize): Call it.
4150 * Makefile.in: Add gt-cgraphunit.h
4151
2c9e13f3
JH
41522006-08-24 Jan Hubicka <jh@suse.cz>
4153
4154 * predict.c (probability_reliable_p): New predicate.
4155 (edge_probability_reliable_p, br_prob_note_reliable_p): Likewise.
4156 (predict_loops): Do not predict loop exit with less than 2%
4157 probability.
4158 * basic-block.h (edge_probability_reliable_p,
4159 br_prob_note_reliable_p): Declare.
4160 * ia64.h (ia64_print_operand): Do not disable on-chip branch
4161 prediction when static predictor is not reliable.
4162 * rs6000.c (output_cbranch): Likewise.
4163
12b3553f
SH
41642006-08-23 Stuart Hastings <stuart@apple.com>
4165
4166 PR 28825
4167 * gcc/config/i386/i386.c (ix86_expand_vector_init_duplicate,
4168 ix86_expand_vector_init_one_nonzero): Remove TARGET_SSE test.
4169
9a23b833
GK
41702006-08-21 Geoffrey Keating <geoffk@apple.com>
4171
4172 PR debug/28692
4173 * dwarf2out.c (rtl_for_decl_init): Don't try to create RTL for
4174 complex values, nor for generic vector values.
4175
8a613cae
RG
41762006-08-22 Richard Guenther <rguenther@suse.de>
4177
4178 PR middle-end/28776
4179 * tree-scalar-evolution.c (fold_used_pointer): Add at_stmt
4180 parameter. Convert arguments to arithmetic expression to the
4181 chrecs type.
4182 (analyze_scalar_evolution_1): Adjust caller.
4183
1f6c68ed
JH
41842006-08-22 Jan Hubicka <jh@suse.cz>
4185
4186 Patch by Paolo Bonzini
4187 * reload1.c (emit_reload_insns): Fix incorrect bracketing introduced by
4188 my previous patch.
4189
ca858709
DB
41902006-08-22 Daniel Berlin <dberlin@dberlin.org>
4191
4192 PR tree-optimization/28003
4193 * tree-ssa-alias.c (compute_may_aliases): Compute call clobbered
4194 before grouping aliases.
4195
883259c6
RS
41962006-08-22 Roger Sayle <roger@eyesopen.com>
4197
4198 * config/i386/i386.c (ix86_value_regno): Don't return FIRST_MMX_REG
4199 if !TARGET_MMX, and don't return FIRST_SSE_REG if !TARGET_SSE.
4200
c6c7698d
JM
42012006-08-21 Jason Merrill <jason@redhat.com>
4202
4203 PR c++/27115
4204 * gimplify.c (voidify_wrapper_expr): Handle STATEMENT_LIST as a
4205 wrapper. Loop to handle nested wrappers.
4206 (gimplify_bind_expr): Remove temp parameter.
4207 (gimplify_modify_expr_rhs): Handle CLEANUP_POINT_EXPR, BIND_EXPR
4208 and STATEMENT_LIST on the rhs.
4209 (gimplify_statement_list): Voidify the STATEMENT_LIST.
4210 (gimplify_expr): Pass pre_p to gimplify_statement_list.
4211 (gimplify_target_expr): Remove special BIND_EXPR handling.
4212
34302d13
R
42132006-08-21 J"orn Rennecke <joern.rennecke@st.com>
4214
4215 * config/sh/lib1funcs-Os-4-200.asm: Guard entire file with
4216 #if !__SHMEDIA__ .
4217
85d89e76
OH
42182006-08-21 Olivier Hainque <hainque@adacore.com>
4219
4220 * gimplify.c (gimplify_init_constructor) <RECORD,UNION,ARRAY types>:
4221 Arrange for the temporary captures of components overlapping the lhs
4222 to happen before the lhs is possibly cleared.
05d36da1 4223
08a557f6 42242006-08-21 Mark Shinwell <shinwell@codesourcery.com>
e753d130 4225
08a557f6
MS
4226 * config/arm/pr-support.c (__gnu_unwind_execute): Insert " + 1" in
4227 necessary places to pass the correct "number of registers" values
4228 to _Unwind_VRS_Pop.
4229
1af4bba8
JH
42302006-08-20 Jan Hubicka <jh@suse.cz>
4231
4232 * tree-ssa-alias.c (eq_ptr_info, ptr_info_hash): New function.
4233 (create_name_tags): Instead of quadratic checking use hashtable.
4234 * bitmap.h: Include hashtab.h.
4235 (bitmap_hash): Declare.
4236 * bitmap.c (bitmap_hash): New function.
4237
70d539ce
JH
42382006-08-20 Jan Hubicka <jh@suse.cz>
4239
4240 PR rtl-optimization/28071
4241 * tree-optimize.c (tree_rest_of_compilation): Do not remove edges
4242 twice.
4243 * tree-inline.c (copy_bb): Use cgraph_set_call_stmt.
4244 * ipa-inline.c (cgraph_check_inline_limits): Add one_only argument.
4245 (cgraph_decide_inlining, cgraph_decide_inlining_of_small_function,
4246 cgraph_decide_inlining_incrementally): Update use of
4247 cgraph_check_inline_limits.
4248 * cgraph.c (edge_hash, edge_eq): New function.
4249 (cgraph_edge, cgraph_set_call_stmt, cgraph_create_edge,
4250 cgraph_edge_remove_caller, cgraph_node_remove_callees,
4251 cgraph_remove_node): Maintain call site hash.
4252 * cgraph.h (struct cgraph_node): Add call_site_hash.
4253 (cgraph_set_call_stmt): New function.
4254
2c61f5f1
JH
42552006-08-20 Jan Hubicka <jh@suse.cz>
4256
4257 PR rtl-optimization/28071
4258 * reload1.c (reg_has_output_reload): Turn into regset.
4259 (reload_as_needed, forget_old_reloads_1, forget_marked_reloads,
4260 choose_reload_regs, emit_reload_insns): Update to new
4261 reg_has_output_reload.
4262
1057fc81
JH
42632006-08-20 Jan Hubicka <jh@suse.cz>
4264
4265 PR middle-end/28779
4266 * ipa-inline.c (cgraph_decide_inlining, cgraph_early_inlining): Compute
4267 function body sizes.
4268 * cgraphunit.c (cgraph_analyze_function): Don't do so.
4269
42702006-08-20 Danny Smith <dannysmith@users.sourceforge.net>
09416794
DS
4271
4272 PR target/28648 c:
4273 * tree.c (handle_dll_attribute): Return early if not a
e753d130 4274 var or function decl.
09416794 4275
16e7a51f
JM
42762006-08-18 Joseph Myers <joseph@codesourcery.com>
4277
4278 PR target/27565
4279 * config/rs6000/rs6000.h (LOCAL_ALIGNMENT): For SPE, only adjust
4280 alignment of SPE vector types.
4281
0a565147
CJ
42822006-08-18 Christophe Jaillet <christophe.jaillet@wanadoo.fr>
4283
4284 * tree.c (is_attribute_with_length_p): Remove a duplicated assert.
4285
343d4b27
JJ
42862006-08-17 Jakub Jelinek <jakub@redhat.com>
4287
4288 PR c/28744
4289 * cgraph.h (struct cgraph_node): Remove externally_visible
4290 bitfield.
4291 * cgraphunit.c (process_function_and_variable_attributes): Set
4292 local.externally_visible rather than externally_visible.
4293
4294 PR c/28744
4295 * c-common.c (handle_externally_visible_attribute): First look
4296 at TREE_CODE and only if it is function or var decl, check for
4297 non-public objects. Don't warn for DECL_EXTERNAL.
4298 * cgraphunit.c (process_function_and_variable_attributes): Warn
4299 if externally_visible attribute is used on non-public object.
4300
db4c7386
JH
43012006-08-17 Jan Hubicka <jh@suse.cz>
4302
4303 PR tree-optimization/27865
4304 * reload1.c (forget_marked_reloads): New function.
4305 (forget_old_reloads_1): When data are passed, just mark the registers
4306 for later removal.
4307 (reload_as_needed): Use the new mechanizm.
4308
3f1e3e70
AO
43092006-08-17 Alexandre Oliva <aoliva@redhat.com>
4310
4311 PR target/28146
4312 * reload.h (reg_equiv_alt_mem_list): New declaration.
4313 * reload1.c (reg_equiv_alt_mem_list): New definition.
4314 (reload): Initialize it and release it.
4315 (delete_output_reload): Use it.
4316 * reload.c (push_reg_equiv_alt_mem): New function.
4317 (find_reloads_toplev): Call it.
4318 (find_reloads_address, find_reloads_address_1): Likewise.
4319 (find_reloads_subreg_address): Likewise.
4320
d3b30e42
MK
43212006-08-17 Maxim Kuvyrkov <mkuvyrkov@ispras.ru>
4322
4323 PR rtl-optimization/28489
4324 * sched-ebb.c (begin_schedule_ready): Create basic block
4325 at the right place.
4326 (advance_target_bb): Skip empty blocks.
4327 * haifa-sched.c (bb_note): Make global.
4328 * sched-int.h (bb_note): Add prototype.
4329
20527215
ZD
43302006-08-16 Zdenek Dvorak <dvorakz@suse.cz>
4331
4332 PR tree-optimization/27865
4333 * tree-vrp.c (adjust_range_with_scev): Do not use TYPE_{MIN,MAX}_VALUE
4334 for pointer types.
4335 * tree-scalar-evolution.c (fold_used_pointer_cast, pointer_offset_p,
4336 fold_used_pointer, pointer_used_p): New functions.
4337 (analyze_scalar_evolution_1): Use fold_used_pointer.
4338 * tree-chrec.c (convert_affine_scev): Convert no-op casts correctly.
4339 * tree-ssa-loop-ivopts.c (generic_type_for): Return integral type
4340 for pointers.
4341
6d4d7b0e
PB
43422006-08-17 Paolo Bonzini <bonzini@gnu.org>
4343
4344 PR c++/28573
4345 * c-common.c (fold_offsetof_1): Add an argument and recurse down to it
05d36da1 4346 or the INTEGER_CST. Fail on a CALL_EXPR.
6d4d7b0e
PB
4347 (fold_offsetof): Pass new argument to fold_offsetof_1.
4348 * c-parser.c (c_parser_postfix_expression): Don't include a NULL
05d36da1 4349 operand into an INDIRECT_REF.
6d4d7b0e
PB
4350 * c-typeck.c (build_unary_op): Adjust call to fold_offsetof.
4351
7e2f40af
ZD
43522006-08-16 Zdenek Dvorak <dvorakz@suse.cz>
4353
4354 PR gcov/profile/26570
4355 * value-prof.c (static_values): Removed.
4356 (tree_find_values_to_profile): Do not set static_values.
4357 (find_values_to_profile): Do not free static_values.
4358 * profile.c (instrument_values): Do not free the values.
4359 (branch_prob): Free the values.
4360
d8db3756
N
43612006-08-16 Naveen.H.S <naveenh@kpitcummins.com>
4362
4363 * config/m32c/m32c_lib1.S (__mulsi3): Use only registers for dest.
4364
efed193e
JM
43652006-08-16 Joseph S. Myers <joseph@codesourcery.com>
4366
4367 PR c/27697
4368 * c-typeck.c (build_component_ref): Combine qualifiers of
4369 structure or union and field.
4370
f074ff6c
ZD
43712006-08-16 Zdenek Dvorak <dvorakz@suse.cz>
4372
4373 PR rtl-optimization/28071
4374 * basic-block.h (bb_dom_dfs_in, bb_dom_dfs_out): Declare.
4375 * dominance.c (bb_dom_dfs_in, bb_dom_dfs_out): New functions.
4376 * tree-into-ssa.c (struct dom_dfsnum): New.
4377 (cmp_dfsnum, find_dfsnum_interval, prune_unused_phi_nodes): New
4378 functions.
4379 (insert_phi_nodes_for): Use prune_unused_phi_nodes instead of
4380 compute_global_livein.
4381 (prepare_block_for_update, prepare_use_sites_for): Mark the uses
4382 in phi nodes in the correct blocks.
4383
b43a2366
ZD
43842006-08-16 Zdenek Dvorak <dvorakz@suse.cz>
4385
4386 PR tree-optimization/28364
4387 * tree-ssa-loop-ivopts.c (aff_combination_to_tree): Handle zero
4388 correctly.
4389 (fold_affine_expr): New function.
4390 (may_eliminate_iv): Use fold_affine_expr.
4391
c58e8676
VR
43922006-08-16 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
4393
4394 PR c/27489
4395 * c-typeck.c (c_start_case): Handle invalid orig_type correctly.
4396 Clean up.
4397
e8c96d09
MS
43982006-08-16 Mike Stump <mrs@apple.com>
4399
4400 * doc/invoke.texi (-Wno-deprecated-declarations): Fixup use of pxref.
4401 * doc/cppopts.texi (-MD): Likewise.
4402
55af93a8
DS
44032006-08-15 Danny Smith <dannysmith@users.sourceforge.net>
4404
4405 PR c/28287
4406 * c-common.c (handle_weak_attribute): Ignore and warn if
4407 not a FUNCTION_ or VAR_DECL.
4408
4adb785d
MS
44092006-07-15 Mike Stump <mrs@apple.com>
4410
4411 PR c/28280
4412 * c-parser.c (c_parser_typeof_specifier): Don't use
4413 c_finish_expr_stmt, open code desired semantics instead.
4414
b0faa35c
NC
44152006-08-15 Nick Clifton <nickc@redhat.com>
4416
4417 * config.gcc (x86-mingw32): Add a gthr-win32.h including makefile
4418 fragment to tmake_file only if threads are enabled.
4419 * config/i386/t-mingw32 (LIB2FUNCS_EXTRA): Move to...
4420 * config/i386/t-gthr-win32: New file. ... here.
4421
2c14ae9a
VR
44222006-08-15 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
4423
4424 PR c/28649
4425 * c-parser.c (c_parser_compound_statement_nostart): Reset
4426 parser->error after each statement.
4427
d0f53cbc
JJ
44282006-08-15 Jakub Jelinek <jakub@redhat.com>
4429
018b899b
JJ
4430 PR middle-end/28713
4431 * omp-low.c (lower_omp_parallel): Convert t to
4432 receiver_decl's type.
4433 (expand_omp_parallel): STRIP_NOPS from the MODIFY_EXPR
4434 source before comparison.
4435
d0f53cbc
JJ
4436 PR middle-end/28724
4437 * gimplify.c (gimplify_omp_atomic_pipeline): Convert oldival
4438 to itype in assignment to oldival2.
4439
e63d6886
AP
44402006-07-14 Andrew Pinski <pinksia@physics.uc.edu>
4441
4442 PR c/27490
4443 PR c/27489
4444 * c-typeck.c (build_compound_expr): If the second expression
4445 is an error mark, then just return an error mark instead of
4446 creating a COMPOUND_EXPR.
4447
df511f32
MS
44482006-07-14 Mike Stump <mrs@apple.com>
4449
4450 * Makefile.in (LIBGCC_DEPS): Don't depend on LANGUAGES.
4451
96ff6c8c
KH
44522006-08-14 Kazu Hirata <kazu@codesourcery.com>
4453
4454 * c-decl.c, var-tracking.c: Fix comment typos.
4455
2b3969fa
RS
44562006-08-14 Richard Sandiford <richard@codesourcery.com>
4457
4458 PR rtl-optimization/28634
4459 * reorg.c (fill_slots_from_thread): Do not assume A + X - X == A
4460 for floating-point modes unless flag_unsafe_math_optimizations.
4461
8d9f82d5
AO
44622006-08-13 Alexandre Oliva <aoliva@redhat.com>
4463 Andrew Pinski <pinskia@physics.uc.edu>
4464
4465 PR c/27184
4466 * tree.c (build_array_type): Unify array types with
4467 unspecified index_type.
4468 * c-decl.c (grokdeclarator): Make sure we do not modify a
4469 unified incomplete array type.
4470 * c-typeck.c (store_init_value): Create distinct type before
4471 filling in the index type in an initializer from a compound
4472 literal.
4473
4474 * c-decl.c (grokdeclarator): Remove code where we copy the
4475 array type over.
4476
0bff60e5
AP
44772006-08-13 Andrew Pinski <pinskia@physics.uc.edu>
4478
4479 * tree-pass.h (TODO_update_ssa): Fix which bit is used to take
4480 into account for TODO_dump_cgraph.
4481 (TODO_update_ssa_no_phi): Likewise.
4482 (TODO_update_ssa_full_phi): Likewise.
4483 (TODO_update_ssa_only_virtuals): Likewise.
4484 (TODO_remove_unused_locals): Likewise.
4485 (TODO_set_props): Likewise.
4486 (TODO_update_stmt_usage): Likewise.
4487
3f0a2a47
DM
44882006-08-13 Dirk Mueller <dmueller@suse.de>
4489
4490 * c-common.c (strict_aliasing_warning): Fix formatting.
4491
37470119
MK
44922006-08-13 Matthias Klose <doko@debian.org>
4493
4494 * doc/invoke.texi: Fix spelling errors.
4495
105ebae8
EB
44962006-08-11 Eric Botcazou <ebotcazou@libertysurf.fr>
4497
4498 PR rtl-optimization/23454
4499 * reorg.c (relax_delay_slots): Update comment.
4500
e0d0c193
RG
45012006-08-11 Richard Guenther <rguenther@suse.de>
4502
4503 PR middle-end/28651
4504 * simplify-rtx.c (simplify_const_relational_operation):
4505 Simplify A CMP B to A - B CMP 0 only for EQ and NE comparison
4506 codes.
4507
7175769a 45082006-08-10 Eric Botcazou <ebotcazou@adacore.com>
5d5995f1
EB
4509
4510 * tree.c (build1_stat): Also propagate the TREE_CONSTANT and
4511 TREE_INVARIANT flags for a VIEW_CONVERT_EXPR.
4512
9a1a4737
PB
45132006-08-10 Paul Brook <paul@codesourcery.com>
4514
4515 * final.c (final_scan_insn): Clear current_insn_predicate before
4516 outputting inline asm.
4517
cc0968b0
DN
45182006-08-10 Dorit Nuzman <dorit@il.ibm.com>
4519
4520 PR tree-optimization/26197
4521 * tree-ssa-alias.c (new_type_alias): Takes additional argument. Calls
4522 get_ref_base_and_extent and overlap_subvar to add only relevant
4523 subvars as may-aliases.
4524 (add_may_alias_for_new_tag): New function, factored out of
4525 new_type_alias.
4526 * tree-vect-transform.c (vect_create_data_ref_ptr): Call new_type_alias
4527 with additional argument.
4528 * tree-flow.h (new_type_alias): Takes additional argument.
4529
80b3502b
NS
45302006-08-09 Nathan Sidwell <nathan@codesourcery.com>
4531
4532 * gcov.c (no_data_file): New flag.
4533 (read_count_file): Set it if data file not present. Assume counts
4534 zero if not found.
4535 (output_lines): Don't name the data file, if there wasn't one.
4536
cef6b86c
EB
45372006-08-09 Eric Botcazou <ebotcazou@adacore.com>
4538
4539 * config/rs6000/rs6000.c (print_operand) <D>: Fix comment and adjust.
4540 (rs6000_generate_compare): Tweak comments.
4541 * config/rs6000/rs6000.md (UNSPEC_MV_CR_GT): Fix comment.
4542
ca787200
AO
45432006-08-09 Alexandre Oliva <aoliva@redhat.com>
4544
4545 * var-tracking.c (enum micro_operation_type): Add MO_COPY.
4546 (var_debug_decl): New function.
4547 (var_reg_set): Follow debug decl link. Add location even if
4548 reg is already known to hold some other variable.
4549 (var_mem_set): Follow debug decl link.
4550 (var_reg_delete_and_set, var_mem_delete_and_set): Follow debug
4551 decl link. Delete other known locations of the variable part
4552 if requested.
4553 (var_reg_delete, var_mem_delete): Delete other known locations
4554 of the variable part if requested.
4555 (same_variable_part_p): New function.
4556 (add_stores): Select MO_COPY when appropriate.
4557 (vt_initialize): Handle it.
4558 (compute_bb_dataflow, emit_notes_in_bb): Likewise. Delete
4559 known locations for MO_SET and MO_CLOBBER.
4560 (find_variable_location_part): New function.
4561 (set_variable_part, delete_variable_part): Use it.
4562 (clobber_variable_part): New function.
4563 * dwarf2out.c (dwarf2out_var_location): Do not follow debug
4564 decl link.
4565
4192d75b 45662006-08-07 Victor Kaplansky <victork@il.ibm.com>
2f6fc0b6 4567
e753d130
AP
4568 PR tree-optimization/26969
4569 * tree-vect-analyze.c (vect_analyze_loop_form): Add check of latch
4570 with an empty list of PHIs.
2f6fc0b6 4571
bab1de0a
PB
45722006-08-06 Paolo Bonzini <bonzini@gnu.org>
4573
4574 PR target/27827
4575
4576 * conffig/i386/i386.md: Add peephole2 to avoid "fld %st"
4577 instructions.
4578
884b74f0
AS
45792006-08-06 Andreas Schwab <schwab@suse.de>
4580
4581 * config/m68k/m68k.c (m68k_output_function_epilogue): Fix format
4582 string. Whitespace and comment fixup.
4583
85cad37c
VR
45842006-08-05 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
4585
ffc44ab6
VR
4586 PR c/28502
4587 * c-decl.c (validate_proto_after_old_defn): Return false on invalid
4588 argument.
4589
c0bcacec
VR
4590 PR c/27721
4591 * c-typeck.c (build_modify_expr): Test earlier for non-lvalues.
4592
85cad37c
VR
4593 PR c/28136
4594 * c-parser.c (c_parser_postfix_expression_after_paren_type): Robustify.
4595
71156bcc
JH
45962006-08-04 Jan Hubicka <jh@suse.cz>
4597
4598 PR target/26655
4599 PR target/28270
85cad37c
VR
4600 * reload.c (push_reload): Patch out the mismatching instruction;
4601 return early.
71156bcc
JH
4602 (find_reload): Bail out if the instruction was patched out.
4603
9659ce8b
JH
46042006-08-04 Jan Hubicka <jh@suse.cz>
4605
4606 PR tree-optimization/24888
4607 * tree-inline.c (expand_call_inline): Do not re-record variables.
4608 (declare_inline_vars): Add variable to unexpanded_var_list.
4609
824a4527
JDA
46102006-08-04 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
4611 Roger Sayle <roger@eyesopen.com>
4612
4613 PR rtl-optimization/26244
4614 * cse.c (fold_rtx): Correctly associate shifts when const_arg1 and/or
4615 inner_const are negative or greater than or equal to the bitsize of
4616 MODE. If SHIFT_COUNT_TRUNCATED is false, the values aren't associated.
4617 Otherwise, the values are masked using GET_MODE_BITSIZE (mode) - 1.
4618 Simplify complicated if statement. For ASHIFT and LSHIFTRT, return
4619 CONST0_RTX (mode) when the new shift count is greater than or equal to
4620 to the bitsize of the object being shifted and XEXP (y, 0) has no side
4621 effects.
4622
de1e45c3
KH
46232006-08-04 Kazu Hirata <kazu@codesourcery.com>
4624
4625 * tree-cfg.c: Fix a comment typo.
4626
f092a866
MM
46272006-08-03 Mark Mitchell <mark@codesourcery.com>
4628
4629 PR c++/28148
4630 * varasm.c (output_constant): Give the front end another chance to
4631 expand constants, after stripping NOPs.
4632
df648b94
JH
46332006-08-03 Jan Hubicka <jh@suse.cz>
4634
4635 * domwalk.c (walk_dominator_tree): Reorganize to non-recursive
4636 implementation.
4637
0be79f24
DN
46382006-08-03 Dorit Nuzman <dorit@il.ibm.com>
4639
e753d130
AP
4640 PR tree-optimization/27770
4641 * tree-vectorizer.h (get_vectype_for_scalar_type): Function
4642 declaration removed (moved to tree-flow.h).
4643 (vect_can_force_dr_alignment_p): Likewise.
4644 * tree-flow.h (get_vectype_for_scalar_type): New function declaration
4645 (moved from tree-vectorizer.h).
4646 (vect_can_force_dr_alignment_p): Likewise.
4647 * tree-vectorizer.c (vect_print_dump_info): Allow calling this function
4648 from outside the vectorizer - in particular from cgraph stage.
4649 * tree-vect-analyze.c (vect_compute_data_ref_alignment): Don't increase
4650 the alignment of global arrays when -fsection-anchors is enabled.
4651 * cgraphunit.c (cgraph_increase_alignment): New function.
4652 (cgraph_optimize): Call cgraph_increase_alignment.
0be79f24 4653
1650e3f5
DE
46542006-08-03 David Edelsohn <edelsohn@gnu.org>
4655
4656 PR target/27566
4657 * config/rs6000/rs6000.c (rs6000_legitimize_reload_address): Do
4658 not reload a SPE symbol_ref into a lo_sum address.
4659
19450f2b
DJ
46602006-08-02 Daniel Jacobowitz <dan@codesourcery.com>
4661
4662 PR debug/28063
4663 * dwarf2out.c (prune_unused_types_prune): Move call to
4664 prune_unused_types_update_strings to cover the parent DIE also.
4665
0a4fe58f
JH
46662006-08-02 Jan Hubicka <jh@suse.cz>
4667
4668 PR gcov/profile/28480
4669 * tree-cfg.c (change_bb_for_stmt): New function.
4670 (tree_merge_blocks, tree_split_blocks): Use it.
4671
413803d3
VR
46722006-08-01 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
4673
4674 PR c++/28250
4675 PR c++/28257
4676 PR c++/28259
4677 PR c++/28267
4678 * toplev.c (compile_file): Return early on errorcount or sorrycount.
4679 * cgraphunit.c (cgraph_finalize_compilation_unit): Likewise.
4680 (cgraph_optimize): Likewise.
4681
4fbbe694
SH
46822006-08-01 Stuart Hastings <stuart@apple.com>
4683
4684 * rtl.h (UINTVAL) New.
4685 * config/rs6000/rs6000.c (SMALL_INT) Use it.
4686 * testsuite/gcc.dg/20060801-1.c: New.
05d36da1 4687
6193b8b7
DJ
46882006-08-01 Daniel Jacobowitz <dan@codesourcery.com>
4689
4690 PR debug/23336
4691 * c-typeck.c (build_external_type): Mark used enum types.
4692 * dwarf2out.c (dwarf2out_abstract_function): Save and restore
4693 cfun also.
4694 (gen_subprogram_die): Whitespace fix.
4695
9824b886
JH
46962006-08-01 Jan Hubicka <jh@suse.cz>
4697
4698 * tree-outof-ssa.c (check_replaceable): Do not allocate def_vars
4699 bitmap when not needed.
4700 * tree-ssa-pre.c (bitmap_set_and, bitmap_set_and_compl): Free temporary
4701 bitmaps.
4702
53743367
DM
47032006-08-01 Dirk Mueller <dmueller@suse.de>
4704
4705 * tree-vrp.c (fix_equivalence_set): Avoid bitmap memory leak.
4706
73e9d512
VR
47072006-07-31 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
4708
4709 * Makefile.in: Revert part of previous patch:
4710 Replace $(VARRAY_H) by varray.h in definition of BASIC_BLOCK_H
4711 and REGS_H.
4712
1ccbef77
EC
47132006-07-30 Eric Christopher <echristo@apple.com>
4714
4715 PR target/27543
4716 * doc/extend.texi (i386 Variable Attributes): Add anchor.
4717 (PowerPC Variable Attributes): New section.
4718
56ee081b
AN
47192006-07-30 Atsushi Nemoto <anemo@mba.ocn.ne.jp>
4720
4721 PR target/28126 (partial fix)
4722 * config/mips/mips.md (tls_get_tp_<mode>): Set can_delay to no.
4723
370adb7b
JH
47242006-07-28 Jan Hubicka <jh@suse.cz>
4725
4726 PR rtl-optimization/28071
4727 * cfgrtl.c (rtl_delete_block): Free regsets.
4728 * flow.c (allocate_bb_life_data): Re-use regsets if available.
4729
48779194
VR
47302006-07-28 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
4731
4732 * Makefile.in: Use $(HEADER_H) instead of header.h in dependencies
4733 and variables used in dependencies.
4734
fa6adcab
AV
47352006-07-27 Arjan van de Ven <arjan@linux.intel.com>
4736
4737 * config/i386/i386.md (stack_tls_protect_set_di) Use %gs rather than
4738 %fs for -mcmodel=kernel.
4739 (stack_tls_protect_test_di): Likewise.
4740
ab7efd91
CD
47412006-07-27 Carlos O'Donell <carlos@codesourcery.com>
4742
4743 * Makefile.in: Use mkinstalldirs.
4744
faa88843
L
47452006-07-27 H.J. Lu <hongjiu.lu@intel.com>
4746
4747 PR driver/28437
4748 * opts-common.c (prune_options): Skip joined switches.
4749
96d0cc81
JH
47502006-07-27 Jan Hubicka <jh@suse.cz>
4751
4752 PR rtl-optimization/28071
4753 * cselib.c (cselib_process_insn): Don't remove useless values too
4754 often for very large hashtables.
4755
69bfd3c9
JH
47562006-07-27 Jan Hubicka <jh@suse.cz>
4757
4758 PR rtl-optimization/28071
4759 * global.c (greg_obstack): New obstack.
4760 (allocate_bb_info): Use it.
4761 (free_bb_info): Likewise.
4762 (modify_reg_pav): Likewise.
4763
482c6ce8
RS
47642006-07-27 Roger Sayle <roger@eyesopen.com>
4765
4766 * builtins.c (fold_fixed_mathfn): When long and long long are the
4767 same size, canonicalize llceil*, llfloor*, llround* and llrint*
4768 functions to their lceil*, lfloor*, lround* and lrint* forms.
4769
721cedf2
KI
47702006-07-27 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
4771
4772 PR gcc/28508
4773 * config/m32r/m32r.md (branch_insn): Reduce pc range for short
4774 branch.
4775 (rev_branch_insn): Likewise.
4776
65d169d9
JH
47772006-07-27 Jan Hubicka <jh@suse.cz>
4778
4779 PR rtl-optimization/28071
4780 * regmove.c (reg_is_remote_constant_p): Avoid quadratic behaviour.
4781 (reg_set_in_bb, max_reg_computed): New static variables.
4782 (regmove_optimize): Free the new array.
4783 (fixup_match_1): Update call of reg_is_remote_constant_p.
4784
96fc428c
JH
47852006-07-26 Jan Hubicka <jh@suse.cz>
4786
4787 PR tree-optimization/27882
4788 * cgraph.c (cgraph_remove_node): Clear needed, reachable, next, previous
4789 and decl fields.
4790 * cgraphunit.c (cgraph_reset_node): Expect cgraph_remove_node to kill
4791 next pointer
4792 (cgraph_analyze_compilation_unit): Likewise.
4793 * ipa.c (cgraph_remove_unreachable_nodes): Likewise.
4794 * ipa-inline.c (cgraph_decide_recursive_inlining): Likewise.
4795 (cgraph_early_inlinine): Make order garbage collected.
4796 * Makefile.in (gt-ipa-inline): New garbagecollected file.
4797
88c4be5e
DJ
47982006-07-26 Daniel Jacobowitz <dan@codesourcery.com>
4799
4800 * dbxout.c (output_types_sort): Add a comment.
4801 (output_used_types): Free the VEC.
4802
51b7d006
DJ
48032006-07-26 Daniel Jacobowitz <dan@codesourcery.com>
4804
4805 * function.c (reorder_fix_fragments): Delete.
4806 (reorder_blocks): Don't call it.
4807 (reorder_blocks_1): Put all subblocks under the origin block.
4808
e69e3d0e
ZD
48092006-07-26 Zdenek Dvorak <dvorakz@suse.cz>
4810
4811 PR rtl-optimization/27907
4812 * expr.c (force_operand): Use convert_move to handle FLOAT_EXTEND and
4813 FLOAT_TRUNCATE.
4814
738764ef
RS
48152006-07-25 Roger Sayle <roger@eyesopen.com>
4816
4817 PR middle-end/28473
4818 * convert.c (convert_to_integer): When transforming (T)foo(x) into
4819 bar(x) check that bar's result type can represent all the values of T.
4820
cdc30c45
ZD
48212006-07-25 Zdenek Dvorak <dvorakz@suse.cz>
4822
4823 * tree-chrec.c (chrec_convert_aggressive): Return NULL on failure.
4824
6583cf15
NC
48252006-07-25 Nick Clifton <nickc@redhat.com>
4826
4827 * ggc-page.c (NUM_SIZE_LOOKUP): New constant - the length of the
4828 size_lookup[] array.
4829 (ggc_alloc_stat): Use NUM_SIZE_LOOKUP.
4830 (ggc_pch_count_object): Likewise.
4831 (ggc_pch_alloc_object): Likewise.
4832 (ggc_pch_write_object): Likewise.
4833 (init_ggc): Do not attempt to initialize entries in the
4834 size_lookup[] array for objects whose size is greater than than
4835 the length of the array.
4836
2daec0f0
DJ
48372006-07-25 Daniel Jacobowitz <dan@codesourcery.com>
4838
4839 * dbxout.c (output_used_types_helper): Push queued types
4840 on a VEC.
4841 (output_types_sort): New.
4842 (output_used_types): Collect used types on a VEC and sort them
4843 before emission.
4844
63c2d00c
RG
48452006-07-24 Richard Guenther <rguenther@suse.de>
4846
4847 PR middle-end/28463
4848 * cgraph.c (cgraph_remove_node): Do not check if dumps
4849 are enabled.
4850 * cgraphunit.c (cgraph_optimize): Likewise.
4851
597ae074
JH
48522006-07-24 Jan Hubicka <jh@suse.cz>
4853
4854 PR rtl-optimization/28071
4855 * tree-cfg.c (tree_split_block): Do not allocate new stmt_list nodes.
4856 * tree-iterator.c (tsi_split_statement_list_before): Do not crash when
4857 splitting before first stmt.
4858
f10d1a74
JH
48592006-07-24 Jan Hubicka <jh@suse.cz>
4860
4861 PR rtl-optimization/28071
4862 * ipa-inline.c (update_caller_keys): Remove edges that
4863 are no longer inline candidates.
4864
f629051e
DJ
48652006-07-23 Daniel Jacobowitz <dan@codesourcery.com>
4866
4867 PR debug/27473
4868 * dbxout.c (output_used_types_helper, output_used_types): New.
4869 (dbxout_symbol): Call output_used_types.
4870
386b46cf
JH
48712006-07-23 Jan Hubicka <jh@suse.cz>
4872
4873 PR c/25795
4874 PR c++/27369
4875 * cgraph.c (cgraph_varpool_nodes): Export.
4876 (decide_is_variable_needed): Ignored "used" attribute in
4877 unit-at-a-time mode.
4878 * cgraph.h (cgraph_varpool_nodes): Declare.
4879 * cgraphunit.c (decide_is_function_needed): Ignored "used" attribute in
4880 unit-at-a-time mode.
4881
74e55d0f
RS
48822006-07-23 Roger Sayle <roger@eyesopen.com>
4883
4884 PR target/28247
4885 * gthr-solaris.h: Prototype __gthrw forms of thr_self, mutex_init and
4886 mutex_destroy even when !_LIBOOBJC. Remove duplicate prototype of
4887 the __gthrw form of thr_keycreate.
4888 (__gthread_key_delete): Silence the unused argument warning.
4889
d88259d1
SB
48902006-07-23 Steven Bosscher <steven@gcc.gnu.org>
4891
4892 PR debug/25468
4893 * config/elfos.h (ASM_OUTPUT_ASCII): Remove 'register' marks.
4894 Cache the last found '\0' marker to avoid quadratic behavior.
4895
3dcdd4e4
JH
48962006-07-23 Jan Hubicka <jh@suse.cz>
4897
4898 * i386.md (subsi_3_zext): Fix output template.
4899
dfb84d62
MS
49002006-07-21 Mike Stump <mrs@apple.com>
4901
4902 * doc/invoke.texi (C++ Dialect Options): Note that
4903 -fvisibility-inlines-hidden doesn't affect explicitly
4904 instantiationed inline methods.
4905
79387e57
RS
49062006-07-20 Roger Sayle <roger@eyesopen.com>
4907
4908 * config.gcc (i[34567]86-*-solaris2*): Add usegas.h to $tm_file
4909 if the target assembler is GNU binutils' gas.
4910 * config/i386/sol2-10.h (ASM_SPEC): Check USE_GAS to determine
4911 whether to pass GNU gas or native as command line options.
4912
b70f0f48
JM
49132006-07-20 Jason Merrill <jason@redhat.com>
4914
4915 * tree.c (remove_attribute): New fn.
bd741f34 4916 * tree.h: Declare it.
b70f0f48 4917
05c433f3
PB
49182006-07-20 Paul Brook <paul@codesourcery.com>
4919
4920 PR 27363
4921 * cse.c (cse_insn): Add destination addresses to hash table. Check if
4922 they are invalidated by this instruction.
4923
b0e46dff
DS
49242006-07-21 Danny Smith <dannysmith@users.sourceforge.net>
4925
4926 PR target/28427
e753d130 4927 * config/i386/cygming.h (MAX_OFILE_ALIGNMENT): Define.
b0e46dff 4928
1cba2b96
EC
49292006-07-20 Eric Christopher <echristo@apple.com>
4930
4931 PR target/26877
4932 * config/i386/i386.h (OPTION_DEFAULT_SPECS): Reorder.
4933
96f342c1
EC
49342006-07-19 Eric Christopher <echristo@apple.com>
4935
4936 * config/t-slibgcc-darwin (stmp-lipo): Remove.
4937 Rewrite dependencies for libgcc_s.1.dylib.
4938
4841d432
JJ
49392006-07-19 Jakub Jelinek <jakub@redhat.com>
4940
4941 * except.c (duplicate_eh_regions_1): Clear next_peer.
4942
87c365a4
NS
49432006-07-17 Nathan Sidwell <nathan@codesourcery.com>
4944
4945 * doc/invoke.texi (RS/6000 and PowerPC Options): Document that
4946 -mlongcall does not guarantee all calls will be long.
4947 * doc/extend.texi (long_call/short_call): Document that longcall
4948 does not guarantee a long call will be used.
4949 (longcall/shortcall): Likewise.
4950
cb2eb96f
RS
49512006-07-18 Roger Sayle <roger@eyesopen.com>
4952
4953 PR middle-end/28283
4954 * expmed.c (expand_shift): Additionally check that the shift_cost
4955 is not MAX_COST and that INTVAL(op1) is less than MAX_BITS_PER_WORD
4956 before implementing a LSHIFT_EXPR as a sequence of additions.
4957 * config/sh/sh.c (shift_costs): Return MAX_COST to inform the
4958 middle-end that DImode shifts need to be synthesized by expand.
4959
548a6c6d
DN
49602006-07-18 Diego Novillo <dnovillo@redhat.com>
4961
4962 PR 28410
4963 * tree-ssa-operands.c (access_can_touch_variable): Update
4964 comment.
4965 Return true if ALIAS is .GLOBAL_VAR.
4966
b3cccd58
DD
49672006-07-18 David Daney <ddaney@avtrex.com>
4968
4969 * gcc.c (display_help): Fix typo in help text.
4970
fe24d485
OH
49712006-07-18 Olivier Hainque <hainque@adacore.com>
4972
4973 * tree.h (categorize_ctor_elements): Adjust prototype and add
4974 descriptive comment, both in accordance with the interface change
4975 described below.
4976 * varasm.c (constructor_static_from_elts_p): New function.
4977 Whether a constructor node is a valid static constant initializer
4978 if all its elements are.
4979 (initializer_constant_valid_p) <CONSTRUCTOR value>: Use it.
96f342c1 4980 * output.h: Declare it.
fe24d485
OH
4981 * expr.c (categorize_ctor_elements_1): Return whether the constructor
4982 is a valid constant initializer instead of computing the number of
4983 non-constant elements. Use constructor_static_from_elts_p for this
4984 purpose. Replace the head comment with an indication that this is a
4985 helper for categorize_ctor_elements.
4986 (categorize_ctor_elements): Same interface change as for the _1
4987 helper. Former head comment from this helper moved here, adjusted to
4988 account for the interface changes.
4989 (mostly_zeros_p): Adjust call to categorize_ctor_elements.
96f342c1 4990 (all_zeros_p): Likewise.
fe24d485
OH
4991 * gimplify.c (gimplify_init_constructor): Decide whether we can make
4992 static versions of the constructor from the categorize_ctor_elements
4993 return value instead of the formerly computed number of non-constant
4994 elements.
4995
57255173
PB
49962006-07-18 Paolo Bonzini <bonzini@gnu.org>
4997
e753d130
AP
4998 * configure: Regenerate.
4999 * Makefile.in (build_libsubdir): New configure substitution
5000 (build_libobjdir): New variable.
5001 (BUILD_LIBIBERTY): Use it.
57255173 5002
12050e44
VR
50032006-07-18 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
5004
5005 PR c/28286
5006 * c-pragma.c (handle_pragma_pack): Handle invalid constants.
5007
e1cf56b1
AO
50082006-07-18 Alexandre Oliva <aoliva@redhat.com>
5009
5010 PR c/26993
5011 * c-common.c (handle_weakref_attribute): Ignore attribute in
5012 the same conditions the alias attribute is ignored.
5013
e098f3a5
CD
50142006-07-17 Carlos O'Donell <carlos@codesourcery.com>
5015
5016 * dbxout.c (dbxout_function_end): Do not increment scope_labelno.
5017 (dbxout_begin_prologue): Increment scope_labelno.
5018
8bcbc000
RH
50192006-07-17 Richard Henderson <rth@redhat.com>
5020
5021 PR 27889
5022 * tree-nested.c (create_tmp_var_for): Set DECL_COMPLEX_GIMPLE_REG_P
5023 if needed.
5024
4f5afe7d
RS
50252006-07-17 Roger Sayle <roger@eyesopen.com>
5026 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
5027
5028 * config/i386/gmon-sol2.c: Silence compilation warnings by partially
5029 synchronizing code with config/sparc/gmon-sol2.c. Remove #if 0
5030 blocks. #include "tconfig.h" and "tsystem.h" to prototype system
5031 functions such as sbrk, write, etc.. Add function prototypes.
5032 Convert function declarations from K&R to ISO C. Cast pointers
5033 to "long" and "unsigned long" instead of "int" and "unsigned int".
5034 Convert tokens following #endif into comments.
5035
dc5abe77
TM
50362006-07-17 Toon Moene <toon@moene.indiv.nluug.nl>
5037
5038 * invoke.texi: Remove mention of f77; Reformat table for
5039 inline parameter options correctly; mention that -malign-double
5040 is default on x86-64 targets.
5041
64a7ab5f
ZD
50422006-07-17 Zdenek Dvorak <dvorakz@suse.cz>
5043
5044 * tree-chrec.c (avoid_arithmetics_in_type_p): New.
5045 (convert_affine_scev, chrec_convert_aggressive): Use
5046 avoid_arithmetics_in_type_p. Do not check for the subtypes
5047 separately.
5048
2763a67e
RS
50492006-07-17 Richard Sandiford <richard@codesourcery.com>
5050
5051 PR middle-end/28403
5052 * optabs.c (expand_doubleword_shift): Wrap the call to
5053 do_compare_rtx_and_jump with NO_DEFER_POP and OK_DEFER_POP.
5054
f8bdb931
RS
50552006-07-17 Richard Sandiford <richard@codesourcery.com>
5056
5057 PR middle-end/28402
5058 * optabs.c (expand_binop): Pass next_methods rather than methods
5059 to expand_doubleword_shift.
5060
24a7799e
R
50612006-07-17 J"orn Rennecke <joern.rennecke@st.com>
5062
5063 PR other/28251
5064 * tree.h (dump_addr): Declare.
5065 * print-tree.c (dump_addr): New function.
5066 (print_node_brief, print_node): Use it.
5067 * print-rtl.c (print_rtx): Likewise.
5068 * common.opt (-fdump-noaddr): New option.
5069 * doc/invoke.texi (-fdump-noaddr): Document.
5070 * loop-unroll.c (si_info_hash): Make hash independent of addresses.
5071 (ve_info_hash): Likewise.
5072
9d335249
AH
50732006-07-13 Andrew Haley <aph@redhat.com>
5074
5075 PR tree-optimization/19505
5076 * tree-cfgcleanup.c (tree_forwarder_block_p): If we have an EH
5077 edge leaving this block, make sure that the destination of this
5078 block has only one predecessor.
5079
2b65dae5
RG
50802006-07-17 Richard Guenther <rguenther@suse.de>
5081
5082 PR tree-optimization/28238
5083 * tree-inline.c (copy_bb): Check if we produced valid
5084 gimple copying and substituting a stmt. If not, gimplify
5085 it.
5086
3e27aa84
EB
50872006-07-16 Eric Botcazou <ebotcazou@adacore.com>
5088
5089 * optabs.c (maybe_encapsulate_block): New function extracted from...
5090 (emit_libcall_block): ...here. Invoke it on the block of insns to
5091 maybe emit REG_LIBCALL/REG_RETVAL notes around the block.
5092 (emit_no_conflict_block): Likewise.
5093
bb2ffd7f
EB
50942006-07-16 Eric Botcazou <ebotcazou@libertysurf.fr>
5095
c5ee132b 5096 * doc/install.texi (sparc-sun-solaris2*): Add GMP version number.
bb2ffd7f 5097
b0d5d5de
RS
50982006-07-15 Roger Sayle <roger@eyesopen.com>
5099
5100 * tree-gimple.c (is_gimple_stmt): Sink test of IS_EMPTY_STMT into
5101 a new NOP_EXPR case of the switch statement.
5102
72aeff7c
KK
51032006-07-15 Kaz Kojima <kkojima@gcc.gnu.org>
5104
5105 PR middle-end/28160
5106 * stor-layout.c (place_field): Take the bit field with
5107 an excessive size into account in the ms-bitfiled case.
5108
5109 PR middle-end/28161
5110 * stor-layout.c (place_field): Use DECL_BIT_FIELD_TYPE of
5111 the previous bit field.
5112
27714d43
ED
51132006-07-14 Eliot Dresselhaus <eliot@sonic.net>
5114
5115 PR target/27287
5116 * config/rs6000/spe.md (frob_di_df_2): Add m->r alternative.
5117
47a4949a
UW
51182006-07-14 Ulrich Weigand <uweigand@de.ibm.com>
5119
5120 * config/s390/linux-unwind.h (s390_fallback_frame_state): Detect
5121 signal frames correctly even when the signal was installed with
5122 sa_restorer set.
5123
1c1534e9 51242006-07-14 Carlos O'Donell <carlos@codesourcery.com>
03471b3f
CD
5125
5126 * dbxout.c (dbxout_begin_prologue): Emit LFBB label at function start.
96f342c1 5127 (dbxout_function_end): Use local label LFBB. Remove hook
1c1534e9 5128 DBX_OUTPUT_NFUN.
03471b3f
CD
5129 (dbxout_source_line): Use local label LFBB.
5130 (dbxout_block): Likewise.
5131 (dbx_output_lbrac): Remove hook DBX_OUTPUT_LBRAC.
5132 (dbx_output_rbrac): Remove hook DBX_OUTPUT_RBRAC.
5133 * config/rs6000/linux64.h: Remove DBX_OUTPUT_LBRAC, DBX_OUTPUT_RBRAC,
5134 and DBX_OUTPUT_NFUN.
5135
263108e1
JJ
51362006-07-13 Janis Johnson <janis187@us.ibm.com>
5137
5138 * doc/sourcebuild.texi (Test Directives): Document dg-shouldfail.
5139
88d03811
JH
51402006-07-13 Jan Hubicka <jh@suse.cz>
5141
5142 * cgraphunit.c (cgraph_varpool_analyze_pending_decls): Call
5143 align_variable.
5144 * output.h (align_variable): Declare.
5145 * varasm.c (align_variable): Export.
5146 * value-prof.c (tree_value_profile_transformations): Recompute iterator
5147 when basic block changed.
5148
6915d7f0
NC
51492006-07-13 Nick Clifton <nickc@redhat.com>
5150
5151 * config/sh/sh.c (sh_reorg): Ignore deleted insns whilst
5152 walking the LOG_LINKS chain.
96f342c1 5153
7c0de6a5
GK
51542006-07-12 Geoffrey Keating <geoffk@apple.com>
5155
5156 * doc/invoke.texi (C++ Dialect Options): Explain difference
5157 between -fvisibility-inlines-hidden and setting hidden
5158 visibility explicitly.
5159
3fb8727b
EC
51602006-07-12 Eric Christopher <echristo@apple.com>
5161
5162 * config/t-slibgcc-darwin (SHLIB_LINK): Don't munge stmp-lipo.
5163 (stmp-lipo): Depend on libgcc.a.
5164
5f89204e
KH
51652006-07-12 Kazu Hirata <kazu@codesourcery.com>
5166
5167 * tree.c: Fix a comment typo.
5168
8a01e7d9
N
51692006-07-12 Naveen.H.S <naveenh@kpitcummins.com>
5170
3fb8727b 5171 * config/m32c/muldiv.md (umulhisi3_c): Use only registers for
8a01e7d9
N
5172 dest.
5173 (umulhisi3_r): Likewise.
5174
93e89068
PC
51752006-07-12 Paolo Carlini <pcarlini@suse.de>
5176
5177 PR libstdc++/27878
5178 * doc/install.texi (mips-sgi-irix6): Add note about IRIX 6.5.x,
5179 x < 19, vs wchar_t support.
5180
45e49d96
NC
51812006-07-12 Nick Clifton <nickc@redhat.com>
5182
5183 * config/sh/sh.h (SUBTARGET_ASM_RELAX_SPEC): Use -isa=sh4-up
5184 instead of -isa=sh4.
5185
f2702694
MS
51862006-07-12 Mike Stump <mrs@apple.com>
5187
5188 * protoize.c (edit_fn_definition): Add volatile to clean_text_p.
5189
fb49f596
EC
51902006-07-10 Eric Christopher <echristo@apple.com>
5191
5192 * config/t-slibgcc-darwin: Rewrite.
5193
b24f7f6b
LB
51942006-07-10 Laurynas Biveinis <laurynas.biveinis@gmail.com>
5195
5196 PR bootstrap/20437
5197 * Makefile.in (configure): add missing aclocal.m4 and acinclude.m4
5198 dependencies.
5199
0ee5ccdf
MK
52002006-07-08 Matthias Klose <doko@debian.org>
5201
5202 * doc/sourcebuild.texi: Fix typo.
5203
72d41343
MS
52042006-07-07 Mike Stump <mrs@apple.com>
5205
5206 * toplev.c (process_options): Don't give -ffunction-sections may
5207 affect debugging warning for Mach-O.
5208
c81d6e2a
JW
52092006-07-07 James E Wilson <wilson@specifix.com>
5210
5211 * config/mips/mips.md (cpu): Add sb1a.
5212 * config/mips/sb1.md: Modify almost all patterns to accept sb1a in
5213 addition to sb1. Adjust comments to clarify SB-1A differences from
5214 SB-1.
5215 (ir_sb1a_load): New. Modify bypasses to use it.
5216 (ir_sb1a_simple_alu): Likewise.
5217 * config/mips/mips.c (mips_cpu_info_table): Add sb1a.
5218 (mips_rtx_cost_data): Add PROCESSOR_SB1A support.
5219 (mips_issue_rate): Add PROCESSOR_SB1A.
5220 (mips_multipass_dfa_lookahead): Use TUNE_SB1 instead of PROCESSOR_SB1.
5221 * config/mips/mips.h (processor_type): Add PROCESSOR_SB1A.
5222 (TARGET_SB1): Add PROCESSOR_SB1A check.
5223 (TUNE_SB1): Likewise.
5224
5225 * config/mips/mips-protos.h (mips_store_data_bypass_p): New.
5226 * config/mips/mips.c (mips_store_data_bypass_p): New.
5227 * config/mips/sb1.md: Use mips_store_data_bypass_p instead of
5228 store_data_bypass_p.
5229
1b13a490
PB
52302006-07-08 Paul Brook <paul@codesourcery.com>
5231
5232 PR target/27991
5233 * config/m68k/m68k.md: Add r-m patterns for 68881 movxf.
5234
bfabddb6
RG
52352006-07-07 Richard Guenther <rguenther@suse.de>
5236
5237 PR middle-end/28268
5238 * tree.h (build_one_cst): Declare.
5239 * tree.c (build_one_cst): New function.
5240 * tree-ssa-math-opts.c (get_constant_one): Remove.
5241 (insert_reciprocals): Use build_one_cst.
5242 * fold-const.c (fold_plusminus_mult): Likewise.
5243
83f676b3
RS
52442006-07-07 Roger Sayle <roger@eyesopen.com>
5245
5246 * pointer-set.c (pointer_set_destroy): Correct whitespace.
5247 * cfgloopanal.c (dump_graph): Likewise.
5248 * dojump.c (discard_pending_stack_adjust): Likewise.
5249 * fix-header.c (TARGET_EXTRA_INCLUDE, TARGET_EXTRA_PRE_INCLUDES):
5250 Likewise.
5251 * alloc-pool.c (dump_alloc_pool_statistics): Likewise.
5252 * function.c (finalize_block_changes): Likewise.
5253 * gcc-common.c (ggc_free_overhead, dump_gcc_loc_statistics): Likewise.
5254 * tree-ssa-dce.c (clear_control_dependence_bitmap): Likewise.
5255 * rtl.c (dump_rtx_statistics): Likewise.
fb49f596 5256 * tree-ssa-structalias.c (sort_fieldstack, init_alias_heapvars):
83f676b3
RS
5257 Likewise.
5258 * varray.c (dump_varray_statistics): Likewise.
5259 * dfp.c (encode_decimal32, decode_decimal32, encode_decimal64,
5260 decode_decimal64, encode_decimal128, decode_decimal128,
5261 decimal_real_to_decimal): Likewise.
5262
1ce35d26
RG
52632006-07-07 Richard Guenther <rguenther@suse.de>
5264
5265 PR tree-optimization/28187
5266 * tree-vrp.c (vrp_operand_equal_p): New function.
5267 (vrp_bitmap_equal_p): Likewise.
5268 (update_value_range): Use them to compare old and new
5269 max and min values.
5270
9e33de05
RS
52712006-07-06 Roger Sayle <roger@eyesopen.com>
5272
5273 * c-parser.c (c_parser_skip_to_end_of_block_or_statement): Add
5274 a default case to switch statement to silence compiler warnings.
5275
b6c03bcd
RS
52762006-07-06 Roger Sayle <roger@eyesopen.com>
5277
5278 PR target/27968
fb49f596 5279 * configure.ac (HAVE_AS_IX86_FFREEP): On x86 targets check whether
b6c03bcd
RS
5280 the configured assembler supports the x87's ffreep mnemonic.
5281 * configure: Regenerate.
5282 * config.in: Regenerate.
5283
5284 * config/i386/i386.c (output_387_ffreep): New function.
5285 (output_fp_compare): Use output_387_ffreep to emit ffreep insns.
5286 (output_387_reg_move): Likewise.
5287
27b56ba6
PE
52882006-07-06 Paul Eggert <eggert@cs.ucla.edu>
5289
5290 Port to hosts whose 'sort' and 'tail' implementations
5291 treat operands with leading '+' as file names, as POSIX
5292 has required since 2001. However, make sure the code still
5293 works on pre-POSIX hosts.
5294 * Makefile.in (slowcompare): Port to POSIX 1003.1-2001,
5295 which says you should use "tail -c +N" rather than "tail +Nc".
5296 Fix a bug: the old code incorrectly skipped 15 bytes, not 16.
5297
525dc87d
ZD
52982006-07-06 Zdenek Dvorak <dvorakz@suse.cz>
5299
b6c03bcd
RS
5300 * tree-ssa-loop-niter.c (scev_probably_wraps_p): Fix typo in
5301 argument name.
525dc87d 5302
429ec7dc
DE
53032006-07-06 David Edelsohn <edelsohn@gnu.org>
5304
5305 PR target/28150
5306 * config/rs6000/rs6000.c (rs6000_legitimate_address): Do not allow
5307 PRE_{INC,DEC} of TFmode.
5308
53092006-07-06 David Edelsohn <edelsohn@gnu.org>
5310 Alan Modra <amodra@bigpond.net.au>
5311
5312 PR target/28170
5313 * config/rs6000/rs6000.c (insvdi_rshift_rlwimi_p): Correct shiftop
5314 bounds. Simplify.
5315
cec12c7a
RO
53162006-07-06 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
5317
5318 PR target/28285
5319 * config/alpha/predicates.md (alpha_swapped_comparison_operator):
5320 Remove duplicate gtu.
5321
1937f939
JM
53222006-07-05 Jason Merrill <jason@redhat.com>
5323
5324 PR c++/13983
5325 PR c++/17519
5326 * stor-layout.c (finish_record_layout): Copy TYPE_PACKED to variants.
5327 * c-common.c (handle_packed_attribute): So don't copy it here.
5328 * c-decl.c (finish_struct): Don't copy TYPE_ALIGN.
5329
63b08b60
MS
53302006-07-05 Mike Stump <mrs@apple.com>
5331
5332 * doc/invoke.texi (Invoking G++): Clarify prose for g++.
5333
28a026d9
L
53342006-07-05 H.J. Lu <hongjiu.lu@intel.com>
5335
5336 PR target/26146
5337 * config.gcc: Check with_cpu for i[34567]86--*-solaris2.1[0-9]*.
5338
dc8f5205
RG
53392006-07-05 Richard Guenther <rguenther@suse.de>
5340
5341 PR target/28158
5342 * config/i386/i386.md (*negdf2_1): Restrict pattern to
5343 TARGET_SSE2 targets if using SSE math.
5344 (*absdf2_1): Likewise.
5345
30a843c3
RG
53462006-07-05 Richard Guenther <rguenther@suse.de>
5347
5348 PR tree-optimization/28162
5349 * fold-const.c (fold_binary): For (-A) * (-B) -> A * B
5350 make sure to convert the operands to the correct type.
5351
d898f3ce
PB
53522006-07-04 Paolo Bonzini <bonzini@gnu.org>
5353
5354 PR tree-optimization/28218
5355
5356 * tree-ssa-math-opts.c (execute_cse_reciprocals): Fix calls
5357 to calculate and free the dominator information.
fb49f596 5358
706601d9
PG
53592006-07-04 Peter O'Gorman <peter@pogma.com>
5360
5361 * mklibgcc.in: chmod 644 before ranlib during install.
5362
dbc02e7f
AS
53632006-07-04 Andrew Stubbs <andrew.stubbs@st.com>
5364 J"orn Rennecke <joern.rennecke@st.com>
5365
5366 * configure.ac (.eh_frame data check): Use diff -b.
5367
0b50988a
EB
53682006-07-04 Eric Botcazou <ebotcazou@libertysurf.fr>
5369
5370 PR bootstrap/18058
5371 * Makefile.in (BUILD_RTL): Add build/vec.o.
5372 (build/gencondmd.o): Filter out -fkeep-inline-functions.
5373 (build/genextract): Delete.
5374 (build/genautomata): Likewise.
5375
84e9ad15
AM
53762006-07-04 Alan Modra <amodra@bigpond.net.au>
5377
5378 PR target/28207
5379 * config/rs6000/rs6000.c (function_arg_boundary): Double-word align
5380 128-bit IBM long doubles for ABI_V4.
5381
11fc4275
EB
53822006-07-03 Eric Botcazou <ebotcazou@adacore.com>
5383
5384 * tree.c (range_in_array_bounds_p): New predicate.
5385 * tree.h (range_in_array_bounds_p): Declare it.
5386 * tree-eh.c (tree_could_trap_p) <ARRAY_RANGE_REF>: Use it to
5387 return a less conservative answer.
5388 * tree-sra.c (struct sra_elt): Add new pointer field 'groups'
5389 and flag 'is_group'.
5390 (IS_ELEMENT_FOR_GROUP): New macro.
5391 (FOR_EACH_ACTUAL_CHILD): Likewise.
5392 (next_child_for_group): New helper function.
5393 (can_completely_scalarize_p): Take into account groups.
5394 (sra_hash_tree): Handle RANGE_EXPR.
5395 (sra_elt_eq): Likewise.
5396 (lookup_element): Be prepared for handling groups.
5397 (is_valid_const_index): Delete.
5398 (maybe_lookup_element_for_expr) <ARRAY_REF>: Use in_array_bounds_p
5399 instead of is_valid_const_index.
5400 <ARRAY_RANGE_REF>: New case.
5401 (sra_walk_expr) <ARRAY_REF>: Use in_array_bounds_p instead of
5402 is_valid_const_index.
5403 <ARRAY_RANGE_REF>: Do not unconditionally punt.
5404 (scan_dump): Dump info for groups too.
5405 (decide_instantiation_1): Likewise.
5406 (decide_block_copy): Assert that the element is not a group.
5407 Propagate decision to groups.
5408 (generate_one_element_ref): Handle RANGE_EXPR.
5409 (mark_no_warning): Iterate over actual childs.
5410 (generate_copy_inout): Likewise.
5411 (generate_element_copy): Likewise.
5412 (generate_element_zero): Likewise.
5413 (generate_element_init_1): Likewise.
5414 (dump_sra_elt_name): Handle RANGE_EXPR.
5415
31a9760a
RS
54162006-07-03 Roger Sayle <roger@eyesopen.com>
5417
5418 PR tree-optimization/26251
5419 * tree-ssa-threadupdate.c (redirection_block_p): New function.
5420 (thread_block): When optimizing for size refuse to thread jumps
5421 that would require duplication of blocks other than redirection
5422 blocks.
5423
b6348cb3
PB
54242006-07-03 Paolo Bonzini <bonzini@gnu.org>
5425
5426 * configure.ac: Fix thinko in previous check-in.
5427 * configure: Regenerate.
5428
1546bb64
PB
54292006-07-03 Paolo Bonzini <bonzini@gnu.org>
5430
5431 PR other/27063
5432 * configure.ac (for lang...): Simplify nesting of conditionals.
5433 Test subdir_requires for non-enabled languages. Move processing
5434 of lang_opt_files and lang_tree_fiels below that test.
5435 * configure: Regenerate.
5436 * doc/sourcebuild.texi (Front End Config): Document subdir_requires.
5437
3e72a66f
MM
54382006-07-01 Martin Michlmayr <tbm@cyrius.com>
5439
5440 * doc/gcov.texi (Invoking Gcov): Add a missing word.
5441
2a8a8292
KH
54422006-06-30 Kazu Hirata <kazu@codesourcery.com>
5443
5444 * cfgexpand.c, config/i386/i386.c, genpreds.c, tree-cfg.c: Fix
5445 comment typos.
5446
b9e75696
JM
54472006-06-29 Jason Merrill <jason@redhat.com>
5448
5449 PR c++/26905
5450 PR c++/26612
5451 PR c++/27000
5452 PR c++/26984
5453 PR c++/19134
5454 * tree.c (build_decl_stat): Don't hande #pragma visibility here.
5455 * c-common.c (c_determine_visibility): Handle it here.
fb49f596 5456 * c-decl.c (finish_decl): Call c_determine_visibility for
b9e75696
JM
5457 functions, too.
5458 * flags.h (enum symbol_visibility): Sort from most to least visibility.
5459 * tree.h: Likewise.
5460 * varasm.c (default_assemble_visibility): Likewise.
5461 * c-common.c (handle_visibility_attribute): Complain about trying
5462 to give visibility to an already defined class, or trying to change
5463 declared visibility. Always attach the attribute.
5464
5465 PR c++/26905
5466 PR c++/21675
5467 PR c++/17470
5468 * attribs.c (decl_attributes): Ignore type-in-place attributes
5469 once the type has been defined.
5470
8646f3df
RS
54712006-06-29 Roger Sayle <roger@eyesopen.com>
5472
5473 PR middle-end/27428
5474 * c-lex.c (c_lex_with_flags) <CPP_N_INVALID>: Increment errorcount
5475 to indicate the cpplib has issued an error message for us.
5476
f8c2645c
AL
54772006-06-29 Asher Langton <langton2@llnl.gov>
5478
5479 PR target/25765
5480 * config/i386/i386.c (ix86_output_function_epilogue): Don't
5481 insert a label at the end of an function under Mach-O.
fb49f596 5482
5656a184
EC
54832006-06-29 Eric Christopher <echristo@apple.com>
5484 Evan Cheng <evan.cheng@apple.com>
5485
5486 * predicates.md (vector_all_ones_operand): New.
5487 (nonimmediate_or_sse_const_operand): Ditto.
5488 * config/i386/i386-protos.h (standard_sse_constant_opcode): Declare.
5489 * config/i386/i386.c (standard_sse_constant_opcode): Define.
5490 (standard_sse_mode_p): Ditto.
5491 (standard_sse_constant_p): Add case for -1 vector.
5492 (ix86_expand_vector_move): Try to use.
5493 * sse.md (*mov<mode>_internal): Use nonimmediate_or_sse_const_operand.
5494 Call standard_sse_constant_opcode.
5495 (*movv4sf_internal): Ditto.
5496 (*movv2df_internal): Ditto.
5497
c8d560fa
RS
54982006-06-29 Roger Sayle <roger@eyesopen.com>
5499
5500 * genpreds.c (write_match_code_switch): Correctly use XSTR instead
5501 of XEXP to extract the operands of a MATCH_CODE rtx.
5502
43b50eb2
AP
55032006-06-28 Andrew Pinski <pinskia@gmail.com>
5504
5505 * tree.c (tree_size): Do not waste tail padding in
5506 struct tree_string and make the size be the same as
5507 build_string will generate.
5508
99495729
JM
55092006-06-28 Jason Merrill <jason@redhat.com>
5510
5511 PR c++/27768
5512 * tree-ssa-alias.c (compute_flow_insensitive_aliasing): Add
5513 may_aliases already in the tag's annotations to the bitmap.
5514
8547c7f8
RS
55152006-06-28 Roger Sayle <roger@eyesopen.com>
5516
5517 * genpreds.c (write_predicate_stmts) <IOR>: Add missing break.
5518
7caf6734
RS
55192006-06-28 Roger Sayle <roger@eyesopen.com>
5520
5521 * genpreds.c (generate_switch_p): New function.
5522 (add_mode_tests): Push the new mode test down inside an AND expr
5523 if this allows the switch-suitable MATCH_CODE to be near the root.
5524 (write_match_code_switch): New function to write a MATCH_CODE as
5525 a switch statement.
5526 (write_predicate_stmts): New function to write a predicate RTX
5527 expression as a sequence of statements.
5528 (write_one_predicate_function): Use write_predicate_stmts.
5529 (write_tm_constrs_h): Likewise.
5530
f340b6fc
FF
55312006-06-26 Fred Fish <fnf@specifix.com>
5532
5533 * config/mips/t-sb1: New file.
5534 * config.gcc (mipsisa64sb1-*-elf*): Add mips/t-sb1 to
5535 tmake_file list.
5536
ff485e71
DD
55372006-06-26 DJ Delorie <dj@redhat.com>
5538
5539 * config/m32c/m32c.c (m32c_print_operand): Fix sign-merging logic.
5540
55412006-06-26 Naveen H.S <naveenh@kpitcummins.com>
5542 Jayant Sonar <jayants@kpitcummins.com>
5543 Jaydeep Vipradas <jaydeepv@kpitcummins.com>
5544
5545 * config/m32c/addsub.md (addsi3, addsi3_1, addsi3_2): New.
5546 (subsi3, subsi3_1, subsi3_2): New.
5547 * config/m32c/bitops.md (andsi3, iorsi3, xorsi3): New.
5548 * config/m32c/mov.md (SI mov peephole): New.
5549 * config/m32c/m32.c (m32c_immd_dbl_mov): New.
5550 * config/m32c/m32c-protos.h (m32c_immd_dbl_mov): New.
5656a184 5551
500c353d
OH
55522006-06-26 Olivier Hainque <hainque@adacore.com>
5553
5554 * function.c (aggregate_value_p): Honor DECL_BY_REFERENCE on
5555 a CALL_EXPR target function declaration.
5556
28df01ac
RG
55572006-06-26 Richard Guenther <rguenther@suse.de>
5558
5559 * tree.c (build_string): Do not waste tail padding in
5560 struct tree_string.
5561
a469a4f2
RG
55622006-06-26 Richard Guenther <rguenther@suse.de>
5563
5564 * ggc-page.c (init_ggc): Add missing element to size_lookup
5565 table.
5566
5567 Revert
5568 2006-06-23 Richard Guenther <rguenther@suse.de>
5569
5570 * ggc-page.c (init_ggc): Do not round up the extra_order_size_table
5571 sizes to MAX_ALIGNMENT. Fix the size_lookup table to honour
5572 alignment requests instead. Add verification code.
5573 Add struct tree_function_decl and struct tree_binfo size to
5574 extra_order_size_table. Add missing element to size_lookup
5575 table.
5576
858214db
EB
55772006-06-25 Eric Botcazou <ebotcazou@adacore.com>
5578
5579 PR middle-end/28151
5580 * fold-const.c (const_binop): Be prepared for self returning zero.
5581 Simplify code handling complex values.
5582
61c25908
OH
55832006-06-24 Olivier Hainque <hainque@adacore.com>
5584
5585 * gimplify.c (gimplify_scalar_mode_aggregate_compare): New function.
5586 (gimplify_expr): Use it for tcc_comparison of operands of non BLKmode
5587 aggregate types.
5588
55892006-06-24 Olivier Hainque <hainque@adacore.com>
5590
5591 * tree-ssa-loop-im.c (for_each_index): Handle ARRAY_RANGE_REF as
5592 ARRAY_REF, so have the callback called for the low bound expression.
5593
5fc89bfd
JJ
55942006-06-23 Janis Johnson <janis187@us.ibm.com>
5595
5596 * tree.h (DECIMAL_FLOAT_TYPE_P): New.
5597 * c-typeck.c (c_common_type): Disallow operations on decimal float
5598 types and other float types.
5599 * convert.c (convert_to_real): Don't ignore conversions involving
5600 decimal float types.
5601
a441447f
OH
56022006-06-23 Olivier Hainque <hainque@adacore.com>
5603
5604 * tree.c (max_int_size_in_bytes): New function, inspired from
5605 code in function.c:assign_temp.
5606 * tree.h (max_int_size_in_bytes): Declare.
5607 * function.c (assign_temp): Use it.
5608 * gimplify.c (create_tmp_var): Relax the assertions on the type
5609 properties, not mandating constant size any more.
5610 (force_constant_size): New static function.
5611 (gimple_add_tmp_var): Use it, forcing variable size to a
5612 constant upper bound if it is not constant on entry.
5613
4e2bb0a4
DS
56142006-06-23 Danny Smith <dannysmith@users.sourceforge.net>
5615
5616 PR target/27789
5617 * config/i386/winnt.c (ix86_handle_selectany_attribute): Move check
5618 for initialization and setting of one_only flag to ...
5619 (i386_pe_encode_section_info): ...here.
5620 (i386_pe_dllimport_p): Check for DECL_DLLIMPORT_P also.
5621 Recheck that the symbol has not been defined.
5622
ecf7b86f
RG
56232006-06-23 Richard Guenther <rguenther@suse.de>
5624
5625 * ggc-page.c (init_ggc): Do not round up the extra_order_size_table
5626 sizes to MAX_ALIGNMENT. Fix the size_lookup table to honour
5627 alignment requests instead. Add verification code.
5628 Add struct tree_function_decl and struct tree_binfo size to
5629 extra_order_size_table. Add missing element to size_lookup
5630 table.
5631
e577c8c0
RS
56322006-06-22 Roger Sayle <roger@eyesopen.com>
5633 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
5634
5635 PR middle-end/28131
5636 * expr.c (expand_expr_real_1) <VECTOR_CST>: Check whether the
5637 call to lang_hooks.types.type_for_mode returned NULL_TREE.
5638
f64ad1d3
BE
56392006-06-23 Ben Elliston <bje@au.ibm.com>
5640
5641 * dfp.c (decimal_to_decnumber): Do not use decNumberNegate to
5642 negate dn -- manipulate it directly.
5643
8c339083
RS
56442006-06-22 Roger Sayle <roger@eyesopen.com>
5645 Steven Bosscher <stevenb.gcc@gmail.com>
5646
5647 PR target/27531
5648 * reload1.c (gen_reload): Call mark_jump_label on the new insns
5649 generated by gen_move_insn to add REG_LABEL notes if necessary.
5650
03c8b1be
BW
56512006-06-22 Bob Wilson <bob.wilson@acm.org>
5652
5653 * config/xtensa/lib1funcs.asm (MIN_ESA): Delete.
5654 (leaf_entry): Remove use of MIN_ESA.
5655
0ef90296
ZD
56562006-06-22 Zdenek Dvorak <dvorakz@suse.cz>
5657
5658 PR rtl-optimization/28121
5659 * cfgexpand.c (tree_expand_cfg): Clean EDGE_EXECUTABLE flag from
5660 the entry edge.
5661
a1ec220c
DD
56622006-06-21 DJ Delorie <dj@redhat.com>
5663
5664 * config/m32c/muldiv.md (mulhisi3_i): Only use registers for dest
5665 (TN-16C-A156A/E).
5666 (mulhisi3_r): Likewise.
5667
35fa8915
RS
56682006-06-21 Richard Sandiford <richard@codesourcery.com>
5669
5670 PR middle-end/28034
5671 * coverage.c (coverage_counter_alloc): Leave the index type
5672 unspecified.
5673 (coverage_counter_alloc): Use null arguments for operands 2 and 3
5674 of the ARRAY_REF.
5675
17d6caa1
AP
56762006-06-21 Andrew Pinski <pinskia@physics.uc.edu>
5677
5678 * doc/invoke.texi (-fopenmp) Move to "Options Controlling C Dialect"
5679 section from the "Options for Code Generation Conventions".
5680
b0100a44
RH
56812006-06-21 Richard Henderson <rth@redhat.com>
5682
5683 PR target/26347
5684 PR target/27082
5685 * config/alpha/predicates.md (small_symbolic_operand): Deny weak
5686 symbols.
5687 (global_symbolic_operand): Allow weak symbols, even if local_p.
5688
75715cf6
EB
56892006-06-21 Eric Botcazou <ebotcazou@adacore.com>
5690
5691 * tree-ssa-loop-ivopts.c (may_be_nonaddressable_p): New function.
5692 (find_interesting_uses_address): Punt if above function returns true.
5693
18fc9bd4
RG
56942006-06-21 Richard Guenther <rguenther@suse.de>
5695
5696 * configure: Regenerated.
5697
0882b52e
JM
56982006-06-21 Joseph Myers <joseph@codesourcery.com>
5699
5700 * config/mips/mips.c (function_arg): Where one part of a
5701 complex argument is in registers and the other part in the stack,
5702 return a REG not a PARALLEL.
5703
0f57bf40
MM
57042006-06-21 Mark Mitchell <mark@codesourcery.com>
5705
5706 * configure.ac: Set gcc_gxx_include_dir to $target/include/c++
5707 when cross-compiling. Do not substitute libstdcxx_incdir.
5708 * configure: Regenerated.
5709
0841534a
JJ
57102006-06-21 Jakub Jelinek <jakub@redhat.com>
5711
5712 * varasm.c (mergeable_string_section): Check for embedded NULs and
5713 NUL termination in the first int_size_in_bytes (TREE_TYPE (decl))
5714 rather than TREE_STRING_LENGTH bytes.
5715
470f18fc
RG
57162006-06-21 Richard Guenther <rguenther@suse.de>
5717
5718 * ggc-page.c (extra_order_size_table): Add var_ann_d,
5719 tree_ssa_name, bitmap_element and phi_node with 4 arguments
5720 sizes.
5721
b16fb82d
RG
57222006-06-21 Richrad Guenther <rguenther@suse.de>
5723
5724 * tree-ssa-loop-niter.c (simplify_using_initial_conditions):
5725 Limit iteration over the dominators.
5726
8043a72a
RS
57272006-06-20 Roger Sayle <roger@eyesopen.com>
5728
5729 * config/mips/iris6.h (LIB_SPEC): Add support for -pthread.
5730 (SUBTARGET_CPP_SPEC): Define _REENTERANT if -pthread specified.
5731
5a6ccafd
RG
57322006-06-20 Richard Guenther <rguenther@suse.de>
5733 Michael Matz <matz@suse.de>
5734
5735 * alloc-pool.h (free_alloc_pool_if_empty): Prototype new
5736 function.
5737 * alloc-pool.c (free_alloc_pool_if_empty): New function.
5738 * et-forest.h (et_free_pools): Prototype new function.
5656a184 5739 * et-forest.c (et_free_tree_force): Free parent occurrence.
5a6ccafd
RG
5740 (et_free_pools): New function.
5741 * dominance.c (free_dominance_info): Free et-forest alloc
5742 pools.
5743
1000b34d
RS
57442006-06-20 Roger Sayle <roger@eyesopen.com>
5745
5746 * expr.c (expand_expr_real_1) <VECTOR_CST>: For vector constants with
5747 integer modes, attempt to directly construct an integer constant.
5748
5749 * fold-const.c (native_encode_vector): Determine the size of each
5750 element from the vector type instead of the first vector element.
5751
5752 * tree.c (build_constructor_single): Mark a CONSTRUCTOR as constant,
5753 if all of its elements/components are constant.
5754 (build_constructor_from_list): Likewise.
5755
8fdbc9c6
ZD
57562006-06-20 Zdenek Dvorak <dvorakz@suse.cz>
5757
5758 PR tree-optimization/27331
5759 * tree-data-ref.c (free_data_ref): New function.
5760 (create_data_ref): Fail if the data reference has unknown access
5761 function.
5762 (free_data_refs): Use free_data_ref.
5763
73dab33b
AP
57642006-06-19 Andrew Pinski <pinskia@gmail.com>
5765
5766 PR middle-end/28075
5767 * tree-inline.c (setup_one_parameter): Strip useless
5768 type conversion before adding it to the IR.
5769 (declare_return_variable): Likewise.
5770
48e2909e
MM
57712006-06-19 Martin Michlmayr <tbm@cyrius.com>
5772
5773 PR c/27149
5774 * c-common.c (c_common_truthvalue_conversion): Fix grammar in warning.
5775
ca84a9a2
MS
57762006-06-19 Mike Stump <mrs@apple.com>
5777
5778 * tree.c (variably_modified_type_p): VM arguments don't make the
5779 type a VM type.
5780
81126126
RG
57812006-06-19 Richard Guenther <rguenther@suse.de>
5782
5783 * tree-ssa-pre.c (try_combine_conversion): Strip useless
5784 type conversions after folding.
5785
f5938dcd
RG
57862006-06-19 Richard Guenther <rguenther@suse.de>
5787
5788 * ggc-page.c (extra_order_size_tab): Add entries with
5789 size of struct function and basic_block.
5790 (size_lookup): Extend to cover sizes up to 511.
5791 (ggc_alloc_stat): Adjust user.
5792 (ggc_pch_count_object): Likewise.
5793 (ggc_pch_alloc_object): Likewise.
5794 (ggc_pch_write_object): Likewise.
5795
20fb52af
ZD
57962006-06-19 Zdenek Dvorak <dvorakz@suse.cz>
5797
5798 * tree-ssa-loop-niter.c (implies_ge_p): New function.
5799 (derive_constant_upper_bound): Handle OP0 - CST in unsigned types
5800 correctly.
5801
7ed9c001
DC
58022006-06-19 Denis Chertykov <denisc@overta.ru>
5803
5804 * config/avr/libgcc.S : Correct my wrong previous commit.
5805
fa00f91b
RS
58062006-06-19 Roger Sayle <roger@eyesopen.com>
5807
5808 PR target/27861
5809 * expmed.c (expand_shift): On SHIFT_COUNT_TRUNCATED targets, we may
5810 have stripped a SUBREG from the shift count, so we may need to
5811 convert_to_mode back to the type's mode before calling make_tree.
5812 Use new_amount instead of amount to avoid expanding a tree twice.
5813
096dce1b
RG
58142006-06-19 Richard Guenther <rguenther@suse.de>
5815
5816 PR middle-end/28045
5817 * fold-const.c (operand_equal_p): Check if the argument types
5818 have the same precision before stripping NOPs.
5819
46b86adc
DB
58202006-06-19 Daniel Berlin <dberlin@dberlin.org>
5821
5822 Fix PR tree-optimization/27341
5823 * tree-cfg.c (gimplify_val): Call mark_new_vars_to_rename on the
5824 statement we get.
5656a184 5825 * tree-complex.c (pass_lower_complex): Update SMT usage.
46b86adc 5826
7e665d18
AK
58272006-06-19 Andreas Krebbel <krebbel1@de.ibm.com>
5828
5656a184 5829 * config/s390/s390.md ("doloop_si64", "doloop_si31", "doloop_di"):
7e665d18
AK
5830 Add a new alternative to the constraint strings. Add move of
5831 operand 1 to 3 to the splitter definition.
5832 ("doloop_si_long"): Second contraint alternative removed.
5833
4301ec4f
AS
58342006-06-08 Anatoly Sokolov <aesok@post.ru>
5835
5836 * config/avr/avr.h (avr_have_movw_lpmx_p): Declare.
5656a184 5837 (TARGET_CPU_CPP_BUILTINS): Add __AVR_HAVE_MOVW__ and
4301ec4f
AS
5838 __AVR_HAVE_LPMX__.
5839 (AVR_HAVE_MOVW) Define.
5840 (ASSEMBLER_DIALECT): Use AVR_HAVE_MOVW.
5841 (ASM_SPEC): Add avr25.
5842 (LINK_SPEC): Add avr25.
5843 * config/avr/avr.c (avr_have_movw_lpmx_p): Add.
5844 (base_arch_s): Add new member 'have_movw_lpmx'.
5845 (avr_arch_types): Init 'have_movw_lpmx'.
5846 (avr_mcu_types): Add 'avr25'. Move attiny13, attiny2313, attiny24,
5847 attiny44, attiny84, attiny25, attiny45, attiny85, attiny261,
5848 attiny461, attiny861 and at86rf401 in 'avr25' arhitecture.
5849 (avr_override_options): Init 'avr_have_movw_lpmx_p'.
5656a184 5850 (output_movhi, output_movsisf, ashlsi3_out, avr_rtx_costs): Use
4301ec4f
AS
5851 AVR_HAVE_MOVW.
5852 (avr_file_start): Do not output '.arh' derective.
5853 * config/avr/libgcc.S (mov_l): Use __AVR_HAVE_MOVW__.
5854 (__do_copy_data): Use __AVR_HAVE_LPMX__.
5855 * config/avr/avr.md (mcu_enhanced): Delete.
5856 (mcu_have_movw): Define.
5857 (negsi2, extendhisi2, zero_extendhisi2): Use 'mcu_have_movw'.
5858 (call_insn, call_value_insn): Use 'call_insn' and __AVR_HAVE_MOVW__.
5859 * config/avr/t-avr(MULTILIB_OPTIONS, MULTILIB_DIRNAMES): Add avr25.
5860 (MULTILIB_MATCHES): Add attiny13, attiny2313, attiny24, attiny44,
5656a184 5861 attiny84, attiny25, attiny45, attiny85, attiny261, attiny461,
4301ec4f
AS
5862 attiny861 and at86rf401 devices.
5863
40327e03
JZ
58642006-06-18 Jie Zhang <jie.zhang@analog.com>
5865
5866 * config/bfin/bfin.c (MAX_LOOP_LENGTH): Define to be 2042 instead
5867 of 4096.
5868
c3cb54c6
KB
58692006-06-17 Karl Berry <karl@gnu.org>
5870
5871 * doc/cpp.texi, doc/cppinternals.texi, doc/gcc.texi,
5872 doc/gccint.texi, doc/install.texi (@dircategory): Use
5873 "Software development" instead of "Programming", following
5874 the Free Software Directory.
5875
31ebc801
AO
58762006-06-17 Alexandre Oliva <aoliva@redhat.com>
5877
5878 * config/i386/i386.c (legitimate_tls_address)
5879 <TARGET_GNU2_TLS>: Add tp after DTPOFF.
5880 * config/i386/i386.md (*tls_dynamic_gnu2_combine_32): Adjust.
5881 (*tls_dynamic_gnu2_combine_64): Likewise.
5882
1af8dcbf
RG
58832006-06-16 Richard Guenther <rguenther@suse.de>
5884
5885 PR middle-end/27116
5886 * fold-const.c (negate_expr_p): Do not introduce undefined
5887 overflow in negating INTEGER_CSTs.
5888 (fold_negate_expr): Rename from negate_expr. Revert last
5889 change for folding BIT_NOT_EXPR. Change semantics to
5890 return NULL_TREE for non-simplified negations. Do not
5891 strip type conversions and unify type handling.
5892 (negate_expr): New function, wrap around fold_negate_expr
5893 but ensure building a tree always. Strip type conversions
5894 here, fold to result type.
5895 (fold_unary): Use fold_negate_expr for folding NEGATE_EXPR.
5896
2d0df1f9
RS
58972006-06-16 Roger Sayle <roger@eyesopen.com>
5898
5899 PR middle-end/27802
5900 * reg-stack.c (subst_stack_regs): Handle noreturn function calls
5901 that (would) return their results in stack registers.
5902
47392a21
MM
59032006-06-16 Michael Matz <matz@suse.de>
5904 Richard Guenther <rguenther@suse.de>
5905
5906 * fold-const.c (fold_truthop): Only return new tree node if
5907 we canonicalized something.
5908
55dea919
RG
59092006-06-16 Richard Guenther <rguenther@suse.de>
5910
5911 * function.h (enum function_frequency): Move declaration
5912 out of struct function.
5913 (struct function): Move bool fields and the enum to the bitfield
5914 section. Reorder elements to avoid padding. Remove unused
5915 fields left over from the RTL inliner removal.
5916 * function.c (free_after_compilation): Do not zero removed fields.
5917 * Makefile.in (ipa-reference.o): Add $(FUNCTION_H) dependency.
5918 (ipa-type-escape.o): Likewise.
5919
b4e19405
RG
59202006-06-16 Richard Guenther <rguenther@suse.de>
5921
5922 * cgraph.h (struct cgraph_local_info): Turn bool elements
5923 into a bitfield.
5924 (struct cgraph_node): Likewise.
5925 (struct cgraph_varpool_node): Likewise.
5926
d817ed3b
RG
59272006-06-15 Richard Guenther <rguenther@suse.de>
5928
5929 * fold-const.c (fold_truth_not_expr): Rename from
5930 invert_truthvalue. Give it fold_* semantics to avoid
5931 generating garbage.
5932 (invert_truthvalue): New function. Wrapper around
5933 fold_truth_not_expr.
5934 (optimize_minmax_comparison): Avoid creating garbage.
5935 (fold_unary): Use fold_truth_not_expr for folding
5936 TRUTH_NOT_EXPR.
5937 (fold_ternary): Replace uses of invert_truthvalue with
5938 fold_truth_not_expr where applicable.
5939 * tree.h (fold_truth_not_expr): Prototype.
5940
5d35c171
RG
59412006-06-16 Richard Guenther <rguenther@suse.de>
5942
5943 PR tree-optimization/27781
5944 * Makefile.in (ipa-pure-const.o): Add $(TARGET_H) dependency.
5945 * ipa-pure-const.c (target.h): Include.
5946 (analyze_function): Do not analyze functions that do not
5947 bind locally.
5948
82460c75 59492006-06-15 Andrew MacLeod <amacleod@redhat.com>
5656a184 5950
82460c75
AM
5951 PR middle-end/27793
5952 * tree-dfa.c (referenced_vars_dup_list): Remove.
5953 (find_referenced_vars): Remove assert.
5954 (referenced_var_check_and_insert): Replace dup list with assert.
5955 * tree-ssa.c (delete_tree_ssa): Remove dup list processing.
5956 * tree-flow.h (referenced_vars_dup_list): Remove extern decl.
5957
4f6c9110
RG
59582006-06-15 Richard Guenther <rguenther@suse.de>
5959
5960 * tree-ssa-structalias.c (alias_get_name): Avoid creating
5961 extra unused identifiers if not dumping.
5962 (create_variable_info_for): Likewise.
5963
0ad1d5a1
ZD
59642006-06-15 Zdenek Dvorak <dvorakz@suse.cz>
5965
5966 * tree-ssa-loop-niter.c (implies_nonnegative_p): New function.
5967 (derive_constant_upper_bound): Derive more precise upper bound in
5968 common cases. Return type changed to double_int.
5969 (record_estimate): Reflect the changed return type of
5970 derive_constant_upper_bound.
5971 * double-int.c (double_int_zext, double_int_sext): Fix.
5972
ec6c7392
PB
59732006-06-15 Paolo Bonzini <bonzini@gnu.org>
5974
5975 * configure.ac (CFLAGS): Get them from the toplevel or from the
5976 configure invocation.
5977 * configure: Regenerate.
5978 * Makefile.in (CFLAGS): Substitute value provided by configure.
5979
fe89d797
MM
59802006-06-14 Mark Mitchell <mark@codesourcery.com>
5981
5982 PR c++/26559
5983 * c-common.h (c_finish_omp_atomic): Adjust declaration.
5984 * c-omp.c (c_finish_omp_atomic): Return the expression to perform,
5985 rather than calling add_stmt on it.
5986 * c-parser.c (c_parser_omp_atomic): Adjust accordingly.
5987
184f4c56
AK
59882006-06-14 Andreas Krebbel <krebbel1@de.ibm.com>
5989
5990 PR middle-end/27959
5991 * reload1.c (reload): Remove registers returned by update_eliminables
5992 from used_spill_regs.
5993
e3d437c0
DD
59942006-06-13 DJ Delorie <dj@redhat.com>
5995
5996 * config/m32c/muldiv.md (mulpsi3): Expect arbitrary constants.
5997
9288b845
CD
59982006-06-13 Carlos O'Donell <carlos@codesourcery.com>
5999
6000 * Makefile.in: Define HTMLS_BUILD, HTMLS_INSTALL,
6001 html__strip_dir, html__mkdir_p. Enhance install-html target.
5656a184 6002 * configure.ac: AC_SUBST datarootdir, docdir and htmldir.
9288b845
CD
6003 * configure: Regenerate.
6004
6b4e9576
FJ
60052006-06-13 Fariborz Jahanian <fjahanian@apple.com>
6006
5656a184 6007 * fold-const.c (fold_cond_expr_with_comparison): Check for
6b4e9576
FJ
6008 Objective-C++ as language in deciding COND_EXPR transformation.
6009
31b6f0ae
R
60102006-06-06 J"orn Rennecke <joern.rennecke@st.com>
6011
6012 PR target/28014:
6013 * config/sh/t-sh (LIB1ASMFUNCS): Add _udiv_qrnnd16
6014 * config/sh/sh.c (print_operand): Add !SHMEDIA functionality to 'M'.
6015 * config/sh/lib1funcs.h (SL, SL1): Define.
6016 * config/sh/lib1funcs.asm (__udiv_qrnnd16): New hidden function.
6017 * longlong.h (__sh__): Define umul_ppmm, udiv_qrnnd and sub_ddmmss.
6018 * config/sh/t-sh ($(T)unwind-dw2-Os-4-200.o): New rule.
6019 (OBJS_Os_4_200): New variable.
6020 ($(T)libgcc-Os-4-200.a): Use it.
6021 * sh.md (udivsi3): For TARGET_DIVIDE_CALL_TABLE, avoid function call
6022 when dividing 1 and/or by 0.
6023
de4fb767
RS
60242006-06-13 Roger Sayle <roger@eyesopen.com>
6025
6026 * configure.ac (HAS_MCONTEXT_T_UNDERSCORES): Include <sys/signal.h>
6027 before <ucontext.h> to define sigset_t required by <sys/ucontext.h>.
6028 * configure: Regenerate.
6029
f0f1c408
JZ
60302006-06-13 Jie Zhang <jie.zhang@analog.com>
6031
6032 * config/bfin/bfin.c (bfin_reorg_loops): Only call recog_memoized ()
6033 for real instruction.
6034
cd8d4e24
MK
60352006-06-13 Maxim Kuvyrkov <mkuvyrkov@ispras.ru>
6036
6037 PR middle-end/26807
6038 * haifa-sched.c (check_cfg): Handle special case.
6039
5123ad09
EB
60402006-06-13 Eric Botcazou <ebotcazou@adacore.com>
6041
6042 PR debug/26754
6043 * gimplify.c (declare_tmp_vars): Rename into declare_vars.
6044 Add debug_info parameter. Chain the vars to the BLOCK instead
6045 of the BIND_EXPR if debug info are requested for them.
6046 (pop_gimplify_context): Adjust for above change.
6047 (gimple_add_tmp_var): Likewise.
6048 * tree-gimple.h (declare_tmp_vars): Rename into declare_vars.
6049 Add bool parameter.
6050 * tree-nested.c (convert_nonlocal_reference): Adjust for above change.
6051 (convert_local_reference): Likewise.
6052 (get_local_debug_decl): Set DECL_IGNORED_P on the original variable.
6053 (finalize_nesting_tree_1): Request that debug info be emitted
6054 for debug_var_chain.
6055
6f2ba390
MK
60562006-06-13 Maxim Kuvyrkov <mkuvyrkov@ispras.ru>
6057
6058 * haifa-sched.c (unlink_other_notes, unlink_line_notes): Fix the patch
6059 for PR target/27863.
6060
cda5bf39
RG
60612006-06-13 Richard Guenther <rguenther@suse.de>
6062
6063 PR middle-end/27536
6064 * except.c (output_ttype): Expand type with EXPAND_INITIALIZER.
6065
8e85fd14
RG
60662006-06-13 Richard Guenther <rguenther@suse.de>
6067
6068 PR tree-optimization/27830
6069 * tree-inline.c (copy_body_r): For copying the operand
6070 of an ADDR_EXPR make sure to fold &* afterwards.
6071
02a5eac4
EB
60722006-06-12 Eric Botcazou <ebotcazou@adacore.com>
6073
6074 * gimplify.c (gimplify_expr): Treat VIEW_CONVERT_EXPR like other
6075 lvalues in the fb_none case with side-effects.
6076
c90b053b
KH
60772006-06-12 Kazu Hirata <kazu@codesourcery.com>
6078
6079 * tree-flow.h: Remove the prototype for
6080 compute_phi_arg_on_exit.
6081 * tree-ssa-loop-ivopts.c (protect_loop_closed_ssa_form_use,
6082 protect_loop_closed_ssa_form, compute_phi_arg_on_exit):
6083 Remove.
6084
dda69cbf
MS
60852006-06-12 Mark Shinwell <shinwell@codesourcery.com>
6086
6087 * builtins.c (expand_builtin_return_addr): Only use
6088 frame_pointer_rtx when count == 0 and we are expanding
6089 __builtin_return_address.
6090
0901c5a3
FF
60912006-06-12 Fred Fish <fnf@specifix.com>
6092
6093 * config/mips/mips.c (mips_file_start): Create special section
6094 ".gcc_compiled_longXX" for o64 ABI as well as EABI.
6095
f7eb0dcd
EC
60962006-06-11 Eric Christopher <echristo@apple.com>
6097
6098 PR middle-end/27948
6099 * stor-layout.c (place_field): Remove check for
6100 remaining_in_alignment when aligning at the end of a run.
6101
6bb7beac
EC
61022006-06-11 Eric Christopher <echristo@apple.com>
6103
6104 PR 27542
6105 * doc/extend.texi (Structure-Packing Pragmas): Document ms_struct
6106 pragma.
6107
4119019b
RS
61082006-06-11 Roger Sayle <roger@eyesopen.com>
6109
6110 PR target/27858
6111 Revert incorrect fix for PR target/27158
6112 2006-05-08 Roger Sayle <roger@eyesopen.com>
6113 * reload.c (find_reloads_toplev): Only return the simplified SUBREG
6114 of a reg_equiv_constant if the result is a legitimate constant.
6115
0972012c
RS
61162006-06-11 Roger Sayle <roger@eyesopen.com>
6117
6118 PR target/27158
6119 * config/rs6000/rs6000.c (const_vector_elt_as_int): New function to
6120 extract a CONST_VECTOR element and interpret it as an integer.
6121 (vspltis_constant): Use const_vector_elt_as_int instead of the
6122 macro CONST_VECTOR_ELT in order to handle FP vector modes.
6123 * config/rs6000/predicates.md (easy_vector_const): Consider
6124 floating point ALTIVEC_VECTOR_MODEs via easy_altivec_constant.
6125
cb312376
KK
61262006-06-11 Kaz Kojima <kkojima@gcc.gnu.org>
6127
6128 PR middle-end/27942
6129 * stor-layout.c (update_alignment_for_field): Don't add extra
6130 alignment for packed non-bitfield fields in ms_bitfield_layout_p
6131 code.
6132
53e95921
RC
61332006-06-09 Ralf Corsepius <ralf.corsepius@rtems.org>
6134
6135 * config/mips/t-rtems: Add EL/EB multilib variants.
6136
71d0c100
MS
61372006-06-09 Mike Stump <mrs@apple.com>
6138
6139 * c-typeck.c (c_begin_vm_scope): Fix file_scope processing.
6140
549fb079
DD
61412006-06-09 David Daney <ddaney@avtrex.com>
6142
6143 * doc/install.texi: Add binutils version recommendation for mips-*-*.
6144
6c65d757
AK
61452006-06-09 Andreas Krebbel <krebbel1@de.ibm.com>
6146
6147 * reload.c (find_reloads): Unset force_reload for 'X' constraint.
6148
96b2034b
RG
61492006-06-09 Richard Guenther <rguenther@suse.de>
6150
6151 PR tree-optimization/26998
6152 * tree-vrp.c (extract_range_from_unary_expr): For NEGATE_EXPR
6153 of signed types, only TYPE_MIN_VALUE is special, but for both,
6154 minimum and maximum value. Likewise VR_ANTI_RANGE is special
6155 in this case, as is -fwrapv.
6156
23f99493
MS
61572006-06-08 Mike Stump <mrs@apple.com>
6158
6159 PR target/26427
6160 * config/darwin.c (darwin_asm_output_anchor): Disable
6161 -fsection-anchors on darwin for now.
6162 * config/darwin.h (TARGET_ASM_OUTPUT_ANCHOR): Likewise.
6163 * rs6000/rs6000.c (optimization_options): Likewise.
6164
118ed72a
VR
61652006-06-08 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
6166
6167 PR target/27421
6168 * config/i386/i386.c (classify_argument): Skip fields with invalid
6169 types in unions.
6170
524e3576
SB
61712006-06-08 Steven Bosscher <steven@gcc.gnu.org>
6172
6173 * cse.c (flush_hash_table): Use VOIDmode to invalidate a REG.
6174 (cse_insn): Likewise for the stack_pointer_rtx.
6175
14b41b5f
RS
61762006-06-08 Roger Sayle <roger@eyesopen.com>
6177
6178 * tree-ssa-dom.c (record_conditions): Only record "unordered"
6179 conditions from floating point comparisons.
6180
33b881ca
PB
61812006-06-08 Paolo Bonzini <bonzini@gnu.org>
6182
6183 PR middle-end/27733
6184 * expmed.c (struct alg_hash_entry): Fix type of field T
6185 to match synth_mult argument.
6186 (NUM_ALG_HASH_ENTRIES): Make it bigger for 64-bit HOST_WIDE_INT.
6187
f70b22c9
MK
61882006-06-08 Maxim Kuvyrkov <mkuvyrkov@ispras.ru>
6189
6190 PR target/27863
6191 * haifa-sched.c (unlink_other_notes, unlink_line_notes): Update basic
6192 block boundaries.
6193
960f80d1
RG
61942006-06-08 Richard Guenther <rguenther@suse.de>
6195
6196 PR middle-end/27116
6197 * fold-const.c (negate_expr_p): We can negate BIT_NOT_EXPR
6198 only, if overflow is defined and not trapping.
6199 (negate_expr): Likewise.
6200
8e08deeb
ZD
62012006-06-07 Zdenek Dvorak <dvorakz@suse.cz>
6202
6203 PR tree-optimization/27872
6204 * tree-ssa-loop-manip.c (tree_unroll_loop): Set EDGE_IRREDUCIBLE_LOOP
6205 flag on the new exit edge of the unrolled loop.
6206
136778e9
ZD
62072006-06-07 Zdenek Dvorak <dvorakz@suse.cz>
6208
6209 PR rtl-optimization/26449
6210 * loop-invariant.c (move_invariant_reg): Fail if force_operand fails.
6211
4b5e2dbc
AM
62122006-06-07 Andrew MacLeod <amacleod@redhat.com>
6213
6214 PR middle-end/27793
6bb7beac 6215 * tree-dfa.c (referenced_vars_dup_list): New. List of duplicate
4b5e2dbc
AM
6216 referenced_variables with matching DECL_UID's.
6217 (find_referenced_vars): Make sure duplicate list is empty to start.
6218 (referenced_var_p): Remove.
6bb7beac 6219 (referenced_var_check_and_insert): Renamed from referenced_var_insert.
4b5e2dbc
AM
6220 Check if var is in the list, and add if needed. Update the duplicate
6221 list if a different var is in the list with the same DECL_UID.
6222 (add_referenced_var): Call routine to check and insert.
6223 * tree-ssa.c (delete_tree_ssa): Clear var_ann's on duplicates.
6224 * tree-flow.h (referenced_vars_dup_list): External declaration.
6225
dd286892
FF
62262006-06-07 Fred Fish <fnf@specifix.com>
6227
6228 * config/mips/t-elf (MULTILIB_MATCHES): Combine two entries
6229 into single entry.
6230
190e9534
PB
62312006-06-07 Paolo Bonzini <bonzini@gnu.org>
6232
6233 PR target/27390
6234 * reg-stack.c (subst_stack_regs_pat): Reorder resetting of
6235 the imaginary and real parts of a clobbered register.
6236 Emit insn to set the imaginary part.
6237
7c78582a
PL
62382006-06-06 Peter Lemieszewski <lemie@us.ibm.com>
6239
6240 * config/s390/t-tpf (LIB2ADDEH): Include unwind-dw2-fde-glibc.c
6241 in lieu of unwind-dw2-fde.c.
6242
33815e0c
FXC
62432006-06-06 Francois-Xavier Coudert <coudert@clipper.ens.fr>
6244
6245 * config/i386/mingw32.h (GOMP_SELF_SPECS): Define.
6246
8cf0db2b
UW
62472006-06-06 Ulrich Weigand <uweigand@de.ibm.com>
6248
6249 PR target/27842
6250 * config/rs6000/altivec.md (UNSPEC_VSLW): Remove.
6251 ("altivec_vspltisw_v4sf", "altivec_vslw_v4sf"): Remove.
6252 ("mulv4sf3", "absv4sf3", "negv4sf3"): Adapt users to use
6253 V4SImode temporaries and operations instead.
6254
406af897
JM
62552006-06-06 Joseph S. Myers <joseph@codesourcery.com>
6256
6257 * config/mips/t-linux64 (tp-bit.c): Append to tp-bit.c, not
6258 dp-bit.c.
6259
22482f74
MS
62602006-06-06 Mike Stump <mrs@apple.com>
6261
6262 * Makefile.in: Rename to htmldir to build_htmldir to avoid
6263 installing during build.
6264
bb83aa4b
MK
62652006-06-06 Maxim Kuvyrkov <mkuvyrkov@ispras.ru>
6266
6267 * params.def (PARAM_MAX_SCHED_EXTEND_REGIONS_ITERS): Change default
6268 value to 0.
6269 * doc/invoke.texi (max-sched-extend-regions-iters): Document.
6270 * config/ia64/ia64.c (params.h): New header.
6271 (ia64_optimization_options): New function to adjust parameters.
6272 * config/ia64/ia64-protos.h (ia64_optimization_options): New prototype.
6273 * config/ia64/ia64.h (OPTIMIZATION_OPTIONS): New macro.
6274 * config/ia64/t-ia64 (ia64.o): Add dependence from params.h .
6275
0c397f9c
KH
62762006-06-05 Kazu Hirata <kazu@codesourcery.com>
6277
6278 * stor-layout.c (debug_rli): Fix a typo in a debug message.
6279
1f4a2e84
SE
62802006-06-05 Steve Ellcey <sje@cup.hp.com>
6281
6282 PR target/27051
6283 * config/ia64/ia64.c (ia64_select_rtx_section): Check TARGET_NO_SDATA.
6284
a8b28492
DN
62852006-06-05 Dorit Nuzman <dorit@il.ibm.com>
6286 Victor Kaplansky <victork@il.ibm.com>
6287
e753d130
AP
6288 PR tree-optimization/26360
6289 * tree-vectorizer.c (destroy_loop_vec_info): Remove (dead) pattern
6290 stmts.
a8b28492 6291
ffbf5f7f
RS
62922006-06-04 Roger Sayle <roger@eyesopen.com>
6293 Andrew Pinski <pinskia@physics.uc.edu>
6294
6295 PR middle-end/27382
6296 * c-common.c (c_common_truthvalue_conversion): Explicitly check
6297 for LABEL_DECL before calling DECL_WEAK.
6298
6299 PR c/27150
6300 * c-typeck.c (build_binary_op): Likewise, explicitly check for
6301 LABEL_DECL and PARM_DECL.
6302
5c076987
JM
63032006-06-05 Joseph S. Myers <joseph@codesourcery.com>
6304
6305 PR c/25161
6306 PR c/27020
6307 * c-decl.c (grokdeclarator): Disallow variably modified types at
6308 file scope. Avoid marking shared array type of constant size as
6309 VLA.
6310
545b7d8c
VR
63112006-06-04 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
6312
6313 PR c++/27601
6314 * c-common.c (fold_offsetof_1): Handle static members.
6315
0ac11108
EC
63162006-06-04 Eric Christopher <echristo@apple.com>
6317
6318 * stor-layout.c (start_record_layout): Initialize remaining_in_alignment.
6319 (debug_rli): Output value for remaining_in_alignment.
6320 (update_alignment_for_field): Unconditionalize
6321 ms_bitfield_layout_p code. Handle non-bitfield fields. Remove
6322 extra alignment code.
6323 (place_field): Don't realign if ms_bitfield_layout_p. Unconditionalize
6324 ms_bitfield_layout_p code. Rewrite handling of structure fields.
6325 * tree.h (record_layout_info_s): Remove prev_packed.
6326 * doc/extend.texi (ms_struct): Add documentation of format.
6327
63b48197
MS
63282006-06-04 Mark Shinwell <shinwell@codesourcery.com>
6329
6330 * tree.h: Declare folding_initializer.
6331 * builtins.c (fold_builtin_constant_p): Give definite answer
6332 if folding inside an initializer.
6333 * fold-const.c: Define folding_initializer.
6334 (START_FOLD_INIT): Save and then set folding_initializer.
6335 (END_FOLD_INIT): Restore folding_initializer.
6336
7ec434b8
RG
63372006-06-04 Richard Guenther <rguenther@suse.de>
6338
6339 PR tree-optimization/27039
6340 * fold-const.c (fold_comparison): Handle pointer comparison
6341 again for all comparison codes. Compare offsets in signed
6342 size type.
6343 (fold_binary): Move code from here.
6344
94e76332
RS
63452006-06-03 Roger Sayle <roger@eyesopen.com>
6346
6347 PR target/26223
6348 * config/i386/i386.c (construct_container): Split static issued_error
6349 flag into issued_sse_arg_error, issued_sse_ret_error and
6350 issued_x87_ret_error. Issue a daignostic if the x86-64 ABI
6351 requires the use of x87 registers and the user explicitly
6352 specified the -mno-80387 command line option.
6353
4f6d8cc8
GK
63542006-06-02 Geoffrey Keating <geoffk@apple.com>
6355
6356 * config/rs6000/host-darwin.c (sigaltstack): Protect prototype with
6357 HAVE_DECL_SIGALTSTACK.
6358 (MC_FLD): New.
6359 (segv_handler): Use MC_FLD.
6360 * configure.ac: Check for a sigaltstack declaration.
6361 Compute HAS_MCONTEXT_T_UNDERSCORES on Darwin.
6362 * configure: Regenerate.
6363 * config.in: Regenerate.
6364
af33a0c0
R
63652006-06-03 J"orn Rennecke <joern.rennecke@st.com>
6366
6367 PR other/27850
6368 * Makefile.in (stmp-fixinc): Fix typo.
6369
9734ebaf
RS
63702006-06-02 Roger Sayle <roger@eyesopen.com>
6371
6372 * fold-const.c (fold_unary) <CONJ_EXPR>: Ensure folded expressions
6373 are type correct. Clean-up.
6374 <REALPART_EXPR>: Likewise. Optimize creal(~z) as creal(z).
6375 <IMAGPART_EXPR>: Likewise. Optimize cimag(~z) as -cimag(z).
6376
df5c71ac
DD
63772006-06-01 DJ Delorie <dj@redhat.com>
6378
6379 * config/v850/v850.h (ASM_OUTPUT_ADDR_DIFF_ELT): Disabled the
6380 shift, as we've disabled the "switch" insn that needs it.
6381
112598f4
PB
63822006-06-01 Per Bothner <bothner@bothner.com>
6383
6384 Suppress extra '#1 <built-in> or '#1 <command line>' on -dD output.
6385 * c-opts.c (finish_options): Use internal line 0 for <command-line>.
6386 * c-ppoutput.c (cb_define): Don't increment line 0.
6387
e118597e
PS
63882006-06-01 Pete Steinmetz <steinmtz@us.ibm.com>
6389
6390 * doc/invoke.texi: Add cpu_type power6.
6391 * config.gcc: Add cpu_type power6.
6392 * config/rs6000/rs6000.c (rs6000_override_options): Alias power6
6393 to power5+ with Altivec.
6394 * config/rs6000/aix52.h (ASM_CPU_SPEC): Add power6.
6395 * config/rs6000/rs6000.h (ASM_CPU_SPEC): Add power6.
6396
d3f27077
AS
63972006-05-30 Anatoly Sokolov <aesok@post.ru>
6398
6399 * config/avr/avr.h (SET_ASM_OP): Define.
6400
aab26080
KH
64012006-06-01 Kazu Hirata <kazu@codesourcery.com>
6402
6403 * config/bfin/bfin.c: Fix comment typos.
6404
f5c3bb4b
PB
64052006-06-01 Paolo Bonzini <bonzini@gnu.org>
6406
6407 PR 25453
6408 * doc/install.texi: Document --enable-bootstrap and
6409 --disable-bootstrap.
6410
02809848
PB
64112006-06-01 Paolo Bonzini <bonzini@gnu.org>
6412
6413 * doc/install.texi: Document that InfoZIP can replace jar.
6414
86ce1825
RS
64152006-05-31 Roger Sayle <roger@eyesopen.com>
6416
6417 * config/i386/i386.c (ix86_expand_fp_absneg_operator): When SSE
6418 isn't available, directly generate the simpler x87 patterns without
6419 the (use (const_int 0)).
6420 * config/i386/i386.md (*negsf2_1): Enable pre-reload if the SSE
6421 implementation isn't available.
6422 (*negdf2_1): Likewise.
6423 (*negxf2_1): XF mode negation is always done using the x87.
6424 (*abssf2_1, *absdf2_1, *absxf2_1): Likewise^3 for fabs.
6425
4f31c7ec
RS
64262006-05-31 Roger Sayle <roger@eyesopen.com>
6427
6428 * builtins.c (fold_builtin_cabs): Delete prototype. Require an
6429 additional FNDECL argument. Optimize cabs(-z) and cabs(~z) as
6430 cabs(z).
6431 (fold_builtin_decl) <BUILT_IN_CABS>: Update fold_builtin_cabs call.
6432
b03149e1
JZ
64332006-05-31 Jie Zhang <jie.zhang@analog.com>
6434
6435 * config/bfin/bfin-protos.h (bfin_hardware_loop): Declare.
6436 * config/bfin/bfin.c (basic-block.h): Include.
6437 (struct machine_function): New.
6438 (bfin_init_machine_status): New.
6439 (override_options): Initialize init_machine_status.
6440 (bfin_hardware_loop): New.
6441 (MAX_LOOP_DEPTH, MAX_LOOP_LENGTH): Define.
6442 (DEF_VEC_P (loop_info)): New.
6443 (DEF_VEC_ALLOC_P (loop_info,heap)): New.
6444 (struct loop_info): New.
6445 (loop_info): New typedef.
6446 (struct loop_work): New.
6447 (loop_work): New typedef.
6448 (DEF_VEC_O (loop_work)): New.
6449 (DEF_VEC_ALLOC_O (loop_work,heap)): New.
6450 (bfin_dump_loops): New.
6451 (bfin_bb_in_loop): New.
6452 (bfin_scan_loop): New.
6453 (bfin_optimize_loop): New.
6454 (bfin_reorg_loops): New.
6455 (bfin_reorg): Use bfin_reorg_loops.
6456 * config/bfin/bfin.h (FIRST_PSEUDO_REGISTER): Adjust for adding
6457 loop registers.
6458 (I_REGNO_P): Simplify.
6459 (DP_REGNO_P, DPREG_P): New macros.
6460 (REGISTER_NAMES, FIXED_REGISTERS, CALL_USED_REGISTERS,
6461 REG_ALLOC_ORDER): Add LT0, LT1, LC0, LC1, LB0, LB1.
6462 (enum reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS):
6463 Add LT_REGS, LC_REGS, LB_REGS.
6464 (REG_CLASS_FROM_LETTER): Add 't' for LT_REGS, 'k' for LC_REGS,
6465 'l' for LB_REGS.
6466 (REGNO_REG_CLASS): Deal with loop registers.
6467 * config/bfin/bfin.md: Add comment for 't', 'k', 'l' constraint
6468 letters.
6469 (REG_LT0, REG_LT1, REG_LC0, REG_LC1, REG_LB0, REG_LB1):
6470 New constants for loop registers.
6471 (UNSPEC_LSETUP_END): New.
6472 (seq_insns): New define_attr. Set it for appropriate insns.
6473 (movsi_insn): Add alternatives for move from/to
6474 loop count registers.
6475 (doloop_end): New define_expand.
6476 (loop_end): New define_insn.
6477 (define_split for bad doloop_end): New.
6478 (lsetup_with_autoinit): New define_insn.
6479 (lsetup_without_autoinit): New define_insn.
6480 (rep_movsi, rep_movhi): Clobber LT1, LC1, LB1.
6481 * config/bfin/predicates.md (lc_register_operand): New.
6482 (lt_register_operand): New.
6483 (lb_register_operand): New.
6484 (nondp_register_operand): New.
6485 (nondp_reg_or_memory_operand): New.
6486 * doc/md.texi: Document Blackfin new 't', 'k', 'l' constraint letters.
6487
54aefc36
JZ
64882006-05-31 Jie Zhang <jie.zhang@analog.com>
6489
6490 * config/bfin/bfin.c (bfin_delegitimize_address): New.
6491 (TARGET_DELEGITIMIZE_ADDRESS): Define.
6492
5c3c3683
DJ
64932006-05-31 Daniel Jacobowitz <dan@codesourcery.com>
6494
6495 * Makefile.in (CATALOGS): Add po/ prefix.
6496 * configure: Regenerated.
6497
beed32b8
RE
64982006-05-31 Richard Earnshaw <richard.earnshaw@arm.com>
6499
4fe56d83 6500 PR target/27829
beed32b8
RE
6501 * arm.c (arm_print_operand case 'S'): Validate that the operand is
6502 a shift operand before calling shift_op. Avoid redundant call of
6503 shift_op.
6504
9cb96754
N
65052006-05-30 Naveen.H.S <naveenh@kpitcummins.com>
6506 DJ Delorie <dj@redhat.com>
6507
6508 * config/m32c/m32c.c (m32c_expand_insv): Check that the value
6509 we're inserting is a singlt-bit constant.
6510
e40122f0
RS
65112006-05-30 Roger Sayle <roger@eyesopen.com>
6512
6513 * simplify-rtx.c (simplify_binary_operation_1) <LSHIFTRT>: Cast
6514 width to HOST_WIDE_INT to avoid comparison warnings on some targets.
6515
99b25753
RS
65162006-05-30 Roger Sayle <roger@eyesopen.com>
6517
6518 PR tree-optimization/23452
6519 * fold-const.c (fold_mult_zconjz): New subroutine of fold_binary,
6520 to optimize z * conj(z) as realpart(z)^2 + imagpart(z)^2.
6521 (fold_binary) <MULT_EXPR>: Call fold_mult_zconjz for integral
6522 complex values and with -ffast-math for FP complex values.
6523
c98662e0
KH
65242006-05-30 Kazu Hirata <kazu@codesourcery.com>
6525
6526 * c-common.h: Remove the prototype for yyparse.
6527 * rtl.h: Remove the prototype for init_loop.
6528
67e0a632
AK
65292006-05-30 Andreas Krebbel <krebbel1@de.ibm.com>
6530
6531 * cse.c (validate_canon_reg, cse_insn): Don't change insns without
6532 calling recog.
6533
70233f37
RS
65342006-05-30 Roger Sayle <roger@eyesopen.com>
6535
6536 * simplify-rtx.c (simplify_binary_operation): Unfactor the shift
6537 and rotate cases.
6538 <LSHIFTRT>: Optimize (lshiftrt (clz X) C) as (eq X 0) where C is
6539 log2(GET_MODE_BITSIZE(X)) on targets with the appropriate semantics.
6540
d117b270
DM
65412006-05-30 Dirk Mueller <dmueller@suse.de>
6542
6543 PR c/27273
6544 * c-common.c (convert_and_check): Only track TREE_CONSTANT_OVERFLOW
6545 for CONSTANT_CLASS_P expresisons.
6546
16464cc1
VR
65472006-05-30 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
6548
6549 PR c/27718
6550 * c-typeck.c (c_expr_sizeof_type): Handle invalid types.
6551
d91d2db7
ZD
65522006-05-30 Zdenek Dvorak <dvorakz@suse.cz>
6553
6554 PR tree-optimization/27779
6555 * tree-data-ref.c (analyze_siv_subscript_cst_affine): Use
6556 initial_condition instead of CHREC_LEFT.
6557
6a728a2d
SB
65582006-05-30 Steven Bosscher <stevenb.gcc@gmail.com>
6559
6560 * config/m32r/m32r.h (DBX_OUTPUT_SOURCE_LINE): Fix type of begin_label.
6561 * config/m32r/initfini.c (__do_global_dtors, __do_global_ctors):
6562 Make prototypes ISO C90.
6563
375bc622 65642006-05-30 Mircea Namolaru <namolaru@il.ibm.com>
d91d2db7 6565 Leehod Baruch <leehod.baruch@weizmann.ac.il>
375bc622 6566
d91d2db7
ZD
6567 * see.c (see_analyze_one_def): Correct check.
6568 (see_get_extension_data): Check if extension is parallel.
6569 (see_get_extension_reg): Likewise.
375bc622 6570
55b2de75
UB
65712006-05-30 Uros Bizjak <uros@kss-loka.si>
6572
6573 PR target/27790
6574 * config/i386/i386.c (ix86_expand_int_vcond): Force cop0
6575 into register for (code == GTU).
6576
1753331b
RS
65772006-05-29 Roger Sayle <roger@eyesopen.com>
6578
6579 PR tree-optimization/24964
6580 * simplify-rtx.c (simplify_binary_operation_1): Add function comment.
6581 <MULT>: Minor clean-up. Don't convert x*-1.0 into -x if we honor
6582 signaling NaNs. Optimize -x*-x as x*x for all float modes, and
6583 abs(x)*abs(x) as x*x for scalar floating point modes.
6584
06ac89d1
SP
65852006-05-29 Sebastian Pop <pop@cri.ensmp.fr>
6586
6587 PR middle-end/27745
6588 * lambda-code.c (perfect_nestify): Don't copy statements
6589 in the inner loop: move them to the inner loop header.
6590
96e36096
DN
65912006-05-29 Diego Novillo <dnovillo@redhat.com>
6592
6593 PR 26237
6594 * c-tree.texi: Document OpenMP directives and clauses.
6595
eb5fa773
KH
65962006-05-29 Kazu Hirata <kazu@codesourcery.com>
6597
6598 * varasm.c (globalize_decl): Fix indentation.
6599
a6719dc6
DN
66002006-05-29 Diego Novillo <dnovillo@redhat.com>
6601
6602 PR 26242
6603 * doc/passes.texi: Add documentation for pass_vrp, pass_ipa_pta,
6604 pass_fre, pass_store_ccp, pass_copy_prop,
6605 pass_store_copy_prop, pass_merge_phi, pass_nrv,
6606 pass_return_slot, pass_object_size, pass_lim,
6607 pass_linear_transform, pass_empty_loop, pass_complete_unroll,
6608 pass_loop_prefetch and pass_stdarg.
6609
6614f9f5
BS
66102005-05-29 Bernd Schmidt <bernd.schmidt@analog.com>
6611
6612 * config/bfin/bfin.opt (mfdpic): New option.
6613 * config/bfin/t-bfin-elf (EXTRA_PARTS): Add crtbeginS.o and crtendS.o.
6614 (EXTRA_MULTILIB_PARTS): Likewise.
6615 (CRTSTUFF_T_CFLAGS, TARGET_LIBGCC2_CFLAGS): Use -fpic.
6616 (MULTILIB_OPTIONS, MULTILIB_EXCEPTIONS): Build one extra -mfdpic
6617 multilib.
6618 * config/bfin/elf.h (STARTFILE_SPEC): Don't link in crt0.o if -shared.
6619 (CRT_CALL_STATIC_FUNCTION): New.
6620 * config/bfin/uclinux.h (STARTFILE_SPEC): Don't link in crt0.o if
6621 -shared.
6622 (CRT_CALL_STATIC_FUNCTION): New.
6623 * config/bfin/bfin.c (legitimize_pic_address): Now static. Handle
6624 FD-PIC moves.
6625 (n_pregs_to_save): PIC register doesn't need to be saved with FD-PIC.
6626 (print_operand): Handle UNSPEC_MOVE_FDPIC and UNSPEC_FUNCDESC_GOT17M4.
6627 (initialize_trampoline): Changed to handle FD-PIC code generation.
6628 (expand_move): If TARGET_FDPIC, use emit_pic_move as needed.
6629 (bfin_expand_call): Generate FD-PIC calls if TARGET_FDPIC.
6630 (override_options): Disallow -mid-shared-library -mfdpic combination.
6631 Can't do unaligned ops if FD-PIC.
6632 Turn off flag_pic if trying to generate non-id-shared-library
6633 non-fdpic code, since it's not supported.
6634 (bfin_assemble_integer): New function.
6635 (TARGET_ASM_INTEGER): Define.
6636 * config/bfin/crti.s (__init, __fini): Save P3 on the stack if
6637 __BFIN_FDPIC__.
6638 * config/bfin/crtn.s: Restore them.
6639 * config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS): Define __BFIN_FDPIC__
6640 if TARGET_FDPIC.
6641 (DRIVER_SELF_SPECS, SUBTARGET_DRIVER_SELF_SPECS,
6642 LINK_GCC_C_SEQUENCE_SPEC, ASM_SPEC, LINK_SPEC): New macros.
6643 (FDPIC_FPTR_REGNO, FDPIC_REGNO, OUR_FDPIC_REG): New macros.
6644 (TRAMPOLINE_SIZE, TRAMPOLINE_TEMPLATE): Adjust for FD-PIC.
6645 (CONDITIONAL_REGISTER_USAGE): If TARGET_FDPIC, FDPIC_REGNO is
6646 call-used.
6647 (enum reg_class, REG_CLASS_CONTENTS, REG_CLASS_NAMES): Add
6648 FDPIC_REGS and FDPIC_FPTR_REGS.
6649 (REG_CLASS_FROM_LETTER): Use 'Z' and 'Y' for them.
6650 * config/bfin/bfin.md (UNSPEC_MOVE_FDPIC, UNSPEC_FUNCDESC_GOT17M4,
6651 UNSPEC_VOLATILE_LOAD_FUNCDESC): New constants.
6652 (load_funcdescsi): New pattern.
6653 (call_symbol_fdpic, sibcall_symbol_fdpic, call_value_symbol_fdpic,
6654 sibcall_value_symbol_fdpic, call_insn_fdpic, sibcall_insn_fdpic,
6655 call_value_insn_fdpic, sibcall_value_insn_fdpic): New patterns.
6656
db3edc20
KH
66572006-05-29 Kazu Hirata <kazu@codesourcery.com>
6658
6659 * gcse.c, rtlanal.c: Remove obsolete comments associated with
6660 loop.c.
6661
a9488625
KH
6662 * config/bfin/bfin.h (PARM_BOUNDRY, STACK_BOUNDRY): Remove.
6663
152279c4
KH
6664 * tree-flow.h: Remove the prototype for add_type_alias.
6665 * tree-ssa-alias.c (add_type_alias): Remove.
6666
6fc0bb99
KH
66672006-05-28 Kazu Hirata <kazu@codesourcery.com>
6668
6669 * cfgcleanup.c, cfgexpand.c, cgraphunit.c, config/arm/arm.c,
6670 config/fr30/fr30.md, config/i386/i386-interix.h,
6671 config/i386/i386.c, config/i386/i386.md, config/sh/superh.h,
6672 config/sh/superh64.h, config/v850/v850.c, df-core.c,
6673 df-problems.c, df.h, except.c, final.c, haifa-sched.c,
6674 lambda-code.c, libgcc2.h, omp-low.c, optabs.c, predict.c,
6675 reload.c, tree-flow.h, tree-outof-ssa.c, tree-ssa-dce.c,
6676 tree-ssa-pre.c, tree-vect-transform.c: Fix comment typos.
6677 Follow spelling conventions.
6678 * doc/invoke.texi, doc/rtl.texi, doc/tm.texi: Fix typos.
6679 Follow spelling conventions.
6680
9e030af9
RG
66812006-05-27 Richard Guenther <rguenther@suse.de>
6682
6683 PR middle-end/27773
6684 * fold-const.c (fold_plusminus_mult_expr): Use fold_convert
6685 to produce a constant of value 1 of generic type.
6686
46f5f7f2
DM
66872006-05-27 Dirk Mueller <dmueller@suse.de>
6688
6689 * cgraphunit.c (decide_is_function_needed): Fix wrong
6690 PR reference.
6691
7c7ce73a
UW
66922006-05-26 Ulrich Weigand <uweigand@de.ibm.com>
6693
6694 PR rtl-optimization/27661
6695 * reload.c (find_reloads): When reloading a VOIDmode constant
6696 as address due to an EXTRA_MEMORY_CONSTRAINT or 'o' constraint,
6697 use Pmode as mode of the reload register.
6698
c539d463
EB
66992006-05-26 Eric Botcazou <ebotcazou@adacore.com>
6700
6701 * doc/invoke.texi (Optimize Options): Document that -funit-at-a-time
6702 is enabled at -O and above.
6703
67042006-05-26 Steven Bosscher <steven@gcc.gnu.org>
807bdfb6
FH
6705
6706 PR target/27571
6707 * config/alpha/alpha.c (alpha_does_function_need_gp): Skip jump
6708 table data.
6709
e92fb501
MM
67102006-05-25 Mark Mitchell <mark@codesourcery.com>
6711
6712 PR c++/20103
6713 * gimplify.c (gimplify_decl_expr): Do not call gimple_add_tmp_var
0ac11108 6714 for anonymous variables explicitly declared by front ends.
e92fb501 6715
05a58ad4
EB
67162006-05-25 Eric Botcazou <ebotcazou@adacore.com>
6717
6718 * tree-ssa-structalias.h (PTR_IS_REF_ALL): New macro.
6719 (struct alias_info): Add new field ref_all_symbol_mem_tag.
6720 * tree-ssa-alias.c (compute_may_aliases): If the program contains
6721 ref-all pointers, run a finalization pass for them.
6722 (compute_flow_insensitive_aliasing): Skip ref-all pointers.
6723 (finalize_ref_all_pointers): New function.
6724 (is_escape_site): Return ESCAPE_BAD_CAST for conversion from a
6725 regular pointer type to a ref-all pointer type.
6726 (get_tmt_for): Return the special memory tag for ref-all pointers.
6727
2d60e929
RG
67282006-05-25 Richard Guenther <rguenther@suse.de>
6729
6730 PR middle-end/27743
6731 * fold-const.c (fold_binary): Do not look at the stripped
6732 op0 for (a OP c1) OP c2 to a OP (c1+c2) shift optimization.
6733
9d6eefd5
EB
67342006-05-25 Eric Botcazou <ebotcazou@adacore.com>
6735
6736 * tree-vrp.c (extract_range_from_assert): Set the range to VARYING
6737 for LT and GT if the computed range is effectively empty.
6738
67392006-05-24 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
5877ca2e
JDA
6740
6741 PR target/27627
6742 * pa/pa-modes.def: Use mips_single_format, mips_double_format and
6743 mips_quad_format formats instead of ieee_single_format,
6744 ieee_double_format and ieee_quad_format formats, respectively.
6745
d7f5de76
ZD
67462006-05-24 Zdenek Dvorak <dvorakz@suse.cz>
6747
6748 PR tree-optimization/27639
6749 PR tree-optimization/26719
6750 * tree-vrp.c (adjust_range_with_scev): Use scev_direction and adjust
6751 call to scev_probably_wraps_p.
6752 * tree-ssa-loop-niter.c (compare_trees, convert_step_widening,
6753 used_in_pointer_arithmetic_p, convert_step): Removed.
6754 (nowrap_type_p): New function.
6755 (scev_probably_wraps_p): Rewritten.
6756 * tree-scalar-evolution.c (instantiate_parameters_1): Do not call
6757 chrec_convert if chrec_convert_aggressive might have been used.
6758 * tree-chrec.c (convert_affine_scev, chrec_convert_1,
6759 scev_direction): New functions.
6760 (chrec_convert): Changed to a wrapper over chrec_convert_1.
6761 * tree-ssa-loop-ivopts.c (idx_find_step): Use convert_affine_scev
6762 instead of convert_step.
6763 * tree-flow.h (scev_probably_wraps_p): Declaration changed.
6764 (convert_step): Declaration removed.
6765 (convert_affine_scev, nowrap_type_p, scev_direction): Declare.
6766
b11550aa
KZ
67672006-05-23 Kenneth Zadeck <zadeck@naturalbridge.com>
6768
d7f5de76 6769 * df-core.c: Added to header comments.
b11550aa
KZ
6770 * df.h (df_ru_bb_info, df_rd_bb_info, df_lr_bb_info,
6771 df_ur_bb_info, df_urec_bb_info): Added comments.
0ac11108 6772 * df-problems (df_ref_bitmap, ru, rd, lr, ur,
b11550aa 6773 urec, ri problems): Fixed header comments.
0ac11108 6774 (df_ru_transfer_function): Fixed in-out set dyslexia when copying
b11550aa 6775 code from df_rd_transfer_function.
0ac11108 6776
b2a203c8
RS
67772006-05-23 Richard Sandiford <richard@codesourcery.com>
6778
6779 * libgcc2.c (LIBGCC2_MAX_UNITS_PER_WORD): New macro.
6780 (LIBGCC2_UNITS_PER_WORD): Use LIBGCC2_MAX_UNITS_PER_WORD rather than
6781 MIN_UNITS_PER_WORD to set the default. Also use it in the guard.
6782
550ab0c6
JM
67832006-05-23 Joseph Myers <joseph@codesourcery.com>
6784
6785 * expr.c (undefined_operand_subword_p): New.
6786 (emit_move_multi_word): Do not generate move from undefined bits
6787 of a paradoxical subreg.
6788
e5d7a520
RS
67892006-05-23 Richard Sandiford <richard@codesourcery.com>
6790
6791 PR rtl-optimization/27736
6792 * combine.c (replaced_rhs_value): New variable.
6793 (combine_instructions): Set it.
6794 (distribute_notes): When distributing a note in replaced_rhs_insn,
6795 check whether the value was used in replaced_rhs_value.
6796
f004ab02
AM
67972006-05-23 Andrew MacLeod <amacleod@redhat.com>
6798
6799 PR c++/26757
0ac11108 6800 * tree-ssa-loop-im.c (determine_invariantness_stmt): Use
f004ab02
AM
6801 add_referenced_var instead of add_referenced_tmp_var.
6802 * tree-complex.c (create_one_component_var): Use add_referenced_var.
6803 * tree-ssa-loop-manip.c (create_iv, tree_unroll_loop): Use
6804 add_referenced_var.
6805 * tree-tailcall.c (adjust_accumulator_values, adjust_return_value,
6806 tree_optimize_tail_calls_1): Use add_referenced_var.
6807 * tree-ssa-loop-ivopts.c (create_new_iv): Use add_referenced_var.
6808 * tree-ssa-alias.c (create_memory_tag, create_global_var, create_sft):
6809 Use add_referenced_var.
6810 * tree-if-conv.c (ifc_temp_var): Use add_referenced_var.
6811 * gimplify.c (force_gimple_operand): Use add_referenced_var.
6812 * tree-ssa-phiopt.c (conditional_replacement, abs_replacement):
6813 Use add_referenced_var.
6814 * tree-dfa.c (struct walk_state): Remove.
6815 (find_referenced_vars): Remove walk state and vars_found hash table.
6816 (make_rename_temp): Use add_referenced_var.
6817 (find_vars_r): Pass less parameters to add_referenced_var.
6818 (referenced_var_p): New. Is var in referenced_var hash table.
6819 (referenced_var_insert): Assert var isn't already in hash table.
6820 (add_referenced_var): Don't need walk_state parameter. Add var if it
6821 isn't already in the hash table.
6822 (add_referenced_tmp_var): Remove.
6823 (find_new_referenced_vars_1): Use add_referenced_var.
0ac11108 6824 * tree-ssa-pre.c (create_expression_by_pieces,
f004ab02
AM
6825 insert_into_preds_of_block, insert_extra_phis, realify_fake_stores):
6826 Use add_referenced_var.
6827 * tree-vect-patterns.c (vect_pattern_recog_1): Use add_referenced_var.
6828 * lambda-code.c (lbv_to_gcc_expression, lle_to_gcc_expression,
0ac11108 6829 lambda_loopnest_to_gcc_loopnest, perfect_nestify): Use
f004ab02
AM
6830 add_referenced_var.
6831 * tree-vect-transform.c (vect_create_addr_base_for_vector_ref,
6832 vect_create_data_ref_ptr, vect_create_destination_var,
0ac11108 6833 vect_init_vector, vect_build_loop_niters,
f004ab02
AM
6834 vect_generate_tmps_on_preheader, vect_update_ivs_after_vectorizer,
6835 vect_gen_niters_for_prolog_loop, vect_create_cond_for_align_checks):
6836 Use add_referenced_var.
6837 * tree-outof-ssa.c (create_temp): Use add_referenced_var.
6838 * tree-flow.h (add_referenced_tmp_var): Remove prototype
6839 (add_referenced_var): Add prototype.
0ac11108 6840 * tree-ssa-structalias.c (get_constraint_for,
f004ab02
AM
6841 intra_create_variable_infos): Use add_referenced_var.
6842
dedc1e6d
AO
68432006-05-23 Alexandre Oliva <aoliva@redhat.com>
6844
6845 * simplify-rtx.c (simplify_subreg): Adjust REG_OFFSET for
6846 big-endian paradoxical subregs.
6847 * var-tracking.c (struct micro_operation_def): Document that,
6848 for modify micro operations, insn is the subsequent instruction.
6849 (var_reg_delete_and_set, var_mem_delete_and_set): Split into...
6850 (var_reg_set, var_mem_set): ... new functions.
6851 (add_stores): Record subsequent insn.
6852 (compute_bb_dataflow): Use new functions for MO_USE.
6853 (emit_notes_in_bb): Use new functions for MO_USE. Emit use
6854 notes after the insn, and modify notes before the insn known
6855 to be the subsequent one.
6856 (vt_initialize): Invert sorting of MO_CLOBBERs and MO_SETs.
6857
546be535
KH
68582006-05-23 Kazu Hirata <kazu@codesourcery.com>
6859
6860 PR target/27696
6861 * config/i386/i386.c (ix86_expand_builtin): Use
6862 gen_sse3_monitor64 for TARGET_64BIT.
6863
1a1a5f4b
KZ
68642006-05-22 Kenneth Zadeck <zadeck@naturalbridge.com>
6865
6866 PR rtl-optimization/26375
6867 PR rtl-optimization/26855
6868 * df-problems (df_ru_bb_local_compute_process_def): Removed update
6869 to gen set.
6870 (df_ru_bb_local_compute): Reversed statements and removed bogus
6871 comment explaining why they should be in wrong order.
0ac11108 6872 (df_ru_dump, df_rd_dump): Enhanced debug info.
1a1a5f4b 6873 * modulo-sched.c (sms_schedule, tree_opt_pass pass_sms): Enhanced
0ac11108 6874 debug info.
1a1a5f4b 6875 * ddg.c (add_deps_for_def): Converted use of reaching defs to
d7f5de76 6876 reaching uses and fixed space problem.
1a1a5f4b 6877
b633db7b
JH
68782006-05-23 Jan Hubicka <jh@suse.cz>
6879
6880 * cgraphunit.c (decide_is_function_needed): Also nested functions
6881 and functions declared inline can be optimized out at -O0.
6882
3f2c089f
GP
68832006-05-22 Gerald Pfeifer <gerald@pfeifer.com>
6884
6885 * doc/install.texi (Configuration): Remove reference to CrossGCC
14d92b15 6886 FAQ which was gone.
3f2c089f
GP
6887 (Building): Ditto.
6888
3d763bcf
KH
68892006-05-22 Kazu Hirata <kazu@codesourcery.com>
6890
6891 PR target/27266
6892 * config/i386/i386.c (ix86_expand_branch): Jump to simple if
6893 ix86_compare_emitted is non-NULL.
6894
123b24e7
VR
68952006-05-22 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
6896
6897 PR c++/27451
6898 * stmt.c (expand_asm_operands): Skip asm statement with erroneous
6899 clobbers.
6900
1ff3ac02
RS
69012006-05-22 Richard Sandiford <richard@codesourcery.com>
6902
6903 PR rtl-optimization/25514
6904 * combine.c (replaced_rhs_insn): New variable.
6905 (combine_instructions): Set replaced_rhs_insn when trying to replace
6906 a SET_SRC with a REG_EQUAL note.
6907 (distribute_notes): Use replaced_rhs_insn when determining the live
6908 range of a REG_DEAD register.
6909
8c21550d 69102006-18-05 Joerg Wunsch <j.gnu@uriah.heep.sax.de>
9e826585 6911 Anatoly Sokolov <aesok@post.ru>
8c21550d
JW
6912
6913 * config/avr/avr.c (avr_mcu_types): Add support for attiny261,
6914 attiny461, attiny861, attiny25, attiny45, attiny85, attiny24,
0ac11108
EC
6915 attiny44, attiny84, at90pwm2, at90pwm3, atmega165p, atmega169p,
6916 atmega164p, atmega324p, atmega644p, atmega644, atmega329,
6917 atmega3290, atmega649, atmega6490, atmega406, atmega640,
6918 atmega1280, atmega1281, at90can32, at90can64, at90usb646,
6919 at90usb647, at90usb1286 and at90usb1287 devices.
8c21550d
JW
6920 * config/avr/avr.h (LINK_SPEC, CRT_BINUTILS_SPECS): (Ditto.).
6921 * config/avr/t-avr (MULTILIB_MATCHES): (Ditto.).
6922
350f18df
RS
69232006-05-22 Richard Sandiford <richard@codesourcery.com>
6924
6925 * mklibgcc.in (lib2funcs): Remove _floatdidf from initial assignment.
6926
c31202cd
RG
69272006-05-22 Richard Guenther <rguenther@suse.de>
6928
6929 Revert
6930 2006-01-31 Richard Guenther <rguenther@suse.de>
6931 Paolo Bonzini <bonzini@gnu.org>
6932
6933 * doc/install.texi (--disable-libgcc-math): Document.
6934
9714c911
RG
69352006-05-22 Richard Guenther <rguenther@suse.de>
6936
6937 Revert
6938 2006-01-31 Richard Guenther <rguenther@suse.de>
6939
6940 * doc/invoke.texi (-msselibm): Document.
6941 * target.h (expand_library_builtin): New target hook.
6942 * builtins.c (expand_builtin): Use expand_library_builtin.
6943 (default_expand_library_builtin): New function.
6944 * gcc.c (LINK_GCC_MATH_SPEC): Define.
6945 (LINK_COMMAND_SPEC): Handle %(link_gcc_math).
6946 (link_gcc_math_spec): Declare.
6947 (static_specs): Add link_gcc_math_spec.
6948 * expr.h (default_expand_library_builtin): Declare.
6949 * target-def.h (TARGET_EXPAND_LIBRARY_BUILTIN): Define.
6950 (TARGET_INITIALIZER): Add TARGET_EXPAND_LIBRARY_BUILTIN.
6951 * config/i386/i386.h: Provide LINK_GCC_MATH_SPEC.
6952 * config/i386/i386.opt (msselibm): New target option.
6953 * config/i386/i386.c (ix86_builtin_function_variants): New array.
6954 (ix86_init_sse_abi_builtins): New function.
6955 (ix86_expand_library_builtin): Likewise.
6956 (TARGET_EXPAND_LIBRARY_BUILTIN): Define.
6957 (override_options): Handle error conditions wrt -msselibm.
6958 (ix86_builtins): Add function codes for SSE2 ABI builtins.
6959 (ix86_init_builtins): Call ix86_init_sse_abi_builtins.
6960 * doc/extend.texi (__builtin_sse2_*): Document new target specific
6961 builtins.
6962
4271a6f3
VR
69632006-05-22 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
6964
694fea20
VR
6965 PR c/27420
6966 * c-common.c (self_promoting_args_p): Skip erroneous args.
6967
4271a6f3
VR
6968 PR c/26818
6969 * c-decl.c (finish_struct): Skip erroneous fields.
6970
c3e242e7
NC
69712006-05-22 Nick Clifton <nickc@redhat.com>
6972
6973 * config/cris/cris.opt (march): Remove VarExists attribute.
6974 (max-stackframe=): Likewise.
6975
41c6dd59
KH
69762006-05-22 Kazu Hirata <kazu@codesourcery.com>
6977
6978 * doc/rtl.texi: Fix a typo.
6979 * see.c: Fix comment typos.
6980
eec077bd
KH
6981 * tree-ssa-structalias.h (alias_info): Remove num_references.
6982
76ad5c10
MS
69832006-05-21 Mike Stump <mrs@apple.com>
6984
6985 * config/darwin-c.c (BAD): Conditionalize on OPT_Wpragmas.
6986 (BAD2): Add.
213af8c8
MS
6987 (darwin_pragma_options): Use BAD instead.
6988 (darwin_pragma_unused): Likewise.
6989 (darwin_pragma_ms_struct): Likewise.
6990
d29b7f64
DE
69912006-05-21 David Edelsohn <edelsohn@gnu.org>
6992
6993 * config/rs6000/rs6000.md (floatsitf2): Remove constraints.
6994
4d49d44d
KH
69952006-05-21 Kazu Hirata <kazu@codesourcery.com>
6996
6997 PR rtl-optimization/27671
6998 * simplify-rtx.c (simplify_relational_operation_1): Fix
6999 simplifications of (eq/ne (xor x y) y) and
7000 (eq/ne (xor x y) x).
7001
5104d648
KH
7002 PR tree-optimization/26622.
7003 * fold-const.c (fold_ternary) <COND_EXPR>: Call fold_convert
7004 on arg1.
7005
6531d1be
BF
70062006-05-21 Bernhard Fischer <aldot@gcc.gnu.org>
7007
7008 * tree-cfg.c: Prune whitespace.
7009 (debug_tree_cfg): Point to correct header containing the
7010 TDF_* defines.
7011
95a52ebb
BF
70122006-05-21 Bernhard Fischer <aldot@gcc.gnu.org>
7013
7014 PR middle-end/25776
7015 * cgraphunit.c (verify_cgraph_node): Typo in error message.
7016
7e2fe9d8
AP
70172006-05-20 Andrew Pinski <pinskia@physics.uc.edu>
7018
7019 PR middle-end/25776
7020 * cgraphunit.c (cgraph_optimize): Don't run ipa passes if error
7021 or sorry count is non zero.
7022
e29c9705 70232006-05-20 Andreas Schwab <schwab@suse.de>
9be3bc1f
AS
7024
7025 * config/pa/pa-linux.h (STRING_ASM_OP): Prepend and append a tab.
7026
5d384034 70272006-05-19 Daniel Berlin <dberlin@dberlin.org>
9e826585 7028 Kenneth Zadeck <zadeck@naturalbridge.com>
5d384034
DB
7029
7030 PR rtl-optimization/26855
7031
7032 * df-scan.c (mw_reg_pool, mw_link_pool): New allocation pools for
7033 multiword refs.
7034 (df_scan_alloc): Added code to properly handle multiword hard
7035 registers and add all_blocks parameter.
7036 (df_scan_free_internal, df_insn_refs_delete, df_ref_record): Added
7037 code to properly handle multiword hard registers.
7038 (df_rescan_blocks): Added code to remove deleted blocks from
7039 bitmap.
7040 (df_ref_create_structure, df_ref_record): Added code to properly
7041 handle subregs.
7042 (df_ref_record_1): Changed DF_REF_CLOBBER into DF_REF_MUST_CLOBBER
7043 and set DF_REF_PARTIAL.
7044 (df_defs_record): Changed DF_REF_CLOBBER into DF_REF_MUST_CLOBBER.
0ac11108 7045 (df_uses_record): Added DF_REF_PARTIAL for subreg.
5d384034
DB
7046 (df_scan_add_problem): Added flags parameter.
7047 (df_ref_create_structure): Changed switching structure.
7048 (df_bb_refs_record): Fixed case where duplicate artificial refs
7049 were created. Changed location of flags.
7050 (df_record_entry_block_defs): Added code to make stack pointer
7051 live in entry block. Refined cases where frame pointer is needed.
7052 Changed location of flags.
7053 (df_record_exit_block_uses, df_insn_refs_record): Changed location of flags.
7054 (df_set_state): Removed function.
7055 (df_grow_reg_info, df_reg_chain_unlink, df_ref_remove,
0ac11108
EC
7056 df_insn_create_insn_record, df_insn_refs_delete,
7057 df_ref_create_structure): Formatting changes.
5d384034
DB
7058 * df-core.c (df_mvs_dump, df_set_flags, df_clear_flags,
7059 df_delete_basic_block): New function.
7060 (df_init): Changed location of flags.
7061 (df_add_problem): Added flags parameter and the way flags are
7062 processed.
7063 (df_insn_uid_debug, df_ref_debug, debug_df_defno, debug_df_ref,
7064 debug_df_chain): Improved debugging output.
7065 (df_insn_debug, df_insn_uid_debug): Added multiword reg support.
7066 (df_refs_chain_dump): Removed df parameter.
7067 (df_iterative_dataflow): Added consistency check.
7068 (df_prune_to_subcfg): Made public.
7069 (df_analyze_problem): Added blocks_to_init parameter and made
7070 public.
0ac11108 7071 (df_ref_record, df_bb_refs_record, df_mark_reg,
5d384034
DB
7072 df_record_exit_block_uses): Whitespace changes.
7073 (df_dump): Whitespace changes.
7074 * df.h: Some reordering to remove forward references.
7075 (df_ref_flags.DF_REF_MW_HARDREG, DF_REF_PARTIAL,
7076 DF_REF_MUST_CLOBBER, DF_REF_MAY_CLOBBER): New fields.
7077 (df_ref_flags.DF_REF_CLOBBER): Deleted field.
7078 (dataflow.flags): New field.
7079 (df.flag): Deleted field.
7080 (df_alloc_function): Added additional bitmap parameter.
7081 (df_dependent_problem_function): New type.
7082 (df_problem.changeable_flags): New field.
7083 (df_ref_flags.DF_REF_DIES_AFTER_THIS_USE, DF_SCAN_INITIAL,
7084 DF_SCAN_GLOBAL, DF_SCAN_POST_ALLOC, df_state): Removed.
7085 (df_mw_hardreg): New struct.
7086 (DF_INSN_UID_MWS): New macro.
7087 (df_refs_chain_dump, df_ref_debug, df_chain_dump): Removed df
7088 parameter.
7089 (df_add_problem, df_ru_add_problem, df_rd_add_problem,
7090 df_lr_add_problem, df_ur_add_problem, df_urec_add_problem,
7091 df_ri_add_problem, df_scan_add_problem): Added flags parameter.
7092 (df_set_state): Removed function.
7093 (df_set_flags, df_clear_flags, df_delete_basic_block) New functions.
7094 * df-problems.c (df_chain_dump): Removed df parameter.
7095 (df_ru_alloc, df_rd_alloc, df_lr_alloc, df_ur_alloc,
7096 df_urec_alloc, df_chain_alloc, df_ri_alloc): Added all blocks
7097 parameter.
7098 (df_ru_alloc, df_rd_alloc): Now resets all blocks.
7099 (df_rd_bb_local_compute_process_def, df_ur_bb_local_compute,
7100 df_chain_create_bb, df_create_unused_note, df_ri_bb_compute):
7101 Split DF_REF_CLOBBER into DF_REF_MAY_CLOBBER and
7102 DF_REF_MUST_CLOBBER cases.
7103 (df_ru_bb_local_compute_process_def,
7104 df_rd_bb_local_compute_process_def, df_lr_bb_local_compute,
7105 df_lr_bb_local_compute, df_ur_bb_local_compute,
7106 df_chain_create_bb): Made subreg aware.
7107 (df_ru_bb_local_compute, df_rd_bb_local_compute,
7108 df_lr_bb_local_compute, df_lr_bb_local_compute,
7109 df_chain_create_bb): Cleanup to use proper macros.
7110 (df_ur_local_finalize, df_urec_local_finalize): Removed unnecessary
7111 code to fixup bitvectors.
7112 (df_ri_alloc): Cleared lifetime.
7113 (df_ignore_stack_reg, df_kill_notes, df_set_notes_for_mw,
7114 df_create_unused_note): New function.
7115 (df_ri_bb_compute, df_ri_compute): Added code to create/update
7116 REG_DEAD and REG_UNUSED notes as well as register information.
7117 (df_ru_dump, df_rd_dump, df_lr_dump, df_ur_dump, df_urec_dump,
7118 df_chains_dump): Fixed crash if problem was never run.
7119 (df_ru_add_problem, df_rd_add_problem, df_lr_add_problem,
7120 df_ur_add_problem, df_urec_add_problem, df_chain_add_problem,
7121 df_ri_add_problem): Processes flags in uniform manner.
7122 (df_ru_alloc, df_ru_local_compute, df_ru_confluence_n, df_ru_free,
7123 df_ru_dump, df_rd_local_compute, df_rd_confluence_n, df_rd_free,
7124 df_rd_dump, df_urec_free_bb_info): Formatting changes.
7125 (df_ru_free_bb_info, df_ru_bb_local_compute, df_ru_dump,
7126 df_rd_free_bb_info, df_rd_bb_local_compute_process_def,
7127 df_rd_bb_local_compute, df_rd_dump, df_lr_free_bb_info,
7128 df_lr_bb_local_compute, df_lr_local_compute, df_ur_free_bb_info,
7129 df_ur_dump, df_urec_free_bb_info, df_urec_dump,
7130 df_chain_create_bb, df_ri_bb_compute): Whitespace changes.
7131 * modulo-sched.c (sms_schedule): Added flag parameter to calls.
7132 * see.c (see_initialize_data): Ditto.
7133 * final.c (rest_of_clean_state) Added regstack_completed.
7134 * rtl.h (regstack_completed): Ditto.
7135 * reg-stack.c (regstack_completed): Ditto.
7136
d593cb3d
MS
71372006-05-19 Mike Stump <mrs@apple.com>
7138
7139 * c-tree.h (default_conversion): Remove.
7140 * c-common.h (default_conversion): Add.
7141
04dce5a4
ZD
71422006-05-19 Zdenek Dvorak <dvorakz@suse.cz>
7143
7144 * tree-vrp.c (valid_value_p): New function.
7145 (adjust_range_with_scev): Fail if the value of bound is not
7146 simple.
7147
fa807ff6
RS
71482006-05-19 Richard Sandiford <richard@codesourcery.com>
7149
7150 * config/mips/linux-unwind.h: Include <asm/unistd.h>
7151 (mips_fallback_frame_state): Use syscall numbers to determine
7152 the appropriate li instruction for the current ABI. Only use
7153 __NR_sigreturn for o32.
7154
721a8ac5
NS
71552006-05-19 Nicolas Setton <setton@adacore.com>
7156
7157 * langhooks.h (struct lang_hooks): Add dwarf_name language hook.
7158 * langhooks.c (lhd_dwarf_name): New function.
7159 * langhooks-def.h (lhd_dwarf_name): Declare.
7160 (LANG_HOOKS_DWARF_NAME): New macro, defaults to lhd_dwarf_name.
7161 * dwarf2out.c (dwarf2_name): Use the dwarf_name language hook.
7162 * ada/misc.c (gnat_dwarf_name): New function.
7163 (LANG_HOOKS_DWARF_NAME): Define to gnat_dwarf_name.
0ac11108 7164
baffad1f
RS
71652006-05-19 Richard Sandiford <richard@codesourcery.com>
7166
7167 * libgcc2.c (MIN_UNITS_PER_WORD): Move default definition from
7168 libgcc2.h.
7169 (LIBGCC2_UNITS_PER_WORD): Provide default definition, using old
7170 MIN_UNITS_PER_WORD logic from libgcc2.h. Do nothing if
7171 LIBGCC2_UNITS_PER_WORD > MIN_UNITS_PER_WORD.
7172 * libgcc2.h (MIN_UNITS_PER_WORD): Remove definition from here.
7173 Use LIBGCC2_UNITS_PER_WORD rather than MIN_UNITS_PER_WORD to
7174 determine the size of Wtype, etc.
7175 * mklibgcc.in (LIB2_SIDITI_CONV_FUNCS): New argument.
7176 (swfloatfuncs): New variable.
7177 (dwfloatfuncs): Likewise.
7178 (lib2funcs): Remove floating-point conversion functions from
7179 initial assignment. Use LIB2_SIDITI_CONV_FUNCS to determine
7180 the set of conversion routines needed. Allow entries to specify
7181 an object name, filename and word size. Update users accordingly.
7182 * Makefile.in (libgcc.mk): Pass LIB2_SIDITI_CONV_FUNCS.
7183 * config/mips/t-mips (LIB2_SIDITI_CONV_FUNCS): Define.
7184
7185 Revert:
7186
7187 2006-02-08 Roger Sayle <roger@eyesopen.com>
7188
7189 PR target/22209
7190 * config/fixtfdi.c: New libgcc source file.
7191 * config/fixunstfdi.c: New source file.
7192 * config/floatditf.c: New source file.
7193 * config/floatunditf.c: New souce file.
7194 * config/mips/t-iris6 (LIB2FUNCS_EXTRA): Include the new source
7195 files above instead of config/mips/_tilib.c.
7196 * config/mips/t-linux64 (LIB2FUNCS_EXTRA): Likewise.
7197
03be9d6b
JDA
71982006-05-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
7199
7200 * pa/t-hpux-shlib (SHLIB_LINK): Remove `-lc'.
7201 * pa/pa-hpux11.h (LIB_SPEC): Update comment.
7202
52ffd86e
MS
72032006-05-18 Mike Stump <mrs@apple.com>
7204
7205 Fix up vla, vm and [*] sematics.
7206
7207 PR c/18740
7208 PR c/7948
7209 PR c/25802
6a1f8611 7210 PR c/27673
52ffd86e
MS
7211 * c-tree.h (struct c_arg_info): Add had_vla_unspec.
7212 (c_vla_unspec_p): Add.
7213 (c_vla_type_p): Add.
7214 * c-decl.c (struct c_scope): Add had_vla_unspec.
7215 (build_array_declarator): Add support for [*].
7216 (grokdeclarator): Likewise.
7217 (grokparms): Likewise.
7218 (get_parm_info): Likewise.
7219 * c-objc-common.c (c_vla_unspec_p): Likewise.
7220 * c-objc-common.h (LANG_HOOKS_TREE_INLINING_VAR_MOD_TYPE_P): Likewise.
7221 * c-parser.c (c_parser_typeof_specifier): Evaluate arguments to
7222 typeof when argument is a variably modified type not inside sizeof or alignof.
7223 (c_parser_direct_declarator_inner): Propagate errors.
7224 (c_parser_sizeof_expression): Add support for [*].
6a1f8611
MS
7225 (c_parser_parms_declarator): Initialize had_vla_unspec.
7226 (c_parser_parms_list_declarator): Likewise.
52ffd86e
MS
7227 * c-typeck.c (c_vla_type_p): Add.
7228 (composite_type): Add support for vla compositing.
7229 (comptypes_internal): Add support for vla compatibility.
7230 (c_expr_sizeof_expr): Evaluate vla arguments.
7231 * tree.c (variably_modified_type_p): Update comment for [*].
7232
eaec4980
MM
72332006-05-18 Michael Matz <matz@suse.de>
7234
7235 PR target/27599
7236 * config.host: Make assignments to host_xmake_file cumulative.
7237 * config.host (*-darwin*): Test $host, not $target.
7238
33932946
SH
72392006-05-12 Stuart Hastings <stuart@apple.com>
7240
a1d1988f
MS
7241 * config/i386/i386.opt (-mstackrealign): New flag.
7242 * config/i386/i386.c (force_align_arg_pointer): New attribute.
33932946
SH
7243 (ix86_handle_cconv_attribute): Emit error when
7244 force_align_arg_pointer attribute collides with too many regparms.
7245 (ix86_function_regparm): Limit regparms when used with
7246 force_align_arg_pointer attribute. (ix86_internal_arg_pointer):
7247 Support stack-realigning prologue in non-main functions. Emit
7248 warning for nested functions under -mstackrealign, emit error for
7249 nested functions with force_align_arg_pointer attribute.
a1d1988f
MS
7250 * doc/extend.texi (force_align_arg_pointer): Document it.
7251 * doc/invoke.texi (-mstackrealign): Document it.
e8366202 7252
c8983342
KH
72532006-05-17 Kazu Hirata <kazu@codesourcery.com>
7254
7255 PR rtl-optimization/27477
7256 * combine.c (try_combine): Don't split a parallel consisting
7257 of two sets into two individual sets if both sets reference
7258 cc0.
7259
344185f1
L
72602006-05-17 H.J. Lu <hongjiu.lu@intel.com>
7261
7262 * config/arm/arm.opt (target_fpe_name): Remove VarExists.
7263 * config/rs6000/rs6000.opt (TARGET_NO_FP_IN_TOC): Likewise.
7264
7265 * doc/options.texi (VarExists): Updated.
7266
edbaf6a2
JDA
72672006-05-17 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
7268
7269 * unwind-dw2.c: Add declarations for uw_update_context and
7270 uw_frame_state_for.
7271 * pa/hpux-unwind.h (pa_fallback_frame_state): When an export stub is
7272 detected, advance frame state and context once to skip over stub.
7273
c93c5025
SP
72742006-05-17 Sebastian Pop <pop@cri.ensmp.fr>
7275
7276 PR middle-end/20256
7277 PR middle-end/26435
7278 * tree-loop-linear.c (linear_transform_loops): Don't test perfect_nest_p.
7279 Call rewrite_into_loop_closed_ssa only when something changed.
7280 * lambda.h (gcc_loopnest_to_lambda_loopnest): Update declaration.
7281 * lambda-code.c (can_convert_to_perfect_nest): Declared.
7282 (gcc_loopnest_to_lambda_loopnest): Removed need_perfect_nest parameter.
7283 Test for perfect_nest_p here. Fix formating.
7284 (replace_uses_equiv_to_x_with_y): Fix formating.
7285 (stmt_uses_op): Removed.
7286 (can_convert_to_perfect_nest): Removed loopivs parameter.
7287 Complete the test by checking the scalar dependences.
7288 (perfect_nestify): Remove the test for can_convert_to_perfect_nest.
7289 Fix formating.
7290
be448346
BS
72912005-05-17 Bernd Schmidt <bernd.schmidt@analog.com>
7292
7293 PR bootstrap/22541
7294 From Dan Kegel <dank@kegel.com>:
7295 * Makefile.in: Strip "dir/../" combinations from SYSTEM_INCLUDE_DIR.
7296
2e3b8fe7
EB
72972006-05-17 Eric Botcazou <ebotcazou@adacore.com>
7298
7299 * tree.c (variably_modified_type_p) <ARRAY_TYPE>: Return true
7300 if the element type is variably modified without recursing.
7301
9cb8f1ba
SP
73022006-05-17 Sebastian Pop <pop@cri.ensmp.fr>
7303
7304 PR middle-end/27332
e8366202 7305 * tree-loop-linear.c (try_interchange_loops): Test for
9cb8f1ba
SP
7306 no data dependences.
7307
e5db3515
ZD
73082006-05-17 Zdenek Dvorak <dvorakz@suse.cz>
7309
7310 PR tree-optimization/27548
7311 * tree-scalar-evolution.c (scev_const_prop): Do not prolong life
7312 range of ssa names that appear on abnormal edges.
7313 * tree-ssa-loop-ivopts.c (contains_abnormal_ssa_name_p): Export.
7314 * tree-flow.h (contains_abnormal_ssa_name_p): Declare.
7315
33598a1b
BS
73162005-05-17 Bernd Schmidt <bernd.schmidt@analog.com>
7317
7318 PR middle-end/27620
7319 * expr.c (safe_from_p): Handle CONSTRUCTOR again.
7320
761041be
JJ
73212006-05-17 Jakub Jelinek <jakub@redhat.com>
7322
7323 PR middle-end/27415
7324 * tree.h (OMP_PARALLEL_COMBINED): Define.
7325 * gimplify.c (struct gimplify_omp_ctx): Add is_combined_parallel field.
7326 (new_omp_context): Add is_combined_parallel argument.
7327 (gimplify_scan_omp_clauses): Add in_combined_parallel argument, adjust
7328 new_omp_context caller.
7329 (gimplify_omp_parallel, gimplify_omp_for, gimplify_omp_workshare):
7330 Adjust gimplify_scan_omp_clauses callers.
7331 (omp_is_private): Issue errors if iteration variable is firstprivate
7332 or reduction in the current context.
7333 * c-parser.c (c_parser_omp_parallel): Set OMP_PARALLEL_COMBINED
7334 on combined parallel workshare constructs.
7335
8dc3f290
L
73362006-05-16 H.J. Lu <hongjiu.lu@intel.com>
7337
7338 * Makefile.in (GCC_OBJS): Replace options.o with gcc-options.o.
7339 (gcc-options.o): New rule.
7340
7341 * optc-gen.awk: Protect variables for gcc-options.o with
7342 #ifdef GCC_DRIVER/#endif.
7343
2ed4b0ce 73442006-05-16 Daniel Berlin <dberlin@dberlin.org>
e8366202 7345
2ed4b0ce
DB
7346 Fix PR tree-optimization/27373
7347 * tree-ssa-forwprop.c: (forward_propagate_addr_expr_1): Add argument.
7348 (forward_propagate_addr_expr): Update call.
7349
48b06e94
L
73502006-05-16 H.J. Lu <hongjiu.lu@intel.com>
7351
7352 * doc/options.texi: Move the Negative option.
7353
faaf1436
RG
73542006-05-16 Richard Guenther <rguenther@suse.de>
7355
7356 PR tree-optimization/22303
7357 * tree-ssa-ccp.c (fold_const_aggregate_ref): Handle reads
7358 from STRING_CSTs.
7359 (evaluate_stmt): Fall back to fold_const_aggregate_ref, if
7360 ccp_fold did not simplify the statement.
7361
14c7833c
L
73622006-05-16 H.J. Lu <hongjiu.lu@intel.com>
7363
7364 PR driver/26885
7365 * Makefile.in (GCC_OBJS): New.
7366 (OBJS-common): Add opts-common.o.
7367 (xgcc$(exeext)): Replace gcc.o with $(GCC_OBJS).
7368 (cpp$(exeext)): Likewise.
7369 (gcc.o): Also depend on opts.h.
7370 (opts-common.o): New.
7371
7372 * common.opt (gcoff): Add Negative(gdwarf-2).
7373 (gdwarf-2): Add Negative(gstabs).
7374 (gstabs): Add Negative(gstabs+).
7375 (gstabs+): Add Negative(gvms).
7376 (gvms): Add Negative(gxcoff).
7377 (gxcoff): Add Negative(gxcoff+).
7378 (gxcoff+): Add Negative(gcoff).
7379 * config/i386/i386.opt (m32): Add Negative(m64).
7380 (m64): Add Negative(m32).
7381
7382 * doc/options.texi: Document the Negative option.
7383
7384 * gcc.c: Include "opts.h".
7385 (main): Call prune_options after expandargv.
7386
7387 * optc-gen.awk: Generate common declarations for all flag
7388 variables in options.c. Output the neg_index field.
7389
7390 * opts.c (find_opt): Moved to ...
7391 * opts-common.c: Here. New file.
7392
7393 * opts.h (cl_option): Add a neg_index field.
7394 (find_opt): New.
7395 (prune_options): Likewise.
7396
4156f84b
JJ
73972006-05-16 Jakub Jelinek <jakub@redhat.com>
7398
b570947c
JJ
7399 PR middle-end/27573
7400 * omp-low.c (expand_omp_parallel): Don't assert
7401 .OMP_DATA_I = &.OMP_DATA_O is the first statement in the block,
7402 instead search for it.
7403
4156f84b
JJ
7404 PR c/27499
7405 * gimplify.c (gimplify_omp_for): Remove assertion that iteration var
7406 is signed.
7407
726e9992
AS
74082006-05-16 Andreas Schwab <schwab@suse.de>
7409
7410 * doc/tm.texi (TARGET_LIBGCC_SDATA_SECTION): Add missing @end
7411 defmac.
7412
d0b89852
RS
74132006-05-15 Roger Sayle <roger@eyesopen.com>
7414
7415 PR target/26600
7416 * config/i386/i386.c (legitimate_constant_p) <CONST_DOUBLE>: TImode
7417 integer constants other than zero are only legitimate on TARGET_64BIT.
7418 <CONST_VECTOR> Only zero vectors are legitimate.
7419 (ix86_cannot_force_const_mem): Integral and vector constants can
7420 always be put in the constant pool.
7421
a0cfeb0f
DD
74222006-05-16 DJ Delorie <dj@redhat.com>
7423
7424 * crtstuff.c (__dso_handle): Set section from
7425 TARGET_LBIGCC_SDATA_SECTION if defined.
726e9992 7426 * doc/tm.texi (TARGET_LIBGCC_SDATA_SECTION): Document.
a0cfeb0f
DD
7427 * config/mips/mips.h (TARGET_LIBGCC_SDATA_SECTION): Define.
7428
21028020
DS
74292006-05-16 Danny Smith <dannysmith@users.sourceforge.net>
7430
eaec4980 7431 PR target/27599
21028020
DS
7432 * config.host (i[34567]86-*-mingw*): Append i386/x-mingw32 to
7433 host_xmake_file.
7434
4741d956
BE
74352006-05-16 Ben Elliston <bje@au.ibm.com>
7436
7437 * tree-cfg.c (split_edge_bb_loc): Remove unused variable `src'.
7438
44422aa3
PB
74392006-05-15 Per Bothner <per@bothner.com>
7440
0977c9ab 7441 * tree.c: (last_annotated_node): Use source_locus typedef.
44422aa3
PB
7442 This permits bootstrapping with --enable-mapped-location.
7443
95dd3097
ZD
74442006-05-15 Zdenek Dvorak <dvorakz@suse.cz>
7445
7446 PR tree-optimization/26830
7447 * tree-into-ssa.c (struct ssa_name_info): Add age field.
7448 (info_for_ssa_name, current_info_for_ssa_name_age,
7449 blocks_to_update): New variables.
7450 (get_ssa_name_ann): Use info_for_ssa_name instead of SSA_NAME_AUX.
7451 (clear_ssa_name_info, initialize_flags_in_bb,
7452 mark_block_for_update): New functions.
7453 (mark_def_sites, rewrite_stmt): Assert that blocks_to_update is NULL.
7454 (insert_phi_nodes_for, mark_use_interesting, prepare_block_for_update,
7455 prepare_def_site_for): Use mark_block_for_update.
7456 (mark_def_interesting): Assert that the processed block is marked in
7457 blocks_to_update. Do not take blocks argument.
7458 (prepare_use_sites_for, prepare_names_to_update): Do not take blocks
7459 argument.
7460 (rewrite_update_init_block, rewrite_update_stmt): Only process
7461 blocks with statements to rewrite.
7462 (delete_update_ssa): Do not clear SSA_NAME_AUX.
7463 (update_ssa): Initialize and free blocks_to_update. Do not
7464 clear flags on statements. Do not use blocks bitmap.
7465 * tree.h (SSA_NAME_AUX): Removed.
7466 (struct tree_ssa_name): Removed aux field.
7467 * print-tree.c (print_node): Do not print SSA_NAME_AUX.
7468
7136db7a
RG
74692006-05-15 Richard Guenther <rguenther@suse.de>
7470
7471 PR tree-optimization/27603
7472 * tree-ssa-loop-niter.c (infer_loop_bounds_from_undefined):
7473 Do computations in original type.
7474
a0145633
MN
74752006-05-15 Mircea Namolaru <namolaru@il.ibm.com>
7476
f8f80cbb
ZD
7477 * see.c: Code style changes such as redundant paranthesis,
7478 redundant intialization of local variables etc.
7479 (see_main): Declared now as static.
7480 * doc/invoke.texi: Update that -fsee is not enabled by
7481 default at -O3.
a0145633 7482
eeb1d9e0
JJ
74832006-05-15 Jakub Jelinek <jakub@redhat.com>
7484
a6fc8e21
JJ
7485 * omp-low.c (check_omp_nesting_restrictions): New function.
7486 (scan_omp_1): Call it.
7487
eeb1d9e0
JJ
7488 PR middle-end/27416
7489 * omp-low.c (build_outer_var_ref): If VAR is reference in orphaned
7490 construct, return *VAR.
7491
a1709769
KK
74922006-05-14 Kaz Kojima <kkojima@gcc.gnu.org>
7493
7494 PR rtl-optimization/27406
7495 * bt-load.c (migrate_btr_def): Skip the block having abnormal
7496 edges.
7497
56106c2e
RS
74982006-05-14 Roger Sayle <roger@eyesopen.com>
7499
7500 PR rtl-optimization/27538
7501 * combine.c (expand_compound_operation): Call gen_lowpart
7502 before calling simplify_shift_const.
7503
c505fc06
RS
75042006-05-14 Roger Sayle <roger@eyesopen.com>
7505
7506 PR rtl-optimization/22563
7507 * expmed.c (store_fixed_bit_field): When using AND and IOR to store
7508 a fixed width bitfield, always force the intermediates into psuedos.
7509
f9a4b91e
BF
75102006-05-14 Bernhard Fischer <aldot@gcc.gnu.org>
7511
7512 PR 27501
7513 * mkconfig.sh: Use operator = instead of == for test.
7514
83409463
NC
75152006-05-13 Nick Clifton <nickc@redhat.com>
7516
7517 * dwarf2out.c (dbx_reg_number): Check return value from
7518 LEAF_REG_REMAP and only use it if it is valid.
7519 (multiple_reg_loc_descriptor): Likewise.
7520
75c3fb73
RG
75212006-05-13 Richard Guenther <rguenther@suse.de>
7522
7523 * config.host <i[34567]86-*-cygwin*>: Append i386/x-cygwin to
7524 host_xmake_file.
7525
a1b53177
SB
75262006-05-13 Steven Bosscher <stevenb.gcc@gmail.com>
7527
7528 * df-core.c (df_bb_regno_last_use_find): Do not look for dataflow
7529 information attached to non-INSNs such as NOTEs.
7530 (df_bb_regno_first_def_find, df_bb_regno_last_def_find): Likewise.
7531
651a36e3
AK
75322006-05-12 Andreas Krebbel <krebbel1@de.ibm.com>
7533
7534 * config/s390/s390.c (s390_const_ok_for_constraint_p): Disallow -4G for
7535 On contraint.
7536 * config/s390/s390.md: Adjust comment describing On constraint.
7537
5d342ef9
JH
75382006-05-11 Jan Hubicka <jh@suse.cz>
7539
7540 * cgraphunit.c (decide_is_function_needed): Don't force always_inline
7541 to be output at -O0.
7542
81e61fb4
VR
75432006-05-11 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
7544
7ebcc52c
VR
7545 PR middle-end/27384
7546 * fold-const.c (size_binop): Move sanity check for arguments to
7547 the beginning of the function.
7548
81e61fb4
VR
7549 PR middle-end/27488
7550 * fold-const.c (tree_expr_nonnegative_p): Return early on invalid
7551 expression.
7552
497cfe24
RG
75532006-05-11 Richard Guenther <rguenther@suse.de>
7554
7555 PR middle-end/27529
7556 * fold-const.c (fold_unary): Handle intermediate conversion
7557 to a pointer type like intermediate conversion to an integer
7558 type in folding of (T1)(T2)var to var.
7559 Match the code to the comment in the final conversion for
7560 (T1)(T2)var to (T1)var regarding to type precision. Rather
7561 than disallow T1 being of pointer type, assert that both T1
7562 and var are of pointer type or not. Make sure not to fall
7563 over the frontends lazyness wrt array to pointer decay though.
7564
29e339b9
RE
75652006-05-10 Richard Earnshaw <rearnsha@arm.com>
7566
7567 * arm.c (arm_struct_value_rtx): Delete.
7568 (TARGET_STRUCT_VALUE_RTX): Use the default definition.
7569 (arm_init_cumulative_args): Always initialize nregs to zero.
7570
5ac4f3bb
RG
75712006-05-10 Richard Guenther <rguenther@suse.de>
7572
7573 PR tree-optimization/27532
7574 * tree-object-size.c (plus_expr_object_size): Fix typo.
7575
e43d8b8a
KH
75762006-05-10 Kazu Hirata <kazu@codesourcery.com>
7577
7578 PR target/24949
7579 * config/m68k/m68k.md (ashrdi_const32, ashrdi_const32_mem,
7580 ashrdi_const, ashrdi3): Use a scratch register.
7581
a04d8591
RG
75822006-05-10 Richard Guenther <rguenther@suse.de>
7583
7584 PR tree-optimization/27302
7585 * fold-const.c (operand_equal_p): For two comparisons,
7586 try comparison of one comparison code swapped if that yields
7587 the same code.
7588
9c5835d5
BE
75892006-05-10 Ben Elliston <bje@au.ibm.com>
7590
4db60bd0
BE
7591 * tree-pretty-print.c (pretty_print_string): No need to handle
7592 '\0' as a special character.
7593
9c5835d5
BE
7594 * tree.h: Include "hashtab.h".
7595 (iterative_hash_expr): Use hashval_t in its prototype.
7596 * Makefile.in (TREE_H): Add $(HASHTAB_H).
7597
543b6009
SE
75982006-05-09 Steve Ellcey <sje@cup.hp.com>
7599
7600 PR bootstrap/26872
7601 * config.gcc (hppa[12]*-*-hpux10*): Set gas to yes.
7602 (hppa*64*-*-hpux11*): Ditto.
7603 (hppa[12]*-*-hpux11*): Ditto.
7604
7ac159a5
DE
76052006-05-09 David Edelsohn <edelsohn@gnu.org>
7606
7607 PR target/26545
7608 * config/rs6000/aix41.h (TARGET_64BIT): Define.
7609
fa959ce4
MM
76102006-05-09 Michael Matz <matz@suse.de>
7611
7612 * config.host (<i[34567]86-*-*, x86_64-*-*>): Set
7613 host_extra_gcc_objs and host_xmake_file.
7614 (<*-*-linux*>): Don't overwrite host_xmake_file.
7615 * gcc.c (static_spec_functions): Add EXTRA_SPEC_FUNCTIONS.
7616 * config/i386/i386.h (EXTRA_SPEC_FUNCTIONS): Define.
7617 (host_detect_local_cpu): Declare.
7618 (CC1_CPU_SPEC): Add -march=native and -mtune=native cases.
7619 * config/i386/i386.c (override_options): Handle -mtune=native
7620 as -mtune=generic.
7621 * config/i386/x-i386: New file.
7622 * config/i386/driver-i386.c: New file.
7623 * doc/invoke.texi (<i386 and x86-64 Options>): Describe
7624 cpu-type "native".
7625
f9c3744b
DM
76262006-05-09 Dirk Mueller <dmueller@suse.de>
7627 Richard Guenther <rguenther@suse.de>
7628
7629 PR middle-end/27498
7630 * fold-const.c (fold_read_from_constant_string): Relax check
7631 for matching types to matching modes.
7632
2c790a28
ZD
76332006-05-09 Zdenek Dvorak <dvorakz@suse.cz>
7634
7635 PR rtl-optimization/27335
7636 * loop-unroll.c (peel_loops_completely): Use loops->parray to walk the
7637 loops.
7638
ec4fc7ed
RS
76392006-05-08 Chao-ying Fu <fu@mips.com>
7640 Richard Sandiford <richard@codesourcery.com>
7641
7642 * config/mips/mips-ps-3d.md (scc_ps, s<code>_ps): New patterns.
7643 (vcondv2sf, sminv2sf3, smaxv2sf3): Likewise.
7644 * config/mips/mips.md (UNSPEC_SCC): New constant.
7645 * config/mips/mips-protos.h (mips_expand_vcondv2sf): Declare.
7646 * config/mips/mips.c (mips_reverse_fp_cond_p): New function.
7647 (mips_emit_compare): Use it.
7648 (mips_expand_vcondv2sf): New function.
7649
74be08f8
DB
76502006-05-08 Daniel Berlin <dberlin@dberlin.org>
7651
7652 Fix PR tree-optimization/27093
e8366202 7653 * tree-ssa-alias.c (recalculate_used_alone): Mark variables for
74be08f8
DB
7654 renaming when they become not-used_alone.
7655
fdaaf002
JDA
76562006-05-08 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
7657
7658 * hpux-unwind.h (pa_fallback_frame_state): Handle return parameter
7659 relocation and relocation stubs.
7660
90c92323
EC
76612006-05-08 Eric Christopher <echristo@apple.com>
7662
7663 * unwind-dw2-fde-darwin.c (examine_objects): Only check data
7664 section for ppc.
7665
04f77d0f
JH
76662006-05-08 Jan Hubicka <jh@suse.cz>
7667
46f5f7f2 7668 PR middle-end/24561
04f77d0f
JH
7669 * cgraphunit.c (decide_is_function_needed): When not optimizing even
7670 unused static functions are needed.
7671
857e5753
RS
76722006-05-08 Roger Sayle <roger@eyesopen.com>
7673
7674 PR target/27158
7675 * reload.c (find_reloads_toplev): Only return the simplified SUBREG
7676 of a reg_equiv_constant if the result is a legitimate constant.
7677
b81bd6c9
UB
76782006-05-08 Uros Bizjak <uros@kss-loka.si>
7679
7680 PR target/27277
7681 * config/i386/i386.c (ix86_rtx_costs) [FLOAT_EXTEND]: For
7682 standard 80387 constants, raise the cost to prevent
7683 compress_float_constant() to generate load from memory.
7684
923d16d4
KH
76852006-05-08 Kazu Hirata <kazu@codesourcery.com>
7686
7687 * config/arm/constraints.md (c): Fix a typo.
7688
bca50406
KH
7689 * see.c, tree-flow-inline.h, tree-phinodes.c: Fix comment
7690 typos.
7691
67a4b391
L
76922006-05-07 H.J. Lu <hongjiu.lu@intel.com>
7693
7694 PR target/24879
7695 * config/i386/pmmintrin.h (_mm_monitor): Remove macro. Use
7696 inline function.
7697 (_mm_mwait): Likewise.
7698
7699 * config/i386/sse.md (sse3_mwait): Replace "mwait\t%0, %1" with
7700 "mwait".
7701 (sse3_monitor): Make it 32bit only.
7702 (sse3_monitor64): New. 64bit monitor.
7703
f7360901
VR
77042006-05-07 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
7705
7706 PR target/27421
7707 * config/i386/i386.c (classify_argument): Skip fields with invalid
7708 types.
7709
18455d17
RG
77102006-05-07 Richard Guenther <rguenther@suse.de>
7711
7712 PR tree-optimization/27409
7713 * tree-ssa-structalias.c (get_constraint_for_component_ref):
7714 Do not try to find zero-sized subvars.
7715
ed52affe
RG
77162006-05-07 Richard Guenther <rguenther@suse.de>
7717
7718 PR tree-optimization/27136
7719 * tree-ssa-loop-niter.c (get_val_for): Correct function
7720 comment, assert requirements.
7721 (loop_niter_by_eval): Stop processing if the iterated
7722 value did not simplify.
7723
ef5d0a89
MN
77242006-05-07 Mircea Namolaru <namolaru@il.ibm.com>
7725
e8366202 7726 * opts.c (flag_see): remove its setting at -O3.
90c92323 7727
ce92b223
RE
77282006-05-07 Richard Earnshaw <rearnsha@arm.com>
7729
7730 * genpeep.c (main): Make insn-peep.c depend on flags.h.
7731 * arm/constraints.md: New file.
7732 * arm.h (REG_CLASS_FROM_LETTER_P): Delete.
7733 (CONST_OK_FOR_ARM_LETTER, CONST_OK_FOR_THUMB_LETTER)
7734 (CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_ARM_LETTER)
7735 (CONST_DOUBLE_OK_FOR_LETTER_P, EXTRA_CONSTRAINT_STR_ARM)
7736 (CONSTRAINT_LEN, EXTRA_CONSTRAINT_THUMB, EXTRA_CONSTRAINT_STR)
7737 (EXTRA_MEMORY_CONSTRAINT): Likewise.
7738 * arm.md: Include constraints.md.
7739 (thumb_movsi_insn): Use satisfies_constraint_J.
7740 (movhi, movqi): Use satisfies_constraint_I.
7741
ed1a08a7
AS
77422006-04-29 Anatoly Sokolov <aesok@post.ru>
7743
e8366202 7744 * config/avr/avr.h (CRT_BINUTILS_SPECS): Fixed crt* file name
ed1a08a7
AS
7745 for atmeg a645 device.
7746
75bfa678
RG
77472006-05-06 Richard Guenther <rguenther@suse.de>
7748
7749 PR tree-optimization/27151
7750 * tree-vect-transform.c (vectorizable_condition): Punt on
7751 values that have a different type than the condition.
7752
8d8d1a28
AH
77532006-05-03 Aldy Hernandez <aldyh@redhat.com>
7754
7755 PR/21391
7756 * c-parser.c (c_parser_cast_expression): Only insert casts into
7757 hash table if pointer.
7758 * function.c (used_types_insert_helper): Rename from
7759 used_types_insert.
7760 (used_types_insert): Call used_types_insert_helper.
7761 * function.h (used_types_insert): Accept only one argument.
7762
edd54d25
DE
77632006-05-05 David Edelsohn <edesohn@gnu.org>
7764
7765 * config/rs6000/rs6000.md: Mark all "X" constraints for clobbered
7766 scratch with output modifier.
7767
1958f718
DE
77682006-05-04 David Edelsohn <edelsohn@gnu.org>
7769
7770 PR target/26481
7771 * config/rs6000/rs6000.md (stmsi_power): Mark clobber constraint
7772 with output modifier.
7773
05431b85
KH
77742006-05-04 Richard Sandiford <richard@codesourcery.com>
7775
7776 PR target/26765
7777 * config/mips/mips.c (mips_symbolic_address_p): Return true
7778 for SYMBOL_TLSGD, SYMBOL_TLSLDM, SYMBOL_DTPREL, SYMBOL_TPREL,
7779 SYMBOL_GOTTPREL, and SYMBOL_TLS.
7780
d818832c
RG
77812006-05-04 Richard Guenther <rguenther@suse.de>
7782
7783 PR tree-optimization/14287
7784 PR tree-optimization/14844
7785 PR tree-optimization/19792
7786 PR tree-optimization/21608
7787 PR tree-optimization/27090
7788 * tree-ssa-pre.c (try_combine_conversion): New function.
7789 (compute_avail): After constructing the value-handle
7790 expression, use try_combine_conversion to combine NOP_EXPRs
7791 with previous value-handle expressions and use the result if it
7792 is available.
7793
6c4b5a19
JM
77942006-05-04 Joseph S. Myers <joseph@codesourcery.com>
7795
7796 * config/mips/linux64.h (DWARF_OFFSET_SIZE): Remove.
7797
69fb1284
JH
77982006-05-04 Jan Hubicka <jh@suse.cz>
7799
7800 PR middle-end/25962
7801 * cgraphunit.c (verify_cgraph_node): Fix cgraph_hash testing.
7802
554006bd
BS
78032006-05-04 Bernd Schmidt <bernd.schmidt@analog.com>
7804
7805 * config/bfin/predicates.md (const01_rtx): Tell generator programs
7806 that this only matches CONST_INTs. All users changed to VOIDmode
7807 operands.
7808
42da70b7
BS
7809 * config/bfin/bfin.c: Include "optabs.h".
7810 (bfin_rtx_costs): Some costs for vector operations, to allow combine
7811 to do more work.
7812 (enum bfin_builtins): Add a number of fractional and vector builtins.
7813 (bfin_init_builtins): Likewise.
7814 (struct builtin_description, bdesc_2arg, bdesc_1arg): New.
7815 (safe_vector_operand, bfin_expand_binop_builtin,
7816 bfin_expand_unop_builtin): New functions.
7817 (bfin_expand_builtin): Handle the new builtins.
7818 * config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS): Define
7819 __ADSPBLACKFIN__.
7820
8cd37d0b
RL
78212006-05-04 Leehod Baruch <leehod@il.ibm.com>
7822
e8366202
MS
7823 * see.c: New file.
7824 * Makefile.in (OBJS-common): Add see.o.
7825 (see.o): Add dependencies.
7826 * common.opt (fsee): New flag for the see optimization was added.
7827 * opts.c (flag_see): Initialized.
7828 * passes.c (init_optimization_passes, pass_see): New pass.
7829 * rtl.h (see_main): Declaration as extern.
7830 * timevar.def (TV_SEE): New.
7831 * tree-pass.h (pass_see): Declaration as extern.
7832 * invoke.texi (-fsee): Document.
7833 * recog.c (validate_simplify_insn): New function.
7834 * recog.h (validate_simplify_insn): Declaration as extern.
7835 * df-problems.c (df_chain_dump): Check for NULL.
8cd37d0b
RL
7836
78372006-05-04 Kenneth Zadeck <zadeck@naturalbridge.com>
e8366202 7838 Daniel Berlin <dberlin@dberlin.org>
8cd37d0b 7839
e8366202
MS
7840 * cfgrtl.c (insert_insn_bb_end_new): New function.
7841 * basic-block.h (insert_insn_bb_end_new): Declaration as extern.
8cd37d0b
RL
7842
78432006-05-04 Leehod Baruch <leehod.baruch@weizmann.ac.il>
7844
e8366202
MS
7845 * df.h (struct web_entry): Moved from web.c.
7846 (union_defs): Declaration as extern.
7847 (unionfind_root): Likewise.
7848 (unionfind_union): Likewise.
7849 * web.c (struct web_entry): Moved to df.h.
7850 (unionfind_root): Remove static declaration.
7851 (unionfind_union): Likewise.
7852 (union_defs): Likewise and generalize to use callback function.
7853 (web_main): Update arguments for union_defs function call.
8cd37d0b 7854
23ba9627
RG
78552006-05-04 Richard Guenther <rguenther@suse.de>
7856
7857 PR tree-optimization/26447
7858 * tree-ssa-pre.c (realify_fake_stores): For necessary loads
7859 produce SSA_NAME copies before the store stmt to avoid
7860 breaking exception handling.
7861
f6a5ffbf
JJ
78622006-05-04 Jakub Jelinek <jakub@redhat.com>
7863
7864 PR middle-end/27388
7865 * gimplify.c (omp_is_private): If var is shared in some outer context,
7866 return false instead of true. Stop searching on parallel context
7867 boundary.
7868
0ef1a537
AO
78692006-05-03 Alexandre Oliva <aoliva@redhat.com>
7870
7871 PR java/8260
7872 * coverage.c: Use get_gcov_unsigned_t() instead of
7873 unsigned_type_node all over.
7874
afd83fe4
AM
78752006-05-02 Andrew MacLeod <amacleod@redhat.com>
7876
7877 PR tree-optimization/27381
90c92323 7878 * tree-phinodes.c (remove_phi_arg_num): When moving a phi argument,
afd83fe4 7879 maintain the same immediate_use links.
90c92323 7880 * tree-ssa-operands.c (dump_immediate_uses_for): Show iteration marker
afd83fe4
AM
7881 node rather than segfaulting.
7882
693d710f
JJ
78832006-05-03 Jakub Jelinek <jakub@redhat.com>
7884
7885 PR fortran/27395
7886 * gimplify.c (gimplify_scan_omp_clauses): Compare OMP_CLAUSE_CODE
7887 rather than TREE_CODE to OMP_CLAUSE_REDUCTION. Set also GOVD_SEEN
7888 bit for OMP_CLAUSE_REDUCTION_PLACEHOLDER.
7889
832a0c1d
DB
78902006-05-02 Daniel Berlin <dberlin@dberlin.org>
7891
7892 Fix PR tree-optimization/26626
7893 * tree-ssa-structalias.c (compute_points_to_sets): For now, solve
7894 always.
7895 * tree-ssa-operands.c (access_can_touch_variable): Allow
7896 typecasting through union pointers.
7897
8ca5b2a2
JJ
78982006-05-02 Jakub Jelinek <jakub@redhat.com>
7899
7900 PR c++/26943
7901 * omp-low.c (maybe_lookup_decl_in_outer_ctx): New function.
7902 (build_outer_var_ref): Use maybe_lookup_decl_in_outer_ctx
7903 to find if var will be a global variable even in the nested context.
7904 (omp_copy_decl): Only check for global variable at the end, it might
7905 be overridden in outer contexts.
7906 (scan_sharing_clauses): For global variables don't create a field.
7907 (lower_rec_input_clauses): Do nothing for global shared variables.
7908 Emit a barrier at the end of ILIST if there were any decls in both
7909 firstprivate and lastprivate clauses.
7910 (lower_send_clauses): Do nothing for global variables except for
7911 COPYIN.
7912
a3428e07
ZD
79132006-05-02 Zdenek Dvorak <dvorakz@suse.cz>
7914
7915 * tree.c (unsigned_type_for, signed_type_for): Make sure a type
7916 of the correct signedness is returned.
7917
26ef4301
JL
79182006-05-02 Jeff Law <law@redhat.com>
7919
7920 PR tree-optimization/27364
7921 * tree-vrp.c (vrp_int_const_binop): Fix detection of overflow from
7922 multiply expressions.
7923
263bb8fb
TT
79242006-05-02 Tom Tromey <tromey@redhat.com>
7925
7926 * tree-flow-inline.h (op_iter_init_phiuse): Fixed typo.
7927
54b9e939
KH
79282006-05-02 Kazu Hirata <kazu@codesourcery.com>
7929
7930 PR target/27387
7931 * arm.c (arm_output_mi_thunk): Use pc-relative addressing when
7932 -mthumb -fPIC are used.
7933
2297e173
SS
79342006-05-02 Stanislaw Skowronek <skylark@linux-mips.org>
7935 Joshua Kinard <kumba@gentoo.org>
d541888b
SS
7936
7937 PR target/25871
a1d1988f 7938 * config/mips/mips.h (TRAMPOLINE_TEMPLATE): Avoid 32-bit moves
d541888b
SS
7939 with 64-bit pointers.
7940
7a7017bc
PB
79412006-05-02 Paul Brook <paul@codesourcery.com>
7942
7943 * config/arm/arm.c (add_minipool_forward_ref): Check if insn
7944 and pool overlap.
7945 (create_fix_barrier): Check that a suitable barrier location is
7946 found.
7947 (arm_reorg): Include ftmp->address in allowable range of addresses.
7948
3beef5cb
DB
79492006-05-02 David Billinghurst <David.Billinghurst@riotinto.com>
7950
7951 PR ada/27366
90c92323 7952 * ada/env.c (__gnat_clearenv): Use unsetenv() to clear environment
7a7017bc 7953 on Cygwin.
3beef5cb 7954
d5d86fde
JJ
79552006-05-02 Jakub Jelinek <jakub@redhat.com>
7956
077b0dfb
JJ
7957 PR middle-end/27337
7958 * gimplify.c (gimplify_scan_omp_clauses): Handle INDIRECT_REF
7959 around RESULT_DECL for result passed by reference.
7960 (gimplify_expr): Call omp_notice_variable when RESULT_DECL is seen.
7961 * omp-low.c (use_pointer_for_field): Don't look at
7962 DECL_HAS_VALUE_EXPR_P for RESULT_DECLs.
7963 (scan_omp_1): Call remap_decl on RESULT_DECLs.
7964 (lower_rec_input_clauses): Don't allocate VLA memory for the second
7965 time or var for passing by reference for
7966 OMP_CLAUSE_LASTPRIVATE_FIRSTPRIVATE clauses. Allow creation of
7967 TREE_ADDRESSABLE variables when passing by reference.
7968
7969 * omp-low.c (dump_omp_region): Fix output formatting.
7970
2aee3e57
JJ
7971 PR middle-end/27328
7972 * omp-low.c (remove_exit_barrier): Handle NULL exit_bb.
7973 (expand_omp_parallel): Likewise.
7974 * tree-cfg.c (move_sese_region_to_fn): Likewise.
7975
4a31b7ee
JJ
7976 PR middle-end/27325
7977 * omp-low.c (lower_omp_sections): Call maybe_catch_exception
7978 on statement list containing also constructors and destructors.
7979 (lower_omp_single, lower_omp_for, lower_omp_parallel): Likewise.
7980
d5d86fde
JJ
7981 PR middle-end/27310
7982 * except.c (duplicate_eh_regions): Fix clearing of
7983 cfun->eh->region_array entries.
7984
c15b113b
DD
79852006-05-01 DJ Delorie <dj@redhat.com>
7986
7987 * configure.ac (gcc_cv_nm): Don't use an in-tree nm if
7988 build!=host.
7989 (gcc_cv_objdump): Likewise.
7990 * configure: Regenerated.
7991
94634f14
KH
79922006-05-01 Kazu Hirata <kazu@codesourcery.com>
7993
7994 PR target/27374
7995 * config/arm/vfp.md (*arm_movdi_vfp): Correct the output
7996 templates for case 3 and 4.
7997
2d5bc016
DD
79982006-05-01 DJ Delorie <dj@redhat.com>
7999
8000 * vec.c: Include bconfig.h when appropriate.
8001 * Makefile.in (build/vec.o): Adjust dependencies.
8002 * mkconfig.sh: Make sure config.h isn't used for build machine
8003 compiles.
8004
2ce79879
ZD
80052006-05-01 Zdenek Dvorak <dvorakz@suse.cz>
8006
8007 * tree-into-ssa.c (phis_to_rewrite, blocks_with_phis_to_rewrite): New
8008 variables.
8009 (mark_phi_for_rewrite): New function.
8010 (insert_phi_nodes_for, mark_use_interesting): Call
8011 mark_phi_for_rewrite.
8012 (rewrite_update_phi_arguments): Traverse only phis in phis_to_rewrite.
8013 (update_ssa): Initialize and free phis_to_rewrite.
8014
ed541ddb
ZD
80152006-05-01 Zdenek Dvorak <dvorakz@suse.cz>
8016
8017 PR rtl-optimization/27291
8018 * loop-doloop.c (add_test, doloop_modify): Handle the case condition is
8019 folded to a constant.
8020
dcccd88d
ZD
80212006-05-01 Zdenek Dvorak <dvorakz@suse.cz>
8022
8023 PR tree-optimization/27283
8024 * tree-ssa-loop-ivopts.c (struct nfe_cache_elt): Store just trees,
8025 not whole # of iteration descriptions.
8026 (niter_for_exit): Return just # of iterations. Fail if # of iterations
8027 uses abnormal ssa name.
8028 (niter_for_single_dom_exit): Ditto.
8029 (find_induction_variables, may_eliminate_iv): Expect niter_for_exit to
8030 return just the number of iterations.
8031
763f4527
ZD
80322006-05-01 Zdenek Dvorak <dvorakz@suse.cz>
8033
8034 PR tree-optimization/27144
8035 * tree-ssa-loop-niter.c (derive_constant_upper_bound): New function.
8036 (record_estimate): Only record constant upper bound.
8037 (infer_loop_bounds_from_undefined): Call
8038 compute_estimated_nb_iterations just once.
8039 (proved_non_wrapping_p): Renamed to ...
8040 (n_of_executions_at_most): ... this. Expect bound to be a constant.
8041 (convert_step_widening, scev_probably_wraps_p): Call
8042 n_of_executions_at_most instead of proved_non_wrapping_p.
8043 (substitute_in_loop_info): Do not replace values in bounds.
8044 * cfgloop.h (struct nb_iter_bound): Remove "additional" field. Update
8045 comments.
8046
2a83cc52
RH
80472006-05-01 Richard Henderson <rth@redhat.com>
8048
8049 PR c/27358
8050 * c-parser.c (c_parser_skip_to_end_of_block_or_statement): Move after
8051 c_parser_skip_to_pragma_eol. Convert to switch statement. Handle
8052 CPP_PRAGMA.
8053
0f57299d
RS
80542006-05-01 Roger Sayle <roger@eyesopen.com>
8055
8056 * c-typeck.c (parser_build_binary_op): Don't call the function
8057 unsigned_conversion_warning to spot operand/result type overflow.
8058 (build_binary_op): Instead, call convert_and_check instead of
8059 convert to report the problem when the operands are promoted.
8060 * c-common.c (unsigned_conversion_warning): Make static.
8061 * c-common.h (unsigned_conversion_warning): Delete prototype.
8062
ea643120
RG
80632006-05-01 Richard Guenther <rguenther@suse.de>
8064
8065 PR tree-optimization/26726
8066 * tree-ssa-loop-ivopts.c (idx_find_step): Mark source of the
8067 problem ...
8068 (find_interesting_uses_address): ... we work around here
8069 by folding INDIRECT_REFs in the substituted base.
8070
444e96af
DN
80712006-05-01 Diego Novillo <dnovillo@redhat.com>
8072
8073 * omp-low.c (dump_omp_region): Add newlines.
8074
71834ad3
RS
80752006-04-30 Roger Sayle <roger@eyesopen.com>
8076
8077 * common.opt (Woverflow): New command line option.
8078 * c-common.c (constant_expression_warning): Check warn_overflow.
8079 (overflow_waring): Pass OPT_Woverflow to warning.
8080 (unsigned_conversion_warning): Likewise.
8081 (convert_and_check): Likewise.
8082 * doc/invoke.texi: Document new command line option.
8083
194c524a
DE
80842006-04-30 David Edelsohn <edelsohn@gnu.org>
8085
8086 * config/rs6000/rs6000.c (rs6000_override_options): Enable
8087 TARGET_NO_FP_IN_TOC for section anchors.
8088 (optimization_options): Enable section anchors for all
8089 non-"Objective" languages.
8090
4f8bdef9
EC
80912006-04-28 Eric Christopher <echristo@apple.com>
8092
8093 * config/darwin-c.c (darwin_ms_struct): Move this
8094 (darwin_set_default_type_attributes): and this...
8095 * config/darwin.c: ... here.
8096 * config/darwin.h (darwin_ms_struct): Declare.
8097
a5f84464
AM
80982006-04-28 Andrew MacLeod <amacleod@redhat.com>
8099
8100 * tree-ssa-dom.c (propagate_rhs_into_lhs): Fix assert clause.
8101
a0f0ab9f
RS
81022006-04-28 Roger Sayle <roger@eyesopen.com>
8103
8104 PR c/25309
8105 * c-typeck.c (struct spelling): Make I an unsigned HOST_WIDE_INT.
8106 (push_array_bounds): Delete prototype. Change BOUNDS argument to
8107 an unsigned HOST_WIDE_INT.
8108 (print_spelling): Use HOST_WIDE_INT_PRINT_UNSIGNED to output the
8109 array index.
8110 (really_start_incremental_init): No need to call convert because
8111 bitsize_zero_node is already of type bitsizetype.
8112 (push_init_level): Extract the value of constructor_index as an
8113 unsigned HOST_WIDE_INT quantity, using tree_low_cst.
8114 (process_init_element): Likewise.
8115
c7370b83
JM
81162006-04-28 Joseph S. Myers <joseph@codesourcery.com>
8117
8118 * gcc.c (process_command): Add program name to GCC_EXEC_PREFIX
8119 value before passing to make_relative_prefix.
8120
bb6a0ee1
AM
81212006-04-28 Alan Modra <amodra@bigpond.net.au>
8122
8123 PR middle-end/27260
8124 * builtins.c (expand_builtin_memset): Expand val in original mode.
8125
16d6f994
EC
81262006-04-27 Eric Christopher <echristo@apple.com>
8127
8128 * target-def.h (TARGET_SET_DEFAULT_TYPE_ATTRIBUTES): Bracket
8129 with #ifndef/#endif.
8130 * config/darwin-c.c (darwin_ms_struct): New.
8131 (darwin_pragma_ms_struct): Ditto.
8132 (darwin_set_default_type_attributes): Ditto.
8133 * config/darwin-protos.h (darwin_pragma_ms_struct): Declare.
8134 * config/darwin.h (DARWIN_REGISTER_TARGET_PRAGMAS):
8135 Register ms_struct pragma.
8136 * config/i386/darwin.h (REGISTER_TARGET_PRAGMAS): Declare.
8137 (TARGET_SET_DEFAULT_TYPE_ATTRIBUTES): Ditto.
8138 * config/rs6000/rs6000.c (rs6000_set_default_type_attributes): Call
8139 darwin_set_default_type_attributes if TARGET_MACHO.
8140
6c00f606
AM
81412006-04-27 Andrew MacLeod <amacleod@redhat.com>
8142
8143 PR tree-optimization/26854
8144 * tree-vrp.c (remove_range_assertions): Use new Immuse iterator.
8145 * doc/tree-ssa.texi: Update immuse iterator documentation.
8146 * tree-ssa-math-opts.c (execute_cse_reciprocals_1): Use new iterator.
8147 * tree-ssa-dom.c (propagate_rhs_into_lhs): Use new iterator.
8148 * tree-flow-inline.h (end_safe_imm_use_traverse, end_safe_imm_use_p,
8149 first_safe_imm_use, next_safe_imm_use): Remove.
8150 (end_imm_use_stmt_p): New. Check for end of immuse stmt traversal.
8151 (end_imm_use_stmt_traverse): New. Terminate immuse stmt traversal.
8152 (move_use_after_head): New. Helper function to sort immuses in a stmt.
8153 (link_use_stmts_after): New. Link all immuses in a stmt consescutively.
8154 (first_imm_use_stmt): New. Get first stmt in an immuse list.
8155 (next_imm_use_stmt): New. Get next stmt in an immuse list.
8156 (first_imm_use_on_stmt): New. Get first immuse on a stmt.
8157 (end_imm_use_on_stmt_p): New. Check for end of immuses on a stmt.
8158 (next_imm_use_on_stmt): New. Move to next immuse on a stmt.
8159 * tree-ssa-forwprop.c (forward_propagate_addr_expr): Use new iterator.
8160 * lambda-code.c (lambda_loopnest_to_gcc_loopnest): Use new iterator.
8161 (perfect_nestify): Use new iterator.
16d6f994 8162 * tree-vect-transform.c (vect_create_epilog_for_reduction): Use new
6c00f606
AM
8163 iterator.
8164 * tree-flow.h (struct immediate_use_iterator_d): Add comments.
8165 (next_imm_name): New field in struct immediate_use_iterator_d.
8166 (FOR_EACH_IMM_USE_SAFE, BREAK_FROM_SAFE_IMM_USE): Remove.
16d6f994 8167 (FOR_EACH_IMM_USE_STMT, BREAK_FROM_IMM_USE_STMT,
6c00f606
AM
8168 FOR_EACH_IMM_USE_ON_STMT): New immediate use iterator macros.
8169 * tree-cfg.c (replace_uses_by): Use new iterator.
8170 * tree-ssa-threadedge.c (lhs_of_dominating_assert): Use new iterator.
8171 * tree-ssa-operands.c (correct_use_link): Remove.
8172 (finalize_ssa_use_ops): No longer call correct_use_link.
8173
9613eaff
SH
81742006-04-27 Stuart Hastings <stuart@apple.com>
8175
8176 * config/rs6000/t-darwin (DARWIN_EXTRA_CRT_BUILD_CFLAGS): New.
8177 * config/t-darwin (crt3.o): Use it.
8178 * config/rs6000/rs6000.c (rs6000_initialize_trampoline): Remove
8179 'pmode', use Pmode instead of SImode for SYMBOL_REF.
8180 * config/rs6000/rs6000.md (call_indirect_nonlocal_sysv,
8181 call_nonlocal_sysv, call_value_indirect_nonlocal_sysv,
8182 call_value_nonlocal_sysv): Suffix with the "P" macro for 32/64
8183 support.
16d6f994 8184
135c2bd4
RS
81852006-04-27 Roger Sayle <roger@eyesopen.com>
8186
8187 * expmed.c (store_fixed_bit_field): If we're not optimizing for
8188 size, force the intermediate into a new pseudo rather instead of
8189 performing both a bitwise AND and a bitwise IOR in memory.
8190
921b02cd
RG
81912006-04-27 Richard Guenther <rguenther@suse.de>
8192
8193 PR rtl-optimization/26685
8194 * params.def (PARAM_MAX_CSE_INSNS): Correct typo that named
8195 this one "max-flow-memory-locations".
8196
67ac6e63
RG
81972006-04-27 Richard Guenther <rguenther@suse.de>
8198
8199 PR tree-optimization/25148
8200 * tree-vrp.c (compare_values): Remove code dealing with
8201 comparisons against type min/max value. Honour overflow
8202 and negative constants in code dealing with comparisons
8203 of plus and minus expressions.
8204 (value_inside_range): Use fold_binary with LE_EXPR and
8205 GE_EXPR rather than compare_values.
8206
869170df
DM
82072006-04-27 Dirk Mueller <dmueller@suse.de>
8208
8209 * config/i386/xmmintrin.h (_mm_shuffle_pi16): Declare
8210 prototype for SSE.
8211
3bf7d5e7
KZ
82122006-04-26 Kenneth Zadeck <zadeck@naturalbridge.com>
8213
8214 * basic-block.h (safe_insert_insn_on_edge): Removed.
8215 * cfgrtl.c (mark_killed_regs, safe_insert_insn_on_edge): Removed.
8216
7b282ff9
DE
82172006-04-26 David Edelsohn <edelsohn@gnu.org>
8218 Paolo Bonzini <bonzini@gnu.org>
8219
8220 PR middle-end/27282
8221 * combine.c (simplify_and_const_int_1): Use gen_int_mode.
8222 (simplify_and_const_int): Same.
8223
44470433
AH
82242006-04-26 Aldy Hernandez <aldyh@redhat.com>
8225
e8366202 8226 * tree-ssa-dse.c (dse_optimize_stmt): Remove unused variable USE.
44470433 8227
21a66e91
JJ
82282006-04-26 Jakub Jelinek <jakub@redhat.com>
8229
91b6c26d
JJ
8230 PR c/26171
8231 * cgraph.c (cgraph_varpool_finalize_decl): Don't call
8232 cgraph_varpool_assemble_pending_decls if -fopenmp, unless
8233 cgraph_global_info_ready.
8234
07ed51c9
JJ
8235 PR middle-end/26913
8236 * tree-cfg.c (find_outermost_region_in_block): Handle RESX_EXPR.
8237
1562e1fe
JJ
8238 PR c/25996
8239 * c-parser.c (c_parser_omp_for_loop): Don't call c_finish_omp_for if
8240 either decl or init is error_mark_node.
8241
21a66e91
JJ
8242 PR middle-end/25989
8243 * tree-flow.h (struct omp_region): Add sched_kind.
8244 * omp-low.c (expand_parallel_call): Use region->inner->sched_kind
8245 instead of extracting omp for data.
8246 (expand_omp_for): Save extracted sched_kind.
8247
f7acbf4c
RS
82482006-04-25 Roger Sayle <roger@eyesopen.com>
8249
8250 * expmed.c (store_bit_field): Also check whether the bitsize is
8251 valid for the machine's "insv" instruction before moving the
8252 target into a pseudo for use with the insv.
8253 * config/i386/predicates.md (const8_operand): New predicate.
8254 * config/i386/i386.md (extv, extzv, insv): Use the new
8255 const8_operand predicate where appropriate.
8256
c9936427
DD
82572006-04-25 DJ Delorie <dj@redhat.com>
8258
8259 * doc/install.texi (Specific): Clarify that this is not a list of
8260 supported hosts or targets.
8261
c0c5d392
RS
82622006-04-25 Richard Sandiford <richard@codesourcery.com>
8263
8264 PR rtl-optimization/26725
8265 * cfgrtl.c (rtl_redirect_edge_and_branch_force): Set the source
8266 block's BB_DIRTY flag.
8267
d61772b2
GK
82682006-04-25 Geoffrey Keating <geoffk@apple.com>
8269
887dc802
GK
8270 * dwarf2out.c (size_of_locs): Don't fill dw_loc_addr if there
8271 are no branches.
8272
d61772b2
GK
8273 * dwarf2asm.c (dw2_asm_output_data): Don't generate RTL just
8274 to print an integer.
8275
d5fa3ec8
DE
82762006-04-25 David Edelsohn <edelsohn@gnu.org>
8277
8278 * varasm.c (align_variable): New function.
8279 (get_block_for_decl): Apply align_variable to DECL before
8280 calculating section information.
8281 (assemble_variable): Split out alignment computation.
8282
495db1a1
AK
82832006-04-25 Andreas Krebbel <krebbel1@de.ibm.com>
8284
8285 * expmed.c (store_bit_field): Handle paradoxical subregs on big endian
8286 machines.
8287
75d8b2d0
BS
82882006-04-25 Bernd Schmidt <bernd.schmidt@analog.com>
8289
8290 * genmodes.c (make_vector_mode): Allow making VECTOR_MODE_INT of a
8291 MODE_PARTIAL_INT mode.
8292 * config/bfin/bfin-modes.def: Add V2PDI and V2SI.
8293 * config/bfin/bfin.c (print_operand): Add macflag and mac/msu modifiers
8294 for CONST_INTs.
8295 (hard_regno_mode_ok): V2PDImode is ok for accumulators.
8296 * config/bfin/bfin.h (CLASS_MAX_NREGS, HARD_REGNO_NREGS): Handle
8297 V2PDImode.
8298 * config/bfin/predicates.md (const01_operand, vec_shift_operand):
8299 New predicates.
8300 * config/bfin/bfin.md (UNSPEC_MUL_WITH_FLAG, UNSPEC_MAC_WITH_FLAG):
8301 New constants.
8302 (MACFLAG_NONE, MACFLAG_T, MACFLAG_FU, MACFLAG_TFU, MACFLAG_IS,
8303 MACFLAG_IU, MACFLAG_W32, MACFLAG_M, MACFLAG_S2RND, MACFLAG_ISS2,
8304 MACFLAG_IH): Likewise.
8305 (movstricthi_1): Renamed from "*movstricthi".
8306 (load_accumulator, load_accumulator_pair, movsi_insv, insv,
8307 ssaddsi3, sssubsi3, ssnegsi2, signbitssi2, smaxhi3, sminhi3,
8308 abshi2, neghi2, ssneghi2, signbitshi2, movhi_low2high,
8309 movhi_high2high, movhi_low2low, movhi_high2low, movhiv2hi_low,
8310 movhiv2hi_high, composev2hi, movv2hi_hi, movv2hi_hi_low,
8311 movv2hi_hi_high, ssaddhi3, sssubhi3, ssaddv2hi3, sssubv2hi3,
8312 addsubv2hi3, subaddv2hi3, ssaddsubv2hi3, sssubaddv2hi3,
8313 sublohiv2hi3, subhilov2hi3, sssublohiv2hi3, sssubhilov2hi3,
8314 addlohiv2hi3, addhilov2hi3, ssaddlohiv2hi3, ssaddhilov2hi3,
8315 mulhisi_ll, mulhisi_lh, mulhisi_hl, mulhisi_hh, ssnegv2hi2,
8316 ssashiftv2hi3, ssashifthi3, lshiftv2hi3, lshifthi3, packv2hi,
8317 flag_mulhi, flag_mulhisi_parts, flag_machi, flag_machi_acconly,
8318 flag_macinithi, flag_macinit1hi, flag_mulv2hi, flag_mulv2hi_parts,
8319 flag_macv2hi_parts, flag_macv2hi_parts_acconly,
8320 flag_macinitv2hi_parts, flag_macinit1v2hi_parts): New patterns.
8321
6d75cd5f
BS
8322 * doc/rtl.texi (ss_ashift): Improve wording.
8323
6f8d8ef0
GK
83242006-04-24 Geoffrey Keating <geoffk@apple.com>
8325
8326 * dwarf2out.c (verify_marks_clear): New.
8327 (prune_unused_types): Call verify_marks_clear initially, not
8328 prune_unmark_dies.
8329
e551ad26
BS
83302006-04-24 Bernd Schmidt <bernd.schmidt@analog.com>
8331
8332 * rtl.def (SS_ASHIFT, SS_NEG): New codes.
8333 * doc/rtl.texi: Document them.
8334 * simplify-rtx.c (simplify_unary_operation,
8335 simplify_binary_operation_1): Don't abort when we see them.
8336
bfa11223
MM
83372006-04-24 Mark Mitchell <mark@codesourcery.com>
8338
8339 Revert:
8340 2006-04-23 Mark Mitchell <mark@codesourcery.com>
8341 * configure.ac: Completely disregard languages that are not
8342 enabled.
8343 * configure: Regenerated.
8344
d84b37b0
AP
83452006-04-24 Andrew Pinski <pinskia@gcc.gnu.org>
8346 Richard Guenther <rguenther@suse.de>
8347
8348 PR tree-optimization/27236
8349 * tree-inline.c (copy_body_r): Make sure to copy
8350 TREE_THIS_VOLATILE flag.
8351
c0a3f887
RG
83522006-04-24 Richard Guenther <rguenther@suse.de>
8353
8354 PR middle-end/26869
8355 * tree-complex.c (update_parameter_components): Don't handle
8356 unused parameters which have no default def.
8357
72fa5e06
AP
83582006-04-24 Andrew Pinski <pinskia@gcc.gnu.org>
8359 Richard Guenther <rguenther@suse.de>
8360
8361 PR tree-optimization/27218
8362 * tree-inline.c (expand_call_inline): Strip useless type
8363 conversions for the return slot address.
8364
0162f155
RG
83652006-04-24 Richard Guenther <rguenther@suse.de>
8366
8367 * cfgloop.h (struct loops): Remove unused field array. Reorder
8368 state after num.
8369 (LOOP_PREFETCH): Remove.
8370
7e1584f8
RG
83712006-04-24 Richard Guenther <rguenther@suse.de>
8372
8373 PR tree-optimization/22525
8374 * value-prof.c (tree_mod_pow2): Remove unnecessary temporary
8375 variable, adjust types of generated expressions.
8376
d24b23bb
L
83772006-04-23 H.J. Lu <hongjiu.lu@intel.com>
8378
8379 * Makefile.in (c-convert.o): Add dependency on $(TARGET_H)
8380 (tree-vect-patterns.o): Likewise.
8381 (jump.o): Likewise.
8382 (cselib.o): Likewise.
8383 (loop-doloop.o): Likewise.
8384 (regclass.o): Likewise.
8385 (reload1.o): Likewise.
8386 (explow.o): Replace target.h with $(TARGET_H).
8387 (ipa-prop.o): Likewise.
8388 (ipa-cp.o): Likewise.
8389 (ipa-inline.o): Likewise.
8390 (reorg.o): Likewise.
8391 (reg-stack.o): Likewise.
8392
e8c3ff97
EB
83932006-04-23 Eric Botcazou <ebotcazou@adacore.com>
8394
8395 * tree-tailcall.c (pass_tail_recursion): Use gate_tail_calls too.
8396
38a4afee
MM
83972006-04-23 Mark Mitchell <mark@codesourcery.com>
8398
bfa11223
MM
8399 * print-tree.c (print_node): Print DECL_BIT_FIELD_TYPE.
8400
8401 * configure.ac: Completely disregard languages that are not
8402 enabled.
8403 * configure: Regenerated.
8404
38a4afee
MM
8405 PR c++/26534
8406 * c-common.h (c_build_bitfield_integer_type): Declare.
8407 * c-decl.c (c_build_bitfield_integer_type): Move to ...
8408 * c-common.c (c_build_bitfield_integer_type): ... here.
8409
acb188c1
RS
84102006-04-23 Roger Sayle <roger@eyesopen.com>
8411
8412 PR target/21283
8413 * config/fr30/fr30.md (define_split): Avoid calling gen_lowpart on
8414 a SImode SUBREG of a floating point register after no_new_pseudos.
8415
a02ee5b2
RS
84162006-04-23 Roger Sayle <roger@eyesopen.com>
8417
8418 * config/fr30/fr30.md (addsi_small_int): Use REGNO_PTR_FRAME_P to
8419 identify potentially eliminable registers to additionally catch
8420 VIRTUAL_INCOMING_ARGS_REGNUM.
8421 (addsi3): Update the conditions on when to use addsi_small_int.
8422
c21242e8
RS
84232006-04-23 Roger Sayle <roger@eyesopen.com>
8424
8425 PR target/16641
8426 * config/fr30/fr30.h (GO_IF_LEGITIMATE_ADDRESS): Check REGNO for
8427 STACK_POINTER_RTX and FRAME_POINTER_RTX instead of comparing the
8428 rtx to stack_pointer_rtx or frame_pointer_rtx directly.
8429
1464eeb8
EB
84302006-04-23 Eric Botcazou <ebotcazou@adacore.com>
8431
8432 * fold-const.c (range_predecessor): Use operand_equal_p
8433 as the predicate for equality.
8434 (range_successor): Likewise.
8435
9542abd3
KH
84362006-04-22 Kazu Hirata <kazu@codesourcery.com>
8437
8438 Revert:
8439 * config/soft-fp/op-common.h: Fix a typo.
8440
110c4563
FCE
84412006-04-22 Frank Ch. Eigler <fche@redhat.com>
8442
8443 PR libmudflap/26864
8444 * common.opt (flag_mudflap_threads): Overload flag_mudflap.
8445 * tree-mudflap.c (flag_mudflap_threads): Derive from flag_mudflap.
8446
66a4ad37
KH
84472006-04-22 Kazu Hirata <kazu@codesourcery.com>
8448
8449 * config/soft-fp/op-common.h, double-int.h, tree-ssa-dom.c:
8450 Fix comment typos.
8451 * doc/tm.texi: Fix a typo.
8452
d6eeb3ba
GK
84532006-04-21 Geoffrey Keating <geoffk@apple.com>
8454
8455 * dwarf2out.c (struct die_struct): Document that die_sib makes
8456 a circular linked list.
8457 (FOR_EACH_CHILD): New.
8458 (reverse_die_lists): Delete.
8459 (reverse_all_dies): Delete.
8460 (add_dwarf_attr): Correct documentation.
8461 (remove_child_with_prev): New.
8462 (remove_child_TAG): Update for change to die_struct, use
8463 remove_child_with_prev.
8464 (add_child_die): Update for change to die_struct.
8465 (splice_child_die): Use remove_child_with_prev and add_child_die.
8466 (print_die): Use FOR_EACH_CHILD.
8467 (die_checksum): Likewise.
8468 (assign_symbol_names): Likewise.
8469 (output_location_lists): Likewise.
8470 (build_abbrev_table): Likewise.
8471 (calc_die_sizes): Likewise.
8472 (mark_dies): Likewise.
8473 (unmark_dies): Likewise.
8474 (unmark_all_dies): Likewise.
8475 (output_die): Likewise.
8476 (prune_unused_types_mark): Likewise.
8477 (prune_unused_types_walk): Likewise.
8478 (same_die_p): Update for change to die_struct.
8479 (break_out_includes): Likewise.
8480 (prune_unused_types_prune): Likewise.
8481 (add_sibling_attributes): Use FOR_EACH_CHILD, simplify logic.
8482 (prune_unmark_dies): Use FOR_EACH_CHILD, don't clear die_mark if
8483 it's already clear.
8484 (dwarf2out_finish): Don't call reverse_all_dies.
8485
7a0b46c9
EC
84862006-04-21 Eric Christopher <echristo@apple.com>
8487
8488 * df-core.c, tree-outof-ssa.c, config/i386/i386.c: Fix typos
8489 in comments and function names.
8490
5d5e98dc
VR
84912006-04-21 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
8492
f01da1a5
VR
8493 PR c/25875
8494 * c-typeck.c (digest_init): Robustify.
8495
5d5e98dc
VR
8496 * c-typeck.c (pop_init_level): Simplify.
8497
3144998a
SE
84982006-04-21 Steve Ellcey <sje@cup.hp.com>
8499
8500 * config/pa/t-pa64: Add dependencies on $(GCC_PASSES).
8501
87b24aaf
PB
85022006-04-21 Paul Brook <paul@codesourcery.com>
8503
8504 * config/arm/arm.c (arm_override_options): Error on iWMMXt and
8505 hardware floating point.
8506
e3604432
DE
85072006-04-21 David Edelsohn <edelsohn@gnu.org>
8508
8509 * config/rs6000/rs6000.h (REG_CLASS_CONTENTS): Add sfp to
8510 NON_FLOAT_REGS.
8511
15eaa78f
NC
85122006-04-21 Nick Clifton <nickc@redhat.com>
8513
8514 * config/sh/t-elf (EXTRA_MULTILIB_PARTS): Include
8515 OPT_EXTRA_PARTS.
8516
56438901
AM
85172006-04-21 Alan Modra <amodra@bigpond.net.au>
8518
8519 PR target/27230
8520 * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Use
8521 C++ lang type in traceback table for Objective-C++.
8522
8523 * config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Update comment.
8524
a46cec70
L
85252006-04-20 H.J. Lu <hongjiu.lu@intel.com>
8526
8527 * config/i386/i386.c (asm_preferred_eh_data_format): Reformat.
8528
06866a73
VR
85292006-04-20 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
8530
8531 PR mudflap/26789
8532 * tree-mudflap.c (mudflap_finish_file): Skip function when there
8533 were errors. Remove check for erroneous objects.
8534
bfc646bf
JL
85352006-04-20 Jeff Law <law@redhat.com>
8536
8537 PR tree-optimization/26854
8538 * tree-ssa-dse.c (dse_optimize_stmt): Avoid num_imm_uses when
8539 checking for zero or one use.
8540 * tree-ssa-dom.c (propagate_rhs_into_lhs): Similarly.
8541 * tree-cfgcleanup.c (merge_phi_nodes): Similarly.
8542 * tree-ssa-reassoc.c (negate_value): Similarly.
8543 (reassociate_bb): Similarly.
8544
455f78d9
JJ
85452006-04-20 Jakub Jelinek <jakub@redhat.com>
8546
8547 * c-pretty-print.c (pp_c_direct_abstract_declarator): Print
8548 TYPE_MAX_VALUE (TYPE_DOMAIN (t)) + 1 for ARRAY_TYPE rather
8549 than plain TYPE_MAX_VALUE (TYPE_DOMAIN (t)).
8550
9a74f8ee
AM
85512006-04-20 Alan Modra <amodra@bigpond.net.au>
8552
8553 * config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Consume all
8554 fp regs if the last fp arg doesn't fit in regs.
8555
904b6a0e
KK
85562006-04-20 Kaz Kojima <kkojima@gcc.gnu.org>
8557
8558 PR target/27182
8559 * config/sh/sh.md (movsicc_true+3): Tweak condition for the case
8560 that the last insn has the REG_INC note.
8561
9dfb66b9
CD
85622006-04-19 Carlos O'Donell <carlos@codesourcery.com>
8563 Nathan Sidwell <nathan@codesourcery.com>
8564
8565 PR c/26774
7a0b46c9 8566 * stor-layout.c (update_alignment_for_field): Do not align
9dfb66b9
CD
8567 ERROR_MARK nodes.
8568 (place_union_field): Place union field at the start of the union.
8569 (place_field): Move ERROR_MARK check later, and use the current
8570 allocation position to maintain monotonicity.
8571
74c96e0c
ZD
85722006-04-19 Zdenek Dvorak <dvorakz@suse.cz>
8573
8574 * dominance.c: Include timevar.h.
8575 (calculate_dominance_info): Use TV_DOMINANCE.
8576 * timevar.def (TV_DOMINANCE): New timevar.
8577 * Makefile.in (dominance.o): Add TIMEVAR_H dependency.
8578
e90cd854
AK
85792006-04-19 Andreas Krebbel <krebbel1@de.ibm.com>
8580
4414de4a 8581 PR rtl-optimization/14261
e90cd854
AK
8582 * ifcvt.c (noce_emit_move_insn): Call store_bit_field if the resulting
8583 move would be an INSV insn.
7a0b46c9 8584 (noce_process_if_block): Don't optimize if the destination is a
e90cd854
AK
8585 ZERO_EXTRACT which can't be handled by noce_emit_move_insn.
8586
43a09b63
AK
85872006-04-19 Andreas Krebbel <krebbel1@de.ibm.com>
8588
8589 * config/s390/s390.md: Add comments with the instructions emitted
8590 by an insn pattern if macros are used.
8591
0f35201e
AM
85922006-04-19 Alan Modra <amodra@bigpond.net.au>
8593
8594 PR rtl-optimization/26026
8595 * fold-const.c (fold_binary): Optimize div and mod where the divisor
8596 is a known power of two shifted left a variable amount.
8597
76f7a74f
GK
85982006-04-18 Geoffrey Keating <geoffk@apple.com>
8599
8600 * dwarf2out.c (prune_unused_types_update_strings): Don't add strings
8601 to hash table twice when the debug_str section has SECTION_MERGE.
8602
49721058
JM
86032006-04-18 Joseph S. Myers <joseph@codesourcery.com>
8604
8605 * config/soft-fp: New directory. From glibc.
8606 * config/soft-fp/t-softfp: New.
8607 * config/soft-fp/README: New.
8608 * mklibgcc.in: Handle LIB2FUNCS_EXCLUDE.
8609 * Makefile.in (LIB2FUNCS_EXCLUDE, SFP_MACHINE): New.
8610 (libgcc.mk): Pass LIB2FUNCS_EXCLUDE.
8611 (LIBGCC_DEPS): Add $(SFP_MACHINE).
8612 * config.gcc: Use rs6000/t-fprules-fpbit or
8613 rs6000/t-fprules-softfp and soft-fp/t-softfp together with
8614 rs6000/t-fprules.
8615 * config/rs6000/sfp-machine.h: New. Based on glibc.
8616 * config/rs6000/t-fprules-fpbit, config/rs6000/t-fprules-softfp:
8617 New.
8618 * config/rs6000/t-fprules: Remove fp-bit rules.
8619 * config/rs6000/t-ppccomm (LIB2FUNCS_EXTRA): Use +=.
8620 * config/rs6000/t-linux64: Likewise. Remove duplicates from
8621 LIB2FUNCS_EXTRA. Remove fp-bit rules.
8622 (softfp_wrap_start, softfp_wrap_end): New.
8623
7e96ee36
DD
86242006-04-18 DJ Delorie <dj@redhat.com>
8625
8626 * config/m32c/m32c.h (PTRDIFF_TYPE): Define.
8627
d955420e
DP
86282006-04-18 Devang Patel <dpatel@apple.com>
8629
8630 * doc/invoke.texi (-Wuninitialized): Clarify -O connection.
7a0b46c9 8631
503b5c9f
NC
86322006-04-18 Nick Clifton <nickc@redhat.com>
8633
8634 * config/sh/t-symbian: Add rule to build sh-c.o
8635 * config/sh/symbian.c (sh_symbian_mark_dllexport): Replace use
8636 of DECL_NON_ADDR_CONST_P with DECL_DLLIMPORT_P.
8637 (sh_symbian_encode_section_info): Likewise.
8638
c2f07c00
AK
86392006-04-18 Andreas Krebbel <krebbel1@de.ibm.com>
8640
7a0b46c9 8641 * builtins.c (expand_builtin_strcmp): Cover label definition of
c2f07c00
AK
8642 do_libcall with HAVE_cmpstrnsi.
8643
6370682a
KH
86442006-04-18 Kazu Hirata <kazu@codesourcery.com>
8645
8646 * function.c (temp_slots_at_level, max_slot_level): Use VEC
8647 instead of VARRAY.
8648 * function.h (temp_slot_p): New.
8649 (function): Change the type of x_used_temp_slots to
8650 VEC(temp_slot_p,gc) *.
8651
224504d2
NC
86522006-04-18 Nick Clifton <nickc@redhat.com>
8653
13a41b42
NC
8654 * config/mmix/mmix.h (OPTIMIZATION_OPTIONS): Remove reference to
8655 flag_strength_reduce.
8656
224504d2
NC
8657 * doc/tm.texi (TARGET_SECTION_TYPE_FLAGS): Fix typo.
8658
6ee2e158
PB
86592006-04-18 Paolo Bonzini <bonzini@gnu.org>
8660
e8366202 8661 PR target/27117
6ee2e158
PB
8662
8663 Partial revert of revision 112637
8664 2006-04-03 Paolo Bonzini <bonzini@gnu.org>
8665 Dale Johannesen <dalej@apple.com>
8666
8667 PR target/19653
8668 * regclass.c (struct reg_pref): Update documentation.
8669 (regclass): Set prefclass to NO_REGS if memory is the best option.
8670 (record_reg_classes): Cope with a prefclass set to NO_REGS.
8671
e3949961
PB
86722006-04-18 Paolo Bonzini <bonzini@gnu.org>
8673
e8366202
MS
8674 PR tree-optimization/26821
8675 * tree-ssa-math-opts.c (get_constant_one): New.
8676 (insert_reciprocals): Use it.
e3949961 8677
e26303c2
GK
86782006-04-17 Geoffrey Keating <geoffk@apple.com>
8679
8680 * dwarf2out.c (free_AT): Delete.
8681 (remove_AT): Update string ref counts.
8682 (remove_child_TAG): Don't call free_die.
8683 (free_die): Delete.
8684 (break_out_includes): Don't call free_die on DW_TAG_GNU_BINCL
8685 or DW_TAG_GNU_EINCL.
8686 (prune_unused_types_walk_attribs): Reset string refcounts.
8687 (prune_unused_types_update_strings): New.
8688 (prune_unused_types_prune): Don't make unnecessary stores. Don't
8689 call free_die. Do call prune_unused_types_update_strings.
8690 (prune_unused_types): Empty debug_str_hash.
8691
6cc1d694
RS
86922006-04-17 Roger Sayle <roger@eyesopen.com>
8693
8694 * expr.c (expand_assignment): Optimize away no-op moves where the
8695 source and destination are equal and have no side-effects.
8696
71a9b19a
RG
86972006-04-17 Richard Guenther <rguenther@suse.de>
8698
8699 PR target/26826
8700 * reload.c (push_reload): Guard calls to get_secondary_mem
8701 for memory subregs.
8702
08c79682
KH
87032006-04-16 Kazu Hirata <kazu@codesourcery.com>
8704
8705 * alias.c (reg_base_value, old_reg_base_value): Change the
8706 type to VEC(rtx,gc) *.
8707 (REG_BASE_VALUE, find_base_value, record_set,
8708 init_alias_analysis): Use VEC instead of VARRAY.
8709
1a5640b4
KH
8710 * alias.c (alias_sets): Change the type to
8711 VEC(alias_set_entry,gc) *.
8712 (get_alias_set_entry, new_alias_set, record_alias_subset): Use
8713 VEC instead of VARRAY.
8714 (last_alias_set): Remove.
8715
b2c0ad40
KH
8716 * cgraph.h (cgraph_edge_p): New.
8717 Update the prototype of cgraph_function_versioning.
8718 * cgraphunit.c (cgraph_copy_node_for_versioning,
8719 cgraph_function_versioning): Use VEC instead of VARRAY.
8720 * ipa-cp.c (ipcp_insert_stage): Likewise.
8721
726ac11e
RS
87222006-04-16 Roger Sayle <roger@eyesopen.com>
8723
8724 PR target/26961
8725 * fold-const.c (fold_ternary): When converting "A ? B : C" into either
8726 "A op B" or "A op C", we may need to convert A to the type of B and C.
8727
b12cbf2c
AN
87282006-04-16 Adam Nemet <anemet@caviumnetworks.com>
8729
8730 * target.h (struct gcc_target): Add mode_rep_extended.
8731 * rtlanal.c (num_sign_bit_copies_in_rep): New global.
8732 (init_num_sign_bit_copies_in_rep): Initialize it using
8733 mode_rep_extended.
8734 (truncate_to_mode): Use it.
8735 (init_rtlanal): Call init_num_sign_bit_copies_in_rep.
8736 * targhooks.h (default_mode_rep_extended): Declare it.
8737 * targhooks.c (default_mode_rep_extended): Define it.
8738 * target-def.h (TARGET_MODE_REP_EXTENDED): New macro. Default to
8739 default_mode_rep_extended.
8740 (TARGET_INITIALIZER): Include it.
8741 * doc/tm.texi (Misc): Document it.
8742 * config/mips/mips.c (TARGET_TRUNCATED_TO_MODE): Override it.
8743 (mips_truncated_to_mode): New function.
8744
d763e130
RS
87452006-04-16 Roger Sayle <roger@eyesopen.com>
8746
8747 PR middle-end/25474
8748 * expr.c (compress_float_constant): Copy the narrow constant into
8749 a new pseudo before extending it to its final width.
8750
2ff61948
RS
87512006-04-16 Roger Sayle <roger@eyesopen.com>
8752 Andrew Pinski <pinskia@gcc.gnu.org>
8753 Dale Johannesen <dalej@apple.com>
8754
8755 PR target/24076
8756 * config/i386/i386.c (ix86_expand_vector_init_duplicate): Add
8757 special case code to implement V8HImode and V16QImode with SSE2.
8758
3db8a113
RS
87592006-04-15 Roger Sayle <roger@eyesopen.com>
8760
8761 * config/i386/i386.c (ix86_va_start): Ensure all integer constant
8762 trees are constructed with a suitable tree type.
8763
7fe25d1a
RS
87642006-04-15 Roger Sayle <roger@eyesopen.com>
8765
8766 * tree.c (integer_zerop): Ignore TREE_CONSTANT_OVERFLOW.
8767 (integer_onep): Likewise.
8768 (integer_all_onesp): Likewise.
8769 (integer_pow2p): Likewise.
8770 (integer_nonzerop): Likewise.
8771 (real_zerop): Likewise.
8772 (real_onep): Likewise.
8773 (real_twop): Likewise.
8774 (real_minus_onep): Likewise.
8775 (int_size_in_bytes): Likewise.
8776 (host_integerp): Likewise.
8777
75c40d56
KH
87782006-04-15 Kazu Hirata <kazu@codesourcery.com>
8779
8780 * cfgcleanup.c, config/dfp-bit.c, expr.c, fold-const.c,
8781 jump.c, mips-tfile.c, omp-low.c, sched-int.h,
8782 tree-ssa-loop-prefetch.c, tree-vrp.c: Fix comment typos.
8783
aacac31f
KH
8784 * tree-ssa-structalias.h (alias_info): Remove num_references.
8785
8370f6fa
JDA
87862006-04-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
8787
8788 * pa.md (output_bb patterns): Shorten long branch alternatives by 4.
8789 (output_bvb patterns): Likewise.
8790 * pa.c (output_bb): Use 'bb' insn for long branch case.
8791 (output_bvb): Likewise use '{bvb|bb}' for long branch case.
8792 (output_dbra): Use '{comb|cmpb}' for long branch case for alternative
8793 1. Correct length operand for alternatives 1 and 2.
8794 (output_movb): Use '{comb|cmpb}' for long branch case for alternatives
8795 1, 2 and 3. Correct length operand for alternatives 1, 2 and 3.
8796
bed575d5
RS
87972006-04-14 Roger Sayle <roger@eyesopen.com>
8798
8799 * tree-cfg.c (make_edges, make_omp_sections_edges, move_stmt_r,
8800 is_ctrl_altering_stmt): Reinstate RTH's changes from r112935 that
8801 were accidentally reverted by r112959.
8802
7e2df4a1
JJ
88032006-04-15 Jakub Jelinek <jakub@redhat.com>
8804
8805 PR middle-end/26823
8806 * except.h (eh_region_outermost): New prototype.
8807 * except.c (eh_region_outermost): New function.
8808 * tree-cfg.c (find_outermost_region_in_block): Use it.
8809
43b373a2
KH
88102006-04-14 Kazu Hirata <kazu@codesourcery.com>
8811
8812 * local-alloc.c (rest_of_handle_local_alloc): Use VEC instead
8813 of VARRAY.
8814 * reload1.c (reg_equiv_memory_loc_varray): Rename to
8815 reg_equiv_memory_loc_vec. Change the type to VEC(rtx,gc) *.
8816 (init_reload, reload): Use VEC instead of VARRAY.
8817 * reload.h: Update the prototype for
8818 reg_equiv_memory_loc_varray.
8819
68ba34f3 88202006-04-14 Alexey Starovoytov <alexey.starovoytov@sun.com>
e8366202 8821 Eric Botcazou <ebotcazou@libertysurf.fr>
68ba34f3
AS
8822
8823 * config/sparc/sparc.c (emit_and_preserve): Allocate space for the
8824 register save area.
8825
39b1ec97
UB
88262005-04-13 Uros Bizjak <uros@kss-loka.si>
8827
8828 PR middle-end/27134
8829 * builtins.c (expand_builtin_int_roundingfn): Use expand_normal()
8830 to expand fallback builtin function call.
8831
880864cf
AM
88322006-04-14 Alan Modra <amodra@bigpond.net.au>
8833
8834 PR middle-end/27095
8835 * builtins.c: (expand_builtin_memset): Stabilize args before expansion
8836 and emit libcall here in case the builtin fails.
8837 (expand_builtin_strcmp): Always emit the libcall here on failure.
8838
1935e8a8
KH
88392006-04-14 Kazu Hirata <kazu@codesourcery.com>
8840
8841 * basic-block.h (REG_BASIC_BLOCK): Use VEC instead of VARRAY.
8842 * flow.c (reg_n_info): Change the type to
8843 VEC(reg_info_p,heap) *.
8844 * regclass.c (allocate_reg_info, free_reg_info): Use VEC
8845 instead of VARRAY.
8846 * regs.h (reg_info_p): New.
8847 (REG_N_REFS, REG_FREQ, REG_N_SETS, REG_N_DEATHS,
8848 REG_N_CALLS_CROSSED, REG_N_THROWING_CALLS_CROSSED,
8849 REG_LIVE_LENGTH, REGNO_FIRST_UID, REGNO_LAST_UID): Use VEC
8850 instead of VARRAY.
8851
6f8dd94b
EB
88522006-04-13 Eric Botcazou <ebotcazou@adacore.com>
8853
8854 * params.def (PARAM_MAX_SCHED_READY_INSNS): New parameter,
8855 defaulting to 100.
8856 * params.h (MAX_SCHED_READY_INSNS): New macro.
8857 * haifa-sched.c: (queue_to_ready): Re-queue insns for the next cycle
8858 past MAX_SCHED_READY_INSNS during the first scheduling pass.
8859 (schedule_block): Delay insns past MAX_SCHED_READY_INSNS in
8860 the ready list for 1 cycle during the first scheduling pass.
8861 * doc/invoke.texi (--param): New parameter max-sched-ready-insns.
8862
777f7f9a
RH
88632006-04-13 Richard Henderson <rth@redhat.com>
8864
bed575d5 8865 PR libgomp/26651
777f7f9a
RH
8866 * gimple-low.c (lower_omp_directive): Remove dead code.
8867 (lower_stmt): Do nothing except for openmp, except for OMP_PARALLEL.
8868 * gimplify.c (gimplify_expr): Update for OMP_RETURN, OMP_CONTINUE.
8869 * omp-low.c (struct omp_region): Move to tree-flow.h.
8870 (root_omp_region): Export.
8871 (omp_regions, lookup_omp_region): Remove.
8872 (determine_parallel_type): Update for struct omp_region changes.
8873 (dump_omp_region): Dump regions with block numbers.
8874 (new_omp_region): Take type and block instead of stmt; malloc
8875 instead of ggc.
8876 (free_omp_region_1, free_omp_regions): New.
8877 (expand_parallel_call): Take entry_stmt as argument; update for
8878 changes to omp_region.
8879 (remove_exit_barrier): Rewrite to update OMP_RETURN_NOWAIT.
8880 (remove_exit_barriers): New.
8881 (expand_omp_parallel): Update for struct omp_region changes.
8882 (expand_omp_synch): Likewise.
8883 (expand_omp): Likewise.
8884 (expand_omp_for_static_nochunk): Likewise; update for OMP_CONTINUE.
8885 (expand_omp_for_static_chunk): Likewise.
8886 (expand_omp_for): Likewise.
8887 (expand_omp_for_generic): Likewise; emit the proper GOMP_loop_end call.
8888 (expand_omp_sections): Similarly, with GOMP_sections_end.
8889 (expand_omp_single): New.
8890 (build_omp_regions_1): Update for OMP_CONTINUE.
8891 (execute_expand_omp): Call remove_exit_barriers, free_omp_regions.
8892 (lower_omp_sections): Expand with OMP_CONTINUE, do not collect
8893 OMP_SECTIONS_SECTIONS.
8894 (lower_omp_single_simple): Don't emit barrier here.
8895 (lower_omp_single_copy): Likewise.
8896 (lower_omp_single): Fix bindings, and lower to straightline now.
8897 (lower_omp_master, lower_omp_ordered): Likewise.
8898 (lower_omp_critical): Likewise.
8899 (lower_omp_for): Likewise. Emit OMP_CONTINUE.
8900 * tree-cfg.c (make_edges): Collect an omp_region tree, use it for
8901 omp edges, free it afterward.
8902 (make_omp_sections_edges): Remove.
8903 (is_ctrl_altering_stmt): Don't bother checking flag_openmp.
8904 (move_stmt_r): Handle OMP_CONTINUE.
7a0b46c9 8905 * tree-flow.h (struct omp_region): Move from omp-low.c. Switch
777f7f9a
RH
8906 statement pointers to basic blocks. Add type member.
8907 (root_omp_region, new_omp_region, free_omp_regions): Declare.
8908 * tree-gimple.c (is_gimple_stmt): Handle OMP_RETURN, OMP_CONTINUE.
8909 * tree-inline.c (estimate_num_insns_1): Likewise.
8910 * tree-pretty-print.c (dump_generic_node): Likewise.
8911 * tree-ssa-operands.c (get_expr_operands): Likewise.
8912 * tree.def (OMP_SECTIONS): Remove OMP_SECTIONS_SECTIONS operand.
8913 (OMP_RETURN): Rename from OMP_RETURN_EXPR.
8914 (OMP_CONTINUE): New.
8915 * tree.h (OMP_DIRECTIVE_P): Add OMP_CONTINUE.
8916 (OMP_SECTIONS_SECTIONS): Remove.
8917 (OMP_SECTION_LAST): New.
8918 (OMP_RETURN_NOWAIT): New.
8919
15b1c12a
RS
89202006-04-13 Roger Sayle <roger@eyesopen.com>
8921
8922 * fold-const.c (native_encode_vector, native_interpret_real):
8923 Correct obvious mistakes in the previous check-in.
8924
78bf6e2f
RS
89252006-04-13 Roger Sayle <roger@eyesopen.com>
8926
8927 * fold-const.c (native_encode_expr): New function to encode
8928 the target representation of an INTEGER_CST, REAL_CST, COMPLEX_CST
8929 or VECTOR_CST into a specified buffer.
8930 (native_encode_int): New function.
8931 (native_encode_real): New function.
8932 (native_encode_complex): New function.
8933 (native_encode_vector): New function.
8934 (native_interpret_expr): Inverse of native_encode_expr to convert
8935 a target representation into an INTEGER_CST, REAL_CST etc...
8936 (native_interpret_int): New function.
8937 (native_interpret_real): New function.
8938 (native_interpret_complex): New function.
8939 (native_interpret_vector): New function.
8940 (fold_view_convert_expr): New function to constant fold/evaluate
8941 a VIEW_CONVERT_EXPR of a suitable constant expression.
8942 (fold_unary) <VIEW_CONVERT_EXPR>: Call fold_view_convert_expr.
8943 Change call of build1 to fold_build1 when constructing a
8944 VIEW_CONVERT_EXPR.
8945
76492753
PB
89462006-04-13 Paolo Bonzini <bonzini@gnu.org>
8947 Ulrich Weigand <uweigand@de.ibm.com>
8948
8949 PR target/27006
8950 * config/rs6000/rs6000.h (EASY_VECTOR_15_ADD_SELF): Require n
8951 to be even.
8952
7b5d92b2
AM
89532006-04-13 Alan Modra <amodra@bigpond.net.au>
8954
8955 PR target/26459
8956 * config/rs6000/rs6000.c (rs6000_legitimize_reload_address): Don't
8957 optimize to lo_sum for DFmode if !TARGET_FPRS.
8958
d96f49bf
KH
89592006-04-12 Kazu Hirata <kazu@codesourcery.com>
8960
8961 * tree-ssa-alias.c (set_initial_properties, init_alias_info,
8962 delete_alias_info, compute_flow_sensitive_aliasing,
8963 group_aliases): Use VEC instead of VARRAY.
8964 * tree-ssa-structalias.c (update_alias_info): Likewise.
8965 * tree-ssa-structalias.h (alias_info): Change the type of
8966 processed_ptrs to VEC(tree,heap) *.
8967
3f1d3526
R
89682006-04-12 J"orn Rennecke <joern.rennecke@st.com>
8969
8970 PR target/27060
e8366202
MS
8971 * config/sh/lib1funcs.h: New file, broken out of:
8972 * config/sh/lib1funcs.asm.
8973 * config/sh/lib1funcs.h (DR00, DR01, DR20, DR21, DR40, DR41):
3f1d3526
R
8974 New macros.
8975 * config/sh/lib1funcs.asm (udivsi3_i4): Use them.
e8366202 8976 * config/sh/lib1funcs-Os-4-200.asm: New file.
3f1d3526
R
8977 * config/sh/embed-elf.h (LIBGCC_SPEC): Use -lgcc-Os-4-200.
8978 * config/sh/t-sh (OPT_EXTRA_PARTS): New variable.
8979 (EXTRA_MULTILIB_PARTS): Include it.
8980 ($(T)sdivsi3_i4i-Os-4-200.o): New rule.
8981 ($(T)udivsi3_i4i-Os-4-200.o, $(T)libgcc-Os-4-200.a): Likewise.
8982 * config/sh/t-superh (EXTRA_MULTILIB_PARTS): Include OPT_EXTRA_PARTS.
8983 * config/sh/sh.h (OVERRIDE_OPTIONS): Recognize -mdiv=call-table for
8984 TARGET_SH2.
8985
dacb336e
KH
89862006-04-12 Kazu Hirata <kazu@codesourcery.com>
8987
8988 * Makefile.in (TREE_SSA_LIVE_H): Add vecprim.h.
8989 * tree-ssa-live.c (tpa_init, tpa_remove_partition, tpa_delete,
8990 tpa_compact, root_var_init, type_var_init): Use VEC instead of
8991 VARRAY.
8992 * tree-ssa-live.h: Include vecprim.h.
8993 (tree_partition_associator_d): Change the type of
8994 first_partition to VEC(int,heap) *.
8995 (tpa_first_partition): Use VEC instead of VARRAY.
8996
597d6703
KH
8997 * Makefile.in (GTFILES): Move functions.h after tree.h.
8998 * function.c (reset_block_changes, record_block_change,
8999 check_block_change, free_block_changes): Use VEC instead of
9000 VARRAY.
9001 * function.h (function): Change the type of
9002 ib_boundaries_block to VEC(tree,gc) *.
9003 * tree-inline.c (copy_cfg_body): Initialize
9004 ib_boundaries_block to NULL instead of (varray_type) 0.
9005
7488662d
RS
90062006-04-12 Roger Sayle <roger@eyesopen.com>
9007
9008 * expr.c (emit_group_store): Correct operand order in call to
9009 subreg_lowpart_offset. Always create paradoxical SUBREGs with
9010 a SUBREG_BYTE of zero.
9011
76783bc2
RG
90122006-04-12 Richard Guenther <rguenther@suse.de>
9013
9014 * profile.c (compute_branch_probabilities): Remove code
9015 encapsulated in !ir_type (), which are remanents of the
9016 removed RTL profiling code.
9017 * rtl-profile.c: Remove.
9018
79773478
AM
90192006-04-12 Alan Modra <amodra@bigpond.net.au>
9020
9021 * config/rs6000/rs6000.c (rs6000_mixed_function_arg): Update
9022 magic NULL_RTX comment.
9023 (function_arg): Store entire fp arg to mem if any part should go
9024 on stack.
9025 (rs6000_arg_partial_bytes): Adjust for above change.
9026
10934c3b
RS
90272006-04-11 Roger Sayle <roger@eyesopen.com>
9028
9029 * dwarf2out.c (output_call_frame_info): Create debug_frame_section
9030 if it hasn't been initialized by dwarf2out_init.
9031
58be56ea
JDA
90322006-04-11 John David Anglin <dava.anglin@nrc-cnrc.gc.ca>
9033
9034 * pa.md (MAX_12BIT_OFFSET, MAX_17BIT_OFFSET): Define and use new
9035 symbolic constants in branch patterns.
9036
f6c4ed08
RS
90372006-04-11 Roger Sayle <roger@eyesopen.com>
9038
9039 * caller-save.c: #include "addresses.h" after #include "tm_p.h".
9040
205eb6e7
RS
90412006-04-11 Richard Sandiford <richard@codesourcery.com>
9042
9043 PR rtl-optimization/27073
9044 * gcse.c (try_replace_reg): Revert last change. Continue to search
9045 for both REG_EQUAL and REG_EQUIV notes, but only perform replacements
9046 on the former.
9047
ef6843ed
EB
90482006-04-11 Eric Botcazou <ebotcazou@libertysurf.fr>
9049
9050 * config/sparc/sparc.c (function_arg_slotno) <BLKmode>: Handle
9051 aggregate types other than record and union types.
9052 (function_arg): Likewise.
9053 (function_arg_pass_by_reference): In 64-bit mode, return 0 for
9054 small arrays.
9055 (function_value): In 64-bit mode, return objects that require it
9056 in FP registers.
9057
b4426e0a
RS
90582006-04-11 Roger Sayle <roger@eyesopen.com>
9059
9060 * dwarf2out.c (premark_used_types): Remove problematic prototype.
9061
8beb0d9e
JJ
90622006-04-11 Jakub Jelinek <jakub@redhat.com>
9063
9064 * gcc.c (LINK_COMMAND_SPEC): Move link_gomp after %o.
9065
cf282d0a
JL
90662006-04-03 Jeff Law <law@redhat.com>
9067
9068 PR/27087
9069 * tree-ssa-copy.c (may_propagate_copy): Test flow sensitive
9070 alias information too.
9071
b3b2cbc4
MF
90722006-04-10 Mike Frysinger <vapier@gentoo.org>
9073
a1d1988f 9074 * Makefile.in (gcc-cross): Add $(exeext) to target name.
b3b2cbc4 9075
33c9159e
AH
90762006-04-10 Aldy Hernandez <aldyh@redhat.com>
9077
9078 PR/21391
9079 * dwarf2out.c (struct die_struct): Add die_perennial_p field.
9080 (premark_used_types_helper): New.
9081 (premark_used_types): New.
9082 (gen_subprogram_die): Call premark_used_types.
9083 (prune_unused_types_walk): Do not prune perennial dies.
9084 * function.c (used_types_insert): New.
9085 * function.h (struct function): Add used_types_hash field.
9086 (used_types_insert): Add prototype.
9087 * Makefile.in (FUNCTION_H): Depend on HASHTAB_H.
9088 * c-parser.c (c_parser_cast_expression): Save casted types in used
9089 types hash table.
9090
ab9260ac
MM
90912006-04-11 Mark Mitchell <mark@codesourcery.com>
9092
9093 PR target/26459
9094 * config/rs6000/e500-double.h (SUB3TARGET_OVERRIDE_OPTIONS): Test
9095 rs6000_explicit_options.float_gprs.
9096
acef130f
RS
90972006-04-10 Roger Sayle <roger@eyesopen.com>
9098
9099 * config/i386/i386.c (ix86_expand_vector_init_one_nonzero): Renamed
9100 from ix86_expand_vector_init_low_nonzero. Take an additional
9101 one_var argument indicating which element is non-zero. Support
9102 one_var != 0 for V4SFmode and V4SImode by permuting the result.
9103 (ix86_expand_vector_init): Call ix86_expand_vector_init_one_nonzero
9104 with one_var instead of ix86_expand_vector_init_low_nonzero.
9105
e3df376d
KH
91062006-04-10 Kazu Hirata <kazu@codesourcery.com>
9107
9108 * Makefile.in (tree-into-ssa.o, tree-outof-ssa.o,
9109 tree-ssa-live.o, tree-ssa-alias.o, function.o, df-problems.o,
9110 global.o, cfglayout.o, lambda-code.o, reg-stack.o,
9111 build/genextract.o): Depend on vecprim.h.
9112 * cfglayout.c, df-problems.c, function.c, genextract.c,
9113 global.c, lambda-code.c, reg-stack.c, tree-into-ssa.c,
9114 tree-outof-ssa.c, tree-ssa-alias.c, tree-ssa-live.c: Include
9115 vecprim.h.
9116 * vecprim.h: New.
9117
1a27722f
GK
91182006-04-10 Geoffrey Keating <geoffk@apple.com>
9119
9120 * dwarf2out.c (struct dw_attr_struct): Remove dw_attr_next.
9121 Declare VECs of this type.
9122 (struct die_struct): Make field die_attr a VEC of dw_attr_struct.
9123 (remove_children): Delete.
9124 (add_dwarf_attr): Use VEC routines.
9125 (add_AT_flag): Update for changes to add_dwarf_attr.
9126 (add_AT_int): Likewise.
9127 (add_AT_unsigned): Likewise.
9128 (add_AT_long_long): Likewise.
9129 (add_AT_vec): Likewise.
9130 (add_AT_string): Likewise.
9131 (add_AT_die_ref): Likewise.
9132 (add_AT_fde_ref): Likewise.
9133 (add_AT_loc): Likewise.
9134 (add_AT_loc_list): Likewise.
9135 (add_AT_addr): Likewise.
9136 (add_AT_lbl_id): Likewise.
9137 (add_AT_lineptr): Likewise.
9138 (add_AT_macptr): Likewise.
9139 (add_AT_offset): Likewise.
9140 (add_AT_range_list): Likewise.
9141 (get_AT): Use VEC_iterate.
9142 (remove_AT): Use VEC_ordered_remove.
9143 (free_die): Fold remove_children into here; have it use VEC_iterate.
9144 (print_die): Use VEC_iterate on attrs.
9145 (reverse_die_lists): Don't reverse attr lists.
9146 (die_checksum): Use VEC_iterate on attrs.
9147 (same_die_p): Likewise.
9148 (output_location_lists): Likewise.
9149 (build_abbrev_table): Likewise.
9150 (size_of_die): Likewise.
9151 (unmark_all_dies): Likewise.
9152 (output_abbrev_section): Likewise.
9153 (output_die): Likewise.
9154 (prune_unused_types_walk_attribs): Likewise.
9155
1da1ce3f
EB
91562006-04-10 Eric Botcazou <ebotcazou@libertysurf.fr>
9157
1f3d30ed 9158 * doc/install.texi (*-*-solaris2*): Point to the configure page.
1da1ce3f 9159
ef85ac9a
JJ
91602006-04-10 Jakub Jelinek <jakub@redhat.com>
9161
9162 PR debug/27057
9163 * dwarf2out.c (is_symbol_die): Return true also for namespaces.
9164
cf26aa89
RS
91652006-04-09 Roger Sayle <roger@eyesopen.com>
9166
9167 * expr.c (store_constructor): Don't bother clearing target if
9168 we're about to assign a vector to it using vec_init_optab.
9169
ef2bb311 91702006-04-10 Daniel Berlin <dberlin@dberlin.org>
7a0b46c9 9171
ef2bb311
DB
9172 * tree-ssa-alias.c (lhs_may_store_to): New function.
9173 (recalculate_used_alone): Handle LHS of calls.
9174
8b89a26a
JDA
91752006-04-09 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
9176
9177 PR target/27034
9178 PR target/26508
9179 * config.gcc (hppa*64*-*-hpux11*): Add 'libgcc_stub.a' to extra_parts.
9180 * pa64-hpux.h (LIB_SPEC): Correct typo. Don't append milli.a.
9181 (LINK_GCC_C_SEQUENCE_SPEC): Define. Append milli.a here.
9182 (PA_CXA_FINALIZE_STUB, PA_JV_REGISTERCLASSES_STUB): Delete defines.
9183 (PA_INIT_FINI_HACK): Rename to PA_CRTBEGIN_HACK.
9184 (PA_CRTBEGIN_HACK): Ensure __do_global_ctors_aux is placed in text
9185 section. Delete PA_CXA_FINALIZE_STUB and PA_JV_REGISTERCLASSES_STUB
9186 stubs. Add ".align 8" directives before all ".dword" directives.
9187 (GTHREAD_USE_WEAK): Revise comment.
9188 (TARGET_ATTRIBUTE_WEAK): Define.
9189 * pa/t-pa64 (LIBGCCSTUB_OBJS): Add new rules for stublib.c, rfi-stub.o,
9190 dfi-stub.o, cxaf-stub.o and jvrc-stub.o.
9191 * stublib.c: New file.
16d74a3c
JDA
9192
9193 PR target/26743
9194 PR target/11254
9195 PR target/10274
9196 * pa.md (cbranch patterns): Revise arguments used in calls to
9197 output_cbranch, output_bb and output_bvd. Add long branch length
9198 attributes.
9199 (fbranch patterns): Handle long branches.
9200 (jump): Revise length check. Revise arguments for output_lbranch call.
9201 Add long branch length attributes.
9202 (decrement_and_branch_until_zero): Add long branch length attributes.
9203 (output_movb, output_parallel_addb and output_parallel_movb patterns):
9204 Likewise. Revise arguments for output_parallel_addb and
9205 output_parallel_movb calls.
9206 * pa-protos.h (output_cbranch, output_lbranch, output_bb, output_bvb,
9207 output_parallel_movb and output_parallel_addb): Update prototypes.
9208 * pa.c (output_cbranch): Revise arguments. Correct handling of
9209 nullification in long branches.
9210 (output_lbranch): Add new argument to control extraction of delay
9211 instruction.
9212 (output_bb): Handle long branches.
9213 (output_bvb, output_dbra, output_movb, output_parallel_movb,
9214 output_parallel_addb): Likewise.
9215
c3a50ca3
RS
92162006-04-09 Richard Sandiford <richard@codesourcery.com>
9217
9218 PR rtl-optimization/27073
9219 * gcse.c (try_replace_reg): Just propagate into REG_EQUAL notes,
9220 not REG_EQUIVs.
9221
9ccfe0cd
DB
92222006-04-08 Daniel Berlin <dberlin@dberlin.org>
9223
9224 * tree.h (tree_memory_tag): Add old_used_alone.
9225 (SMT_OLD_USED_ALONE): New macro.
9226 * tree-ssa-alias.c (recalculate_used_alone): Stop
9227 marking things for renaming unnecessarily.
9228
917f1b7e
KH
92292006-04-08 Kazu Hirata <kazu@codesourcery.com>
9230
9231 * builtins.c, config/arm/arm.c, config/i386/cygwin.h,
9232 config/i386/i386.c, config/ia64/ia64.c, config/s390/fixdfdi.h,
9233 config/sh/sh.c, config/sh/sh.h, df-scan.c, except.c,
9234 haifa-sched.c, optabs.c, rtl.h, sched-deps.c, sched-int.h,
9235 sched-rgn.c, tree-inline.h, tree-ssa-dom.c,
9236 tree-ssa-loop-prefetch.c, tree-ssa-operands.c,
9237 tree-vect-patterns.c, tree-vrp.c: Fix comment typos. Follow
9238 spelling convensions.
9239 * config/ia64/ia64.opt, doc/contrib.texi, doc/invoke.texi,
9240 doc/passes.texi, doc/tm.texi, doc/tree-ssa.texi: Fix comment
9241 typos. Follow spelling conventions.
9242
9d746d5e
DD
92432006-04-07 DJ Delorie <dj@redhat.com>
9244
9245 * config/m32c/m32c.c (m32c_function_arg): Structures are always
9246 passed on the stack.
9247 (m32c_init_cumulative_args): When a function returns a structure,
9248 always pass the pointer to that return area on the stack.
9249 (m32c_function_arg_advance): Don't increment the parameter number
9250 if we're processing the returned structure pointer.
9251 (pushm_info): Reverse order of registers.
9252
ff5e9a94
SP
92532006-04-07 Sebastian Pop <pop@cri.ensmp.fr>
9254
9255 * tree-ssa-loop-niter.c (inverse, number_of_iterations_ne,
9256 assert_no_overflow_lt, assert_loop_rolls_lt, number_of_iterations_lt,
9257 number_of_iterations_le, number_of_iterations_cond, find_loop_niter,
7a0b46c9 9258 estimate_numbers_of_iterations_loop): Use build_int_cst instead of
ff5e9a94
SP
9259 build_int_cst_type.
9260 * tree-chrec.c (chrec_fold_multiply_poly_poly,
9261 chrec_fold_multiply): Same.
9262 * tree-ssa-loop-ivopts.c (strip_offset_1, force_expr_to_var_cost,
9263 force_expr_to_var_cost): Same.
9264 * tree-mudflap.c (mf_xform_derefs_1): Same.
9265 * tree-ssa-loop-prefetch.c (idx_analyze_ref): Same.
9266
f6fe3a22
DE
92672006-04-07 David Edelsohn <edelsohn@gnu.org>
9268
9269 * config/rs6000/rs6000.c (rs6000_rtx_costs) <CONST_DOUBLE>: Do not
9270 treat CONST_DOUBLE as INTVAL. and64_2_operands require an extra
9271 insn.
28e6f134
JH
9272
92732006-04-07 Jan Hubicka <jh@suse.cz>
9274
9275 * ipa-inline.c (cgraph_early_inlining): Collect garbage.
9276
fcfa143a
RB
92772006-04-07 Richard Guenther <rguenther@suse.de>
9278
9279 PR tree-optimization/26135
9280 * tree-ssa-copy.c (stmt_may_generate_copy): Handle memory
9281 loads for store copy-prop.
9282 (copy_prop_visit_stmt): Likewise.
9283
92842006-04-05 Robert Millan <robertmh@gnu.org>
8224ee20 9285
e8366202 9286 * config/i386/linux.h: Add a comment to mark macros that are
8224ee20 9287 being overriden in config/k*bsd-gnu.h.
e8366202 9288 * config/kfreebsd-gnu.h: Redefine GLIBC_DYNAMIC_LINKER instead of
8224ee20 9289 DYNAMIC_LINKER.
e8366202 9290 * config/knetbsd-gnu.h: Ditto.
8224ee20 9291
1f651229
JH
92922006-04-06 Jan Hubicka <jh@suse.cz>
9293
9294 PR profile/20815
9295 PR profile/26399
9296 * coverage.c (coverage_checksum_string): Reorganize loop to not read
9297 after buffer.
9298
3425c35f
MS
92992006-04-06 Mike Stump <mrs@apple.com>
9300
9301 * builtins.c (expand_builtin_longjmp):Use #ifdef instead of #if
9302 for HAVE_nonlocal_goto to be consistent.
9303 (expand_builtin_nonlocal_goto): Likewise.
9304 (expand_builtin_strcmp): Use #ifdef instead of #if
9305 for HAVE_cmpstrnsi to be consistent.
9306
0f681872
DD
93072006-04-05 DJ Delorie <dj@redhat.com>
9308
9309 * config/m32c/m32c.h (INCOMING_FRAME_SP_OFFSET): Adjust for m16c
9310 vs m32c.
9311
300adfc2
BS
93122006-04-05 Bernd Schmidt <bernd.schmidt@analog.com>
9313
9314 * config/bfin/bfin.c (bfin_legitimate_address_p): Disallow
9315 got-relative addressing for anything but SImode.
9316
dcef6aba
BS
9317 * config/bfin/lib1funcs.asm (modsi): P1/P2 can be call-clobbered
9318 even if the calling function doesn't modify them.
9319
cf51dca2
RG
93202006-04-05 Richard Guenther <rguenther@suse.de>
9321
9322 PR tree-optimization/26919
9323 * ipa-inline.c (cgraph_decide_inlining_incrementally): Fix argument
9324 to cgraph_estimate_size_after_inlining.
9325
e17e34d8
AM
93262006-04-05 Alan Modra <amodra@bigpond.net.au>
9327
9328 * reload.c (find_dummy_reload): Fix typo in 2006-04-03 change.
9329
42d375ed
SP
93302006-04-05 Sebastian Pop <pop@cri.ensmp.fr>
9331
9332 PR tree-optimization/26996
9333 * tree-scalar-evolution.c (analyze_scalar_evolution_1): Don't analyze
9334 VECTOR_TYPE variables.
9335
6eee9893
RG
93362006-04-05 Richard Guenther <rguenther@suse.de>
9337
9338 PR tree-optimization/26763
9339 * fold-const.c (fold_comparison): Move folding of
9340 PTR + CST CMP PTR + CST ...
9341 (fold_binary): ... here. Fold only for EQ_EXPR and NE_EXPR.
9342
80521187
GP
93432006-04-05 Gerald Pfeifer <gerald@pfeifer.com>
9344
9345 * doc/install.texi (Prerequisites): Refine some wording on
9346 bootstrapping and ksh.
9347 Move the version numbers of DejaGnu here from the testing section
9348 and fix casing of names.
9349 Fix markup and clarify wording for autogen requirements.
9350 Refer to GCJ instead of just java.
9351 Refer to SVN instead of CVS.
9352 Describe diffutils as useful instead of necessary.
9353 (Downloading the source): Refer to SVN instead of CVS.
9354 Adjust a link to our web site accordingly.
9355 (Configuration): Fix casing of Bison.
7a0b46c9 9356 (Building): Refer to SVN instead of CVS.
80521187
GP
9357 Fix a sentence on the use of Bison and remove duplicate (and
9358 incorrect) version number of Bison requirement.
9359 Remove one redundant list of packages needed for building.
9360 (Specific): Avoid reference to CVS.
9361
77ccdfed
EC
93622006-04-04 Eric Christopher <echristo@apple.com>
9363
9364 * config/rs6000/rs6000.c (TARGET_MS_BITFIELD_LAYOUT_P): Define.
9365 (TARGET_USE_MS_BITFIELD_LAYOUT): Ditto.
9366 (rs6000_handle_struct_attribute): New.
9367 (rs6000_ms_bitfield_layout_p): Ditto.
9368
b3c2c547
GK
93692006-04-04 Geoffrey Keating <geoffk@apple.com>
9370
9371 * config/darwin-crt3.c (atexit): Pass &__dso_handle rather than
9372 NULL for dso parameter to atexit_common.
9373
4b1c1f6f
EC
93742006-04-04 Eric Christopher <echristo@apple.com>
9375
9376 * config/i386/i386.c (machopic_output_stub): Output \t
9377 between instructions and operands.
9378
547b216d
DE
93792006-04-04 David Edelsohn <edelsohn@gnu.org>
9380
9381 * config/rs6000/rs6000.c (num_insns_constant_wide): Change
9382 satisfies_constraint_[IL] to explicit tests on value.
9383
dc61cc6b
SP
93842006-04-04 Sebastian Pop <pop@cri.ensmp.fr>
9385
9386 * tree-scalar-evolution.c (compute_overall_effect_of_inner_loop,
9387 set_nb_iterations_in_loop): Use build_int_cst instead of
9388 build_int_cst_type.
9389 * tree-data-ref.c (can_use_analyze_subscript_affine_affine): Use
9390 build_int_cst instead of convert.
9391
2225b57c
CD
93922006-04-04 Carlos O'Donell <carlos@codesourcery.com>
9393
9394 * doc/tm.texi (TARGET_STRUCT_VALUE_RTX): Document
9395 new value 2 for incoming.
9396 * function.c (expand_function_start): Call struct_value_rtx
9397 with incoming as 2.
9398 * config/sparc/sparc.md: Comment updated_return.
9399 * config/sparc/sparc.opt: Add -mstd-struct-return option.
9400 * config/sparc/sparc.c (sparc_struct_value_rtx): Use standard
9401 struct return if sparc_std_struct_return and incoming is 2.
9402 (print_operand): Do not adjust return if
9403 sparc_std_struct_return.
9404
3967bc2d
RS
94052006-04-04 Roger Sayle <roger@eyesopen.com>
9406
9407 * builtins.c (fold_builtin_sprintf): Use fold_convert instead of
9408 convert in the middle-end.
9409 * expr.c (store_expr, store_constructor, get_inner_reference,
9410 expand_expr_real_1, string_constant, try_casesi, try_tablejump):
9411 Likewise.
9412 * tree.c (build_range_type): Likewise.
9413
b52be2c8
TT
94142006-04-04 Tom Tromey <tromey@redhat.com>
9415
9416 * doc/install.texi (Prerequisites): Mention jar.
9417
d9d93d96
DB
94182006-04-04 Daniel Berlin <dberlin@dberlin.org>
9419
9420 * doc/tree-ssa.texi (Preserving the virtual ssa form): New
9421 subsection.
9422
8160ab35
MK
94232006-04-04 Matthias Klose <doko@debian.org>
9424
9425 * Makefile.in (unprotoize.o): Same dependencies as for protoize.o.
9e826585 9426
f0d1d971
KG
9427 PR bootstrap/26764
9428 PR bootstrap/27334
9edaf51e
MK
9429 * Makefile.in (s-macro_list): Conform to POSIX rules in single quoted
9430 strings.
8160ab35 9431
a7d37464
GK
94322006-04-03 Geoffrey Keating <geoffk@apple.com>
9433
4b1c1f6f 9434 * doc/extend.texi (Function Attributes): Rewrite visibility
46bdbc00
GK
9435 attribute documentation.
9436 * doc/invoke.texi (C++ Dialect Options): Rewrite
9437 -fvisibility-inlines-hidden documentation to describe something
9438 entirely different, although in practise compatible.
4cb19a9f 9439 (Code Gen Options): Warn about system headers in -fvisibility=
46bdbc00
GK
9440 documentation.
9441
a7d37464
GK
9442 * doc/extend.texi (Other Builtins): Document that
9443 __builtin_nan is a compile-time constant only when its argument
9444 is valid.
9445
2332d585
AN
94462006-04-03 Adam Nemet <anemet@caviumnetworks.com>
9447
9448 * simplify-rtx.c (simplify_unary_operation_1) <TRUNCATE>: When
9449 trying to remove TRUNCATE check if all bits outside the new mode
9450 are identical to the sign bit.
9451
cbc75e62
JL
94522006-04-03 Jeff Law <law@redhat.com>
9453
9454 * tree-ssa-dom.c (propagate_rhs_into_lhs): Avoid useless folding
9455 and operand scanning in some common cases.
9456
4735cca6 94572006-04-03 Paolo Bonzini <bonzini@gnu.org>
b5c82fa1
PB
9458 Dale Johannesen <dalej@apple.com>
9459
9460 PR target/19653
9461 * regclass.c (struct reg_pref): Update documentation.
9462 (regclass): Set prefclass to NO_REGS if memory is the best option.
9463 (record_reg_classes): Cope with a prefclass set to NO_REGS.
9464 * reload.c (find_reloads): Take PREFERRED_OUTPUT_RELOAD_CLASS
9465 into account. For non-registers, equate an empty preferred
9466 reload class to a `!' in the constraint; move the if clause to
9467 do so after those that reject the insn.
9468 (push_reload): Allow PREFERRED_*_RELOAD_CLASS to liberally
9469 return NO_REGS.
9470 (find_dummy_reload): Likewise.
9471 * doc/tm.texi (Register Classes): Document what it means
9472 if PREFERRED_*_RELOAD_CLASS return NO_REGS.
9473 * config/i386/i386.c (ix86_preferred_reload_class): Force
9474 using SSE registers (and return NO_REGS for floating-point
9475 constants) if math is done with SSE.
9476 (ix86_preferred_output_reload_class): New.
9477 * config/i386/i386-protos.h (ix86_preferred_output_reload_class): New.
9478 * config/i386/i386.h (PREFERRED_OUTPUT_RELOAD_CLASS): New.
9479 * config/i386/i386.md: Remove # register preferences.
9480
16a2acea
SP
94812006-04-02 Sebastian Pop <pop@cri.ensmp.fr>
9482
9483 PR bootstrap/26992
9484 * tree-scalar-evolution.c (compute_overall_effect_of_inner_loop,
9485 chrec_is_positive, set_nb_iterations_in_loop): Use a variable for
9486 the type of nb_iter.
9487 (instantiate_parameters_1): Convert the operands before calling
9488 chrec_fold_minus, chrec_fold_plus, or chrec_fold_multiply.
9489 * tree-data-ref.c (can_use_analyze_subscript_affine_affine): Same.
9490
b6f65e3c
RS
94912006-04-02 Roger Sayle <roger@eyesopen.com>
9492
9493 * builtins.c (dummy_object): Use build_int_cst instead of convert.
9494 * tree-ssa-ccp.c (maybe_fold_stmt_addition): Use fold_convert
9495 instead of convert.
9496 * dojump.c (do_jump): Likewise.
9497 * expr.h (ADD_PARM_SIZE, SUB_PARM_SIZE, ARGS_SIZE_TREE): Likewise.
9498 * gimplify.c (gimple_boolify, gimplify_init_constructor,
9499 gimplify_boolean_expr): Likewise.
9500 * emit-rtl.c (set_mem_attributes_minus_bitpos): Likewise.
9501 * varasm.c (array_size_for_constructor): Likewise.
9502 * tree-object-size.c (compute_object_offset): Likewise.
9503
9fd20553
RS
95042006-04-02 Roger Sayle <roger@eyesopen.com>
9505
9506 PR middle-end/26977
9507 * expr.c (emit_group_store): Check whether simplify_gen_subreg returns
9508 NULL_RTX, indicating it couldn't create a valid paradoxical subreg.
9509
ace23abf
SP
95102006-04-02 Sebastian Pop <pop@cri.ensmp.fr>
9511
9512 PR tree-optimization/26939
9513 * tree-chrec.c (chrec_merge): Use eq_evolutions_p.
9514
e2157b49
SP
95152006-04-02 Sebastian Pop <pop@cri.ensmp.fr>
9516
9517 * tree-scalar-evolution.c (add_to_evolution_1): Pass an extra argument
4b1c1f6f 9518 at_stmt. Convert the type of operands before calling
e2157b49
SP
9519 build_polynomial_chrec.
9520 (add_to_evolution): Pass an extra argument at_stmt. Adjust the call to
9521 add_to_evolution_1.
9522 (follow_ssa_edge_in_rhs): Adjust call to add_to_evolution.
4b1c1f6f 9523 (instantiate_parameters_1): Convert the type of operands before calling
e2157b49
SP
9524 build_polynomial_chrec.
9525 * tree-chrec.c (chrec_fold_poly_cst, chrec_fold_plus_poly_poly,
9526 chrec_fold_multiply_poly_poly, chrec_replace_initial_condition,
9527 reset_evolution_in_loop): Insert asserts to check the types of the
9528 operands.
9529 (chrec_type): Moved...
9530 (eq_evolutions_p): Use operand_equal_p.
9531 * tree-chrec.h (build_polynomial_chrec): Insert an assert to check
9532 the types of the operands.
9533 (chrec_type): ...here.
9534 * tree-data-ref.c (create_data_ref): Convert the operands before
9535 calling chrec_replace_initial_condition.
9536 (same_access_functions, analyze_subscript_affine_affine,
9537 analyze_miv_subscript, all_chrecs_equal_p): Use eq_evolutions_p.
9538 (compute_subscript_distance, analyze_ziv_subscript,
9539 analyze_siv_subscript_cst_affine, compute_overlap_steps_for_affine_1_2,
9540 analyze_miv_subscript): Convert the operands before calling
9541 chrec_fold_minus or chrec_fold_plus.
9542
a84481aa
SP
95432006-04-02 Sebastian Pop <pop@cri.ensmp.fr>
9544
9545 * tree-data-ref.c (compute_all_dependences): Use a pointer to
9546 the dependence_relations vector.
9547 (compute_data_dependences_for_loop): Adjust call to
9548 compute_all_dependences.
9549
d568d1a8
RS
95502006-04-01 Roger Sayle <roger@eyesopen.com>
9551 Richard Henderson <rth@redhat.com>
9552
9553 * gimplify.c (gimplify_scan_omp_clauses) <OMP_CLAUSE_IF>: Call
9554 gimple_boolify on the condition before calling gimplify_expr.
9555
b7974b3a
BW
95562006-03-31 Bob Wilson <bob.wilson@acm.org>
9557
9558 * config/xtensa/lib1funcs.asm: Rename abi_entry/abi_return macros
9559 to leaf_entry/leaf_return. Change leaf_entry to add 16 bytes to
9560 the frame size. Update to use the new macros.
9561 * config/xtensa/ieee754-sf.S: Use new leaf_entry/leaf_return macros.
9562 * config/xtensa/ieee754-df.S: Likewise.
9563
95642006-03-31 Richard Henderson <rth@redhat.com>
56e84019
RH
9565
9566 * tree-cfg.c (make_ctrl_stmt_edges, make_exit_edges): Merge into...
9567 (make_edges): ... here. Control fallthru creation with a local
9568 variable. Do not play with fake edges.
9569 (make_omp_sections_edges): Don't set EDGE_ABNORMAL.
9570 (make_goto_expr_edges): Don't play with fake edges. Make for_call
9571 a boolean.
9572
0c33762a
JM
95732006-04-01 Joseph S. Myers <joseph@codesourcery.com>
9574
9575 * dwarf2.h (DW64_CIE_ID): Define.
9576 * dwarf2out.c (DWARF_CIE_ID): Define.
9577 (output_call_frame_info): Output 0xffffffff before standard 8-byte
9578 length header. Use DWARF_CIE_ID.
9579 (value_format): Use DW_FORM_data4 or DW_FORM_data8 for
9580 dw_val_class_loc_list depending on DWARF_OFFSET_SIZE.
9581
b890ea50
KK
95822006-03-31 Kaz Kojima <kkojima@gcc.gnu.org>
9583
9584 * config/sh/linux-atomic.asm: New file.
9585 * config/sh/t-linux (LIB2FUNCS_EXTRA): Add linux-atomic.asm.
9586
16659fcf
DD
95872006-03-31 DJ Delorie <dj@redhat.com>
9588
9589 * config/m32c/cond.md: Set condition flags properly throughout.
9590 * config/m32c/minmax.md: Likewise.
9591 * config/m32c/prologue.md: Likewise.
9592 * config/m32c/bitops.md: Likewise.
9593 * config/m32c/muldiv.md: Likewise.
9594 * config/m32c/mov.md: Likewise.
9595 * config/m32c/addsub.md: Likewise.
9596 * config/m32c/m32c.md: Likewise.
9597 * config/m32c/jump.md: Likewise.
9598 * config/m32c/shift.md: Likewise.
9599
9600 * config/m32c/cond.md (cmp<mode>): Call m32c_output_compare to
9601 conditionally output the pattern for this.
9602 * config/m32c/m32c.c (flags_needed_for_conditional): New.
9603 (m32c_compare_redundant): New.
9604 (m32c_output_compare): New.
9605 * config/m32c/m32c-protos.h (m32c_output_compare): New.
9606
9607 * config/m32c/m32c.c (m32c_prepare_shift): Fix logic to clobber
9608 dest, not src. Allow other 4-byte modes.
9609
fc262682
DC
96102006-03-30 Denis Chertykov <denisc@overta.ru>
9611
9612 * doc/md.texi: Refer to avr/constraints.md instead of
9613 avr/avr.h.
9614
5650dfbd
RS
96152006-03-30 Roger Sayle <roger@eyesopen.com>
9616
9617 * expr.c (emit_group_store): Make BYTEPOS a HOST_WIDE_INT to
9618 signed vs. unsigned comparison failures on some hosts.
9619
d3603e8c
AM
96202006-03-31 Alan Modra <amodra@bigpond.net.au>
9621
ca0e79d9
AM
9622 PR target/26459
9623 * config/rs6000/rs6000.h (CANNOT_CHANGE_MODE_CLASS): Limit 2003-12-08
9624 change to FLOAT_REGS.
9625
d3603e8c
AM
9626 * config/rs6000/rs6000.c (rs6000_explicit_options): Add ieee.
9627 (rs6000_override_options): Use it.
9628 (rs6000_handle_option): Set it. Set rs6000_explicit_options.abi
9629 only for -mabi=spe/no-spe and -mabi=altivec.
9630
24cec83c
GK
96312006-03-30 Geoffrey Keating <geoffk@apple.com>
9632
9633 * config/darwin.h (LINK_COMMAND_SPEC): Don't try to protect %S with
9634 !Zdynamiclib.
9635
ad3a7ce3
CD
96362006-03-30 Carlos O'Donell <carlos@codesourcery.com>
9637
9638 * Makefile.in: Rename docdir to gcc_docdir.
9639
79edfde8
RS
96402006-03-30 Roger Sayle <roger@eyesopen.com>
9641
9642 PR target/17959
e8366202 9643 * expr.c (emit_group_store): Optimize group stores into a pseudo
79edfde8
RS
9644 register by using a paradoxical subreg to initialize the destination
9645 if the first or last member of the group specifies a "low part".
9646
c7ec5472
MK
96472006-03-30 Maxim Kuvyrkov <mkuvyrkov@ispras.ru>
9648
9649 PR target/26734
9650 * rtl.def (DEPS_LIST): Change type of the second operand to 'int'.
9651 * target.h (struct gcc_target.speculate_insn): Change type of the
9652 second parameter to 'int'.
9653 * lists.c (alloc_DEPS_LIST): Change signature. Update reference to
9654 the second operand of the DEPS_LIST.
9655 (copy_DEPS_LIST_list): Update reference to the second operand of the
9656 DEPS_LIST.
9657 * rtl.h (alloc_DEPS_LIST): Update signature.
9658 * sched-int.h (ds_t): Change typedef to 'int'.
9659 (DEP_STATUS, BITS_PER_DEP_STATUS): Update.
9660
682b6a9e
MK
96612006-03-30 Maxim Kuvyrkov <mkuvyrkov@ispras.ru>
9662
9663 * haifa-sched.c (try_ready): Change condition to restore
9664 non-speculative pattern of the instruction.
9665 (process_insn_depend_be_in_spec): Code to keep probability of the
9666 speculative dependence non-decreasing.
9667
144f8315
JZ
96682006-03-30 Jie Zhang <jie.zhang@analog.com>
9669
9670 * config/bfin/bfin.c (single_move_for_strmov): Renamed to...
9671 (single_move_for_movmem): ... this. Also change all uses.
9672 (bfin_expand_strmov): Renamed to...
9673 (bfin_expand_movmem): ... this. Also change all uses.
9674 * config/bfin/bfin.md (movstrsi): Renamed to...
9675 (movstrsi): ...this.
9676
ae25dbda
PB
96772006-03-30 Paolo Bonzini <bonzini@gnu.org>
9678
9679 PR tree-optimization/26830
9680
9681 * tree-ssa-copy.c (copy_prop_visit_assignment): Do not check loop depth.
9682 (copy_prop_visit_stmt): Remove write-only variable ann.
9683 (init_copy_prop): Check variable loop depth here. Do not simulate
9684 memory-tag and virtual operand PHIs except for store copy prop.
9685
7d3a3b01
RG
96862006-03-30 Richard Guenther <rguenther@suse.de>
9687
9688 * config/i386/i386.c: Remove builtins for SSE2 ABI intrinsic
9689 variants with double arguments.
9690
10a27391
DE
96912006-03-29 David Edelsohn <edelsohn@gnu.org>
9692
9693 * genpreds.c (write_tm_constrs_h): Delete variable p.
f8569394
DE
9694 * genconditions.c (write_header): Add tm-constrs.h to included
9695 headers.
f160357f 9696 * genpeep.c (main): Add toplev.h to included headers.
92cf85e9 9697 * Makefile.in (build/gencondmd.o): Add tm-constrs.h dependency.
c13a761d 9698 (build/genpeep.o): Add toplev.h dependency.
40377a6d 9699 * config/rs6000/constraints.md: Add "W" constraint.
10a27391 9700
a6a12bb9
RS
97012006-03-29 Roger Sayle <roger@eyesopen.com>
9702
9703 * stor-layout.c (mode_for_size_tree): Remove restiction on type
9704 sizes by correctly testing whether the size fits a host integer.
9705 (initialize_sizetypes): Use set_min_and_max_values_for_integral_type
9706 to correctly set TYPE_MIN_VALUE and TYPE_MAX_VALUE to the full
9707 SImode range for the default sizetype and bitsizetype.
9708
0a931ce5
RS
97092006-03-29 Roger Sayle <roger@eyesopen.com>
9710
9711 * convert.c (convert_to_pointer): Preserve the TREE_OVERFLOW
9712 and TREE_CONSTANT_OVERFLOW bits of the argument. Return
9713 quickly if the argument is already of the correct type.
9714 Call fold_build1 instead of build1. Tidy up blank lines.
9715
279bb624
DE
97162006-03-29 David Edelsohn <edelsohn@gnu.org>
9717
9718 * genemit.c (main): Add tm-constrs.h to included headers.
9719 * genoutput.c (output_prologue): Add tm-constrs.h to included headers.
9720 * genpeep.c (main): Add tm-constrs.h to included headers.
9721 * genpreds.c (write_satisfies_constraint_fns): Rename to ...
9722 (write_tm_constrs_h): this and write complete file.
9723 (write_tm_preds_h): Do not emit satisfies_constraint fns.
9724 (write_insn_preds_c): Add tm-constrs.h to included headers.
9725 (gen_constrs): New variable.
9726 (parse_option): Parse "-c".
9727 (main): Invoke write_tm_constrs_h.
9728 * genrecog.c (write_header): Add tm-constrs.h to included headers.
9729 * Makefile.in (STAGECOPYSTUFF): Add tm-constrs.h.
9730 (object_out_file): Add tm-constrs.h dependency.
9731 (insn-emit.o): Same.
9732 (insn-output.o): Same.
9733 (insn-peep.o): Same.
9734 (insn-preds.o): Same.
9735 (insn-recog.o): Same.
9736 (tm-constsr.h): New target.
9737 (s-constrs-h): New target.
9738
9739 * config/rs6000/constraints.md: New file.
9740 * config/rs6000/rs6000.c: Include tm-constrs.h.
9741 (num_insn_constant_wide): Convert to satisfies_constraint.
9742 (rs6000_rtx_costs): Convert to satisfies_constraint.
9743 * config/rs6000/rs6000.h (REG_CLASS_FROM_LETTER): Delete.
9744 (CONST_OK_FOR_LETTER_P): Delete.
9745 (CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
9746 (EXTRA_CONSTRAINT): Delete.
9747 (EXTRA_MEMORY_CONSTRAINT): Delete.
9748 (EXTRA_ADDRESS_CONSTRAINT): Delete.
9749 * config/rs6000/predicates.md: Convert to satisfies_constraint.
9750 * config/rs6000/rs6000.md: Include constraints.md. Convert to
9751 satisfies_constraint.
9752
9753 * config/i386/i386.c: Include tm-constrs.h.
9754
e14b10df
SP
97552006-03-29 Sebastian Pop <pop@cri.ensmp.fr>
9756
9757 * tree-loop-linear.c (compute_data_dependences_for_loop): Adjust calls.
9758 * tree-data-ref.c (find_data_references_in_loop,
9759 compute_data_dependences_for_loop): Use pointers to VEC.
9760 (analyze_all_data_dependences): Adjust calls.
9761 * tree-data-ref.h (find_data_references_in_loop,
9762 compute_data_dependences_for_loop): Adjust declarations.
9763 * tree-vect-analyze.c (vect_analyze_data_refs): Adjust call to
9764 compute_data_dependences_for_loop.
9765
221b2a64
PB
97662006-03-29 Paul Brook <paul@codesourcery.com>
9767
9768 * config/arm/vfp.md (movsf_vfp): Disparage w<->r alternatives.
9769 (movdf_vfp): Ditto.
9770
d31db22f
SP
97712006-03-29 Sebastian Pop <pop@cri.ensmp.fr>
9772
9773 PR tree-optimization/26859
9774 * tree-ssa-loop-niter.c (infer_loop_bounds_from_undefined): Avoid
9775 division by zero.
9776 (convert_step): Remove TREE_OVERFLOW and TREE_CONSTANT_OVERFLOW flags
9777 for the step after fold_convert.
9778
67f07489
PB
97792006-03-29 Paul Brook <paul@codesourcery.com>
9780
9781 * reload1.c (choose_reload_regs): Check for all RTX_AUTOINC operators.
9782 (inc_for_reload): Handle PRE_MODIFY and POST_MODIFY addresses.
9783
c2a64439
PB
97842006-03-29 Paul Brook <paul@codesourcery.com>
9785
9786 PR middle-end/23623
9787 * targhooks.c (default_narrow_bitfield): New fuction.
9788 * targhooks.h (default_narrow_bitfield): add prototype.
9789 * target.h (gcc_target): Add narrow_volatile_bitfield.
9790 * target-def.h (TARGET_NARROW_VOLATILE_BITFIELD): Define.
9791 * stor-layout.c (get_best_mode): Use targetm.narrow_volatile_bitfield.
9792 * doc/tm.texi: Document TARGET_NARROW_VOLATILE_BITFIELDS.
9793 * config/arm/arm.c (TARGET_NARROW_VOLATILE_BITFIELD): Define.
9794
4dc19cc0
AK
97952006-03-29 Andreas Krebbel <krebbel1@de.ibm.com>
9796
4b1c1f6f 9797 * config.gcc (s390-*-linux-*, s390x-*-linux*): Add t-dfprules to
4dc19cc0
AK
9798 tmake_file.
9799 * config/s390/s390.c (S390_scalar_mode_supported_p): New function.
9800 (NR_C_MODES): Add TDmode, DDmode and SDmode.
9801 (s390_output_pool_entry, ): Accept MODE_DECIMAL_FLOAT.
9802 (s390_hard_regno_mode_ok): Disallow TDmode in integer regs.
9803 (s390_function_arg_float): Allow SDmode and DDmode values to be
9804 passed in floating point registers.
4b1c1f6f 9805 (s390_function_arg_integer, s390_function_value): Replace MODE_FLOAT
4dc19cc0
AK
9806 check with SCALAR_FLOAT_MODE_P.
9807 (TARGET_SCALAR_MODE_SUPPORTED_P): Define target macro.
9808
f08ac361
ZD
98092006-03-28 Zdenek Dvorak <dvorakz@suse.cz>
9810
9811 PR tree-optimization/25985
9812 * tree-ssa-loop-niter.c (number_of_iterations_le,
9813 number_of_iterations_ne): Make comments more precise.
9814 (number_of_iterations_cond): Add only_exit argument. Use the
9815 fact that signed variables do not overflow only when only_exit
9816 is true.
9817 (loop_only_exit_p): New.
9818 (number_of_iterations_exit): Pass result of loop_only_exit_p to
9819 number_of_iterations_cond.
9820
dd79d394
ZD
98212006-03-28 Zdenek Dvorak <dvorakz@suse.cz>
9822
9823 PR tree-optimization/26643
9824 * tree-ssa-loop-ivopts.c (find_interesting_uses_address): Do not handle
9825 bit_field_refs.
9826
95ec2af0
KK
98272006-03-28 Kaz Kojima <kkojima@gcc.gnu.org>
9828
9829 * config/sh/sh.md (udivsi3_i4_int): Clobber MACH_REG and MACL_REG.
9830 (divsi3_i4_int): Likewise.
9831
e8366202 98322006-03-28 Roger Sayle <roger@eyesopen.com>
5ac60669
RS
9833
9834 * expr.c (emit_group_store): Only create a new pseudo reg if the
9835 quantity it needs to hold isn't already a suitable pseudo.
9836
b6313dcf
JL
98372006-03-28 Jeff Law <law@redhat.com>
9838
9839 * timevar.def (TV_TREE_PHI_CPROP): New timevar.
9840 * tree-ssa-dom.c (pass_phi_only_cprop): Use it.
9841
dd2c62dc
RS
98422006-03-28 Roger Sayle <roger@eyesopen.com>
9843
9844 * fold-const.c (fold_binary) <BIT_XOR_EXPR>: Fold (X & Y) ^ Y as
9845 the equivalent ~X & Y, and the symmetry related transformations.
4b1c1f6f 9846 (fold_binary) <BIT_AND_EXPR>: Similarly, fold (X ^ Y) & Y as
dd2c62dc
RS
9847 ~X & Y, and symmetry related transforms.
9848
3cc82eea
MK
98492006-03-28 Maxim Kuvyrkov <mkuvyrkov@ispras.ru>
9850
9851 Revert my 2006-03-27 patches.
9852
e8206491
RS
98532006-03-28 Roger Sayle <roger@eyesopen.com>
9854
9855 * fold-const.c (fold_unary) <NOP_EXPR>: Fold (T1)(~(T2)X) as
9856 ~(T1)X, when T1 and T2 are integer types of the same precision
9857 and (T2)X isn't an extension.
9858
72922229
JL
98592006-03-28 Jeff Law <law@redhat.com>
9860
9861 PR tree-optimization/26796
9862 * tree-ssa-dom.c (propagate_rhs_into_lhs): Queue blocks which
9863 need EH edge cleanups rather than purging them immediately.
9864 (eliminate_degenerate_phis): Handle queued EH cleanups.
9865
c245c134
DB
98662006-03-28 Daniel Berlin <dberlin@dberlin.org>
9867
9868 * tree-ssa-alias.c (create_sft): Initially inherit TREE_ADDRESSABLE
9869 from parent_var.
9870
7f166b0a
RS
98712006-03-27 Roger Sayle <roger@eyesopen.com>
9872
9873 PR middle-end/22524
9874 * fold-const.c (fold_binary) <MINUS_EXPR>: Call fold_convert to
9875 cast BIT_NOT_EXPR operand to the correct type.
9876
ebf78a47
SP
98772006-03-27 Sebastian Pop <pop@cri.ensmp.fr>
9878
9879 * tree-loop-linear.c: Don't include varray.h.
9880 (gather_interchange_stats, try_interchange_loops,
9881 linear_transform_loops): Use VEC instead of VARRAY.
9882 * lambda-mat.c: Don't include varray.h.
9883 * tree-chrec.c: Same.
9884 * lambda-trans.c: Same.
9885 * tree-vectorizer.c (new_loop_vec_info, destroy_loop_vec_info): Use
9886 VEC instead of VARRAY.
9887 * tree-vectorizer.h: Idem.
9888 * tree-data-ref.c (dump_data_references,
9889 dump_data_dependence_relations, dump_dist_dir_vectors, dump_ddrs,
9890 initialize_data_dependence_relation, finalize_ddr_dependent,
9891 compute_all_dependences, find_data_references_in_loop,
9892 compute_data_dependences_for_loop, analyze_all_data_dependences,
9893 free_dependence_relation, free_dependence_relations,
9894 free_data_refs): Idem.
9895 * tree-data-ref.h (data_reference_p, subscript_p): New.
9896 (data_dependence_relation, DDR_SUBSCRIPT, DDR_NUM_SUBSCRIPTS): Use
9897 VEC instead of VARRAY.
9898 (DDR_SUBSCRIPTS_VECTOR_INIT): Removed.
9899 (find_data_references_in_loop, compute_data_dependences_for_loop,
9900 dump_ddrs, dump_dist_dir_vectors, dump_data_references,
9901 dump_data_dependence_relations, free_dependence_relations,
9902 free_data_refs): Adjust declaration.
9903 (lambda_transform_legal_p): Move declaration here...
9904 * tree-vect-analyze.c (vect_analyze_data_ref_dependences,
9905 vect_compute_data_refs_alignment, vect_verify_datarefs_alignment,
9906 vect_enhance_data_refs_alignment, vect_analyze_data_ref_accesses,
9907 vect_analyze_data_refs): Use VEC instead of VARRAY.
9908 * lambda.h (lambda_transform_legal_p): ...from here.
9909 * lambda-code.c (lambda_transform_legal_p): Use VEC instead of VARRAY.
9910 * tree-vect-transform.c (vect_update_inits_of_drs): Idem.
9911 * Makefile.in (tree-loop-linear.o, lambda-mat.o, lambda-trans.o,
9912 tree-chrec.o): Don't depend on VARRAY_H.
9913
5edb2b13
MK
99142006-03-27 Maxim Kuvyrkov <mkuvyrkov@ispras.ru>
9915
9916 * rtl.def (Copyright): Update date.
9917 (DEPS_LIST): Change type of the second operand to 'int'.
9918 * target.h (Copyright): Update date.
9919 (struct gcc_target.speculate_insn): Change type of the second parameter
9920 to 'int'.
9921 * lists.c (Copyright): Update date.
9922 (alloc_DEPS_LIST): Change signature. Update reference to the second
9923 operand of the DEPS_LIST.
9924 (copy_DEPS_LIST_list): Update reference to the second operand of the
9925 DEPS_LIST.
9926 * rtl.h (Copyright): Update date.
9927 (alloc_DEPS_LIST): Update signature.
9928 * sched-int.h (Copyright): Update date.
9929 (ds_t): Change typedef to 'int'.
9930 (DEP_STATUS, BITS_PER_DEP_STATUS): Update.
9931
c96a7cc5
MK
99322006-03-27 Maxim Kuvyrkov <mkuvyrkov@ispras.ru>
9933
9934 * haifa-sched.c (Copyright): Update date.
9935 (try_ready): Change condition to restore non-speculative pattern
9936 of the instruction.
9937 (process_insn_depend_be_in_spec): Code to keep probability of the
9938 speculative dependence non-decreasing.
9939
b256fbaf
BS
99402006-03-27 Bernd Schmidt <bernd.schmidt@analog.com>
9941
9942 * regrename.c (replace_oldest_value_addr): Initialize a variable to
9943 shut up the compiler.
9944
575066d2
R
99452006-03-27 J"orn Rennecke <joern.rennecke@st.com>
9946
9947 * config/sh/t-sh ($(T)libic_invalidate_array_4-100.a): Fix rule
9948 to use lib prefix for target.
9949 ($(T)libic_invalidate_array_4-200.a): Likewise.
9950 ($(T)libic_invalidate_array_4a.a): Likewise.
9951
25e651ca
AS
99522006-03-27 Andrew Stubbs <andrew.stubbs@st.com>
9953 J"orn Rennecke <joern.rennecke@st.com>
9954
9955 * superh.opt: New file.
9956 * sh.c (boardtype, osruntime): Remove.
9957 * superh.h (SUBTARGET_OPTIONS): Remove.
9958 * config.gcc (sh*-superh-elf): Add sh/superh.opt to extra_options.
9959
9960 * config.gcc (sh*-*-*): Don't use c-c ranges for tr. Quote sed
9961 arguments with ^ and/or [].
9962
9963 * config.gcc (sh-*-*): Add quoting to account for quirk of
9964 Solaris /bin/sh.
9965 Replace == with = in enable_incomplete_targets test.
9966
9967 * config/sh/superh.h (SUBTARGET_LINK_SPEC): Replace LITTLE_ENDIAN_BIT
9968 with MASK_LITTLE_ENDIAN.
9969
9970 * config.gcc (sh*-superh-elf): Add sh/superh.h to tm_file.
9971 * config/sh/sh.opt: Added to some comments.
9972 * config/sh/superh.h: Removed some chaff.
9973
9974 * config/sh/sh.opt: Add m4-[1234]00* options.
9975 * config/sh/sh.c (sh_handle_option): Likewise.
9976 * config/sh/t-sh (IC_EXTRA_PARTS, EXTRA_MULTILIB_PARTS): Define.
9977 (ic_invalidate_array_4-100.o): New rule.
9978 ($(T)libic_invalidate_array_4-100.a): Likewise.
9979 (ic_invalidate_array_4-200.o): Likewise.
9980 ($(T)libic_invalidate_array_4-200.a): Likewise.
9981 (ic_invalidate_array_4a.o): Likewise.
9982 ($(T)libic_invalidate_array_4a.a): Likewise.
9983 * config/sh/t-elf (EXTRA_MULTILIB_PARTS): Add IC_EXTRA_PARTS.
9984 * config/sh/embed-elf.h (LIBGCC_SPEC): Add clauses for m4-100*,
9985 m4-200*, and m4a*.
9986 * config/sh/crt1.asm: Merged in profiling code.
9987 * config/sh/superh.h (STARTFILE_SPEC): Override.
9988 * config/sh/t-superh: Override EXTRA_MULTILIB_PARTS.
9989 Add rules for $(T)crt1-mmu.o, $(T)gcrt1-mmu.o and $(T)gcrt1.o.
9990 * config.gcc (sh*-superh-elf): Add t-superh to tmake_file.
9991
9992 * t-sh (MULTILIB_MATCHES): Add sh4-[1245]00* variants.
9993 * config/sh/t-superh: Removed now-redundant MULTILIB_OPTIONS /
9994 MULTILIB_DIRNAMES / MULTILIB_MATCHES settings.
9995
9996 * sh.opt (mpretend-cmove): New option.
9997 * sh.h (OPERRIDE_OPTIONS): Switch it off if not TARGET_SH1.
9998 * sh.md (movsicc_t_false, movsicc_t_tru): New patterns.
9999 (movsicc): Add TARGET_PRETEND_CMOVE code.
10000
74aa8b4b
AK
100012006-03-27 Andreas Krebbel <krebbel1@de.ibm.com>
10002
4b1c1f6f 10003 * config/s390/s390-protos.h (s390_hard_regno_mode_ok,
74aa8b4b
AK
10004 s390_class_max_nregs): New function prototypes.
10005 * config/s390/s390.c (REGNO_PAIR_OK): New macro.
10006 (s390_hard_regno_mode_ok, s390_class_max_nregs): New functions.
10007 * config/s390/s390.h (HARD_REGNO_NREGS, HARD_REGNO_MODE_OK,
10008 CLASS_MAX_NREGS): Macro bodies replaced by function calls.
10009
0d06ead5
GK
100102006-03-26 Geoffrey Keating <geoffk@apple.com>
10011
10012 * dwarf2out.c (add_location_or_const_value_attribute): Call
10013 tree_add_const_value_attribute if nothing else works.
10014 (reference_to_unused): New.
10015 (rtl_for_decl_init): Use reference_to_unused to decide whether
10016 to output an initializer.
10017
036aadfc
AM
100182006-03-27 Alan Modra <amodra@bigpond.net.au>
10019
10020 PR target/26459
10021 * config/rs6000/rs6000.md (DF reg move peephole): Prevent
10022 peephole removing spe frob_di_df_2.
10023
ba42e045
SP
100242006-03-26 Sebastian Pop <pop@cri.ensmp.fr>
10025
10026 * tree-data-ref.c: Rename DDR_SIZE_VECT to DDR_NB_LOOPS.
10027 (subscript_dependence_tester_1): Declared.
10028 (print_dir_vectors, print_dist_vectors): New.
10029 (debug_data_dependence_relation): New.
10030 (dump_data_dependence_relation): Print more details.
10031 (initialize_data_dependence_relation): Initialize DDR_LOOP_NEST.
10032 (analyze_subscript_affine_affine): Don't ICE when gcd_alpha_beta is 0.
10033 (save_dist_v, save_dir_v, add_outer_distances,
10034 build_classic_dist_vector_1): New.
10035 (build_classic_dist_vector): Rewrite to work on DDR_LOOP_NEST.
10036 Don't test for lambda_vector_lexico_pos.
10037 (same_access_functions, add_multivariate_self_dist,
10038 add_other_self_distances, dir_from_dist): New.
4b1c1f6f 10039 (build_classic_dir_vector): Replace implementation almost identical to
ba42e045
SP
10040 build_classic_dist_vector with a walk of DDR_DIST_VECTS with a call to
10041 dir_from_dist.
10042 (subscript_dependence_tester_1): New.
10043 (subscript_dependence_tester): Handle the lexicographically negative
10044 distance vectors by recomputing the dependence relation.
10045 (compute_affine_dependence): Remove parameter loop_nest_depth.
10046 (compute_self_dependence): Don't call compute_subscript_distance.
10047 (compute_all_dependences): Remove parameters nb_loops, loop_nest_depth.
10048 Add a parameter for the loop_nest.
10049 (find_loop_nest_1, find_loop_nest): New.
10050 (compute_data_dependences_for_loop): Compute the loop nest, and give
10051 up if the nest is not well formed.
10052 * tree-data-ref.h (loop_p): New.
4b1c1f6f 10053 (struct data_dependence_relation): Replace size_vect field with
ba42e045
SP
10054 loop_nest, a vec of loops.
10055 (DDR_SIZE_VECT): Renamed DDR_NB_LOOPS.
10056 (DDR_LOOP_NEST): New.
10057 (print_dir_vectors, print_dist_vectors,
10058 debug_data_dependence_relation): Declared.
10059 (index_in_loop_nest): New.
10060 * tree-vect-analyze.c (vect_analyze_data_ref_dependence): Use
10061 DDR_LOOP_NEST and index_in_loop_nest to determine the dependence
10062 distance.
10063
30a440a7
AN
100642006-03-25 Adam Nemet <anemet@caviumnetworks.com>
10065
10066 * simplify-rtx.c (simplify_relational_operation): Call
10067 simplify_relational_operation_1 even if mode is VOIDmode.
10068
fe1f8f44
DB
100692006-03-25 Daniel Berlin <dberlin@dberlin.org>
10070
10071 PR tree-optimization/26804
10072 * tree.h (DECL_CALL_CLOBBERED): New macro.
10073 (tree_decl_common): Add call_clobbered_flag.
10074 * tree-flow-inline.h (is_call_clobbered): Use DECL_CALL_CLOBBERED.
10075 (mark_call_clobbered): Set DECL_CALL_CLOBBERED.
10076 (clear_call_clobbered): Clear DECL_CALL_CLOBBERED.
10077 (mark_non_addressable): Ditto.
10078 * tree-ssa.c (verify_call_clobbered): New function.
10079 (verify_alias_info): Use it.
10080 * tree-pass.h (pass_reset_cc_flags): New prototype.
10081 * tree-ssa-alias.c (pass_reset_cc_flags): New structure.
10082 (reset_cc_flags): New function.
10083 * passes.c (init_optimization_passes): Call reset_cc_flags after
10084 initializing referenced_vars.
10085
1d8b38a0
UB
100862006-03-25 Uros Bizjak <uros@kss-loka.si>
10087 Roger Sayle <roger@eyesopen.com>
10088
10089 PR middle-end/26717
10090 * fold-const.c (fold_binary) [RDIV_EXPR]: Do not optimize A / A
10091 to 1.0 for non-real operands. Implement A / A optimization for
10092 complex operands.
10093
75bcbcdb
L
100942006-03-25 H.J. Lu <hongjiu.lu@intel.com>
10095
10096 * config/i386/i386.c (size_cost): Correct the comment for
10097 cost of storing fp registers.
10098 (i386_cost): Likewise.
10099 (i486_cost): Likewise.
10100 (pentium_cost): Likewise.
10101 (pentiumpro_cost): Likewise.
10102 (k6_cost): Likewise.
10103 (athlon_cost): Likewise.
10104 (k8_cost): Likewise.
10105 (pentium4_cost): Likewise.
10106 (nocona_cost): Likewise.
10107 (generic64_cost): Likewise.
10108 (generic32_cost): Likewise.
10109
625a46d9
DC
101102006-03-24 Denis Chertykov <denisc@overta.ru>
10111
10112 * config/avr/avr-protos.h (extra_constraint): Delete.
10113 (extra_constraint_Q): New declaration.
10114 * config/avr/constraints.md: New file.
10115 * config/avr/avr.md: Include it.
10116 (REG_X, REG_Y, REG_Z, REG_W): New constants.
10117 (TMP_REGNO, ZERO_REGNO): Likewise.
10118 (UNSPEC_STRLEN, UNSPEC_INDEX_JMP): Likewise.
10119 * config/avr/avr.c (avr_reg_class_from_letter): Delete.
10120 (extra_constraint): Delete.
10121 (extra_constraint_Q): Test for memory constraint 'Q'.
10122 * config/avr/avr.h (REG_X,REG_Y,REG_Z,REG_W): Delete.
10123 (REG_CLASS_FROM_LETTER): Delete.
10124 (CONST_OK_FOR_LETTER_P): Delete.
10125 (CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
10126 (EXTRA_CONSTRAINT): Delete.
10127 (TMP_REGNO): Delete.
10128 (ZERO_REGNO): Delete.
10129
3ae194cd
JL
101302006-03-24 Jeff Law <law@redhat.com>
10131
10132 * tree-ssa-dom.c (propagate_rhs_into_lhs): Don't call update_stmt
10133 directly. Call mark_new_vars_to_rename slightly earlier.
10134
895de5a8
GK
101352006-03-24 Geoffrey Keating <geoffk@apple.com>
10136
9e51ddaa
GK
10137 * dwarf2out.c (is_c_family): Understand new DWARF3 language types.
10138 (is_cxx): Likewise.
10139 (gen_compile_unit_die): Use new language types for Objective-C and
10140 Objective-C++.
10141 (dwarf2out_decl): Use is_cxx rather than testing explicitly against
10142 DW_LANG_C_plus_plus.
10143
895de5a8
GK
10144 PR 26793
10145 * config/t-darwin (crt3.o): Work around bug 26840.
10146 * config/darwin-crt3.c: Rewrite.
10147 * config/darwin.h (STARTFILE_SPEC): Don't use -l for crt3.o.
10148
e713adf6
CD
101492006-03-24 Carlos O'Donell <carlos@codesourcery.com>
10150
10151 * doc/invoke.texi: Document -femit-class-debug-always
10152 * common.opt: Add -femit-class-debug-always.
10153
93fa8428
AK
101542006-03-24 Andreas Krebbel <krebbel1@de.ibm.com>
10155
10156 * config/s390/s390.c (s390_decompose_address): Allow SImode for
10157 index and base register.
10158 (s390_expand_plug_operand, legitimate_address_p, preferred_la_operand_p,
10159 print_operand_address, print_operand): Replaced REG_OK_FOR_BASE_STRICT_P
10160 with REGNO_OK_FOR_BASE_P and REG_OK_FOR_INDEX_STRICT_P with
10161 REGNO_OK_FOR_INDEX_P.
10162 * config/s390/s390.h (REGNO_OK_FOR_INDEX_P): Replaced check with
10163 ADDR_REGNO_P.
10164 (REG_OK_FOR_INDEX_NONSTRICT_P, REG_OK_FOR_BASE_NONSTRICT_P,
10165 REG_OK_FOR_INDEX_STRICT_P, REG_OK_FOR_BASE_STRICT_P, REG_OK_FOR_INDEX_P,
10166 REG_OK_FOR_BASE_P): Definitions removed.
10167
8cb86b65
JJ
101682006-03-24 Jakub Jelinek <jakub@redhat.com>
10169
10170 PR middle-end/26611
10171 * gimplify.c (gimplify_bind_expr): Only call omp_add_variable on
10172 non-global variables that don't have DECL_SEEN_IN_BIND_EXPR_P bit
10173 set yet or weren't marked as local yet.
10174
84c9cb12
BS
101752006-03-24 Bernd Schmidt <bernd.schmidt@analog.com>
10176
10177 * regrename.c (scan_rtx_address): Initialize a variable to shut up
10178 the compiler.
10179
d04b6e6e
EB
101802006-03-24 Eric Botcazou <ebotcazou@adacore.com>
10181
10182 * config/rs6000/rs6000-protos.h (rs6000_offsettable_memref_p): Declare.
10183 (rs6000_legitimate_small_data_p): Delete.
10184 * config/rs6000/rs6000.c (rs6000_offsettable_memref_p): New predicate.
10185 (rs6000_legitimate_small_data_p): Rename to legitimate_small_data_p
10186 and make static. Add forward declaration. Update uses.
10187 (rs6000_split_multireg_move): Use rs6000_offsettable_memref_p instead
10188 of offsettable_memref_p.
10189 * config/rs6000/rs6000.md (movdf_hardfloat32): Revert 2005-08-23 fix.
10190 Use rs6000_offsettable_memref_p instead of a less accurate predicate.
10191
243cc836
JL
101922006-03-24 Jeff Law <law@redhat.com>
10193
10194 * tree-ssa-dom.c (propagate_rhs_into_lhs): Temporarily work
10195 around bug in immediate-use iterator.
10196
5b314bb3
AM
101972006-03-24 Alan Modra <amodra@bigpond.net.au>
10198
10199 PR target/26607
10200 * config/rs6000/darwin-ldouble.c: Don't compile when __NO_FPRS__
10201 or __LITTLE_ENDIAN__.
10202
b368d6b8
R
102032006-03-23 J"orn Rennecke <joern.rennecke@st.com>
10204
10205 * config/sh/divtab-sh4.c, config/sh/divcost-analysis: New files.
10206 * config/sh/lib1funcs.asm (div_table): Add !__SH5__ variant.
10207 * config/sh/t-sh (LIB1ASMFUNCS): Add _div_table.
10208 * config/sh/sh.opt (mdiv=): Amend description.
10209 * config/sh/sh.h (TARGET_DIVIDE_CALL_DIV1): New macro.
10210 (TARGET_DIVIDE_CALL_FP, TARGET_DIVIDE_CALL_TABLE): Likewise.
10211 (sh_divide_strategy_e): Add new members SH_DIV_CALL_DIV1,
10212 SH_DIV_CALL_FP, SH_DIV_CALL_TABLE and SH_DIV_INTRINSIC.
10213 (OVERRIDE_OPTIONS): Also process sh_div_str for TARGET_SH1.
10214 Calculate sh_divsi3_libfunc using TARGET_DIVIDE_* macros.
10215 * config/sh/sh.md (udivsi3_i4_int, divsi3_i4_int): New patterns.
10216 (udivsi3, divsi3): Use them. Check TARGET_DIVIDE_CALL_TABLE /
10217 TARGET_DIVIDE_CALL_FP.
10218
a57aee2a
MK
102192006-03-23 Maxim Kuvyrkov <mkuvyrkov@ispras.ru>
10220
10221 * haifa-sched.c (choose_ready): Fix type of the local variable.
10222 Move local variables. Add comment.
10223 (check_reg_live): Change signature. Make callable from debugger.
10224 * sched-int.h (check_reg_live): Update signature.
10225 * sched-ebb.c (check_reg_live): Update parameters.
10226 * sched-rgn.c (check_reg_live): Ditto.
10227 (region_head_or_leaf_p): Check pointer before dereferencing.
10228 * config/ia64/ia64.c (ia64_set_sched_flags): Disable data speculation
10229 before reload on optimization levels below 1.
10230
dec6909b
RH
102312006-03-23 Richard Henderson <rth@redhat.com>
10232
e584065d
RH
10233 * config/alpha/alpha.c (alpha_legitimate_constant_p): Reject
10234 tls symbols.
10235
dec6909b
RH
10236 PR target/26347
10237 * config/alpha/predicates.md (local_symbolic_operand): Reject
10238 weak symbols.
10239
60fee157
AP
102402006-03-23 Andrew Pinski <pinskia@physics.uc.edu>
10241
10242 PR tree-opt/26795
10243 * tree-ssa-pre.c (create_value_expr_from): Don't reject
10244 expressions which have overflowed constants.
10245
79b9dd8c
ZD
102462006-03-23 Zdenek Dvorak <dvorakz@suse.cz>
10247
10248 * cse.c (cse_end_of_basic_block): Do not check for LOOP_END note.
10249
054a09fb
ZD
102502006-03-23 Zdenek Dvorak <dvorakz@suse.cz>
10251
10252 * cfgloopmanip.c (create_loop_notes): Removed.
10253 * final.c (final_scan_insn): Do not handle loop notes.
10254 * jump.c (squeeze_notes): Ditto.
10255 * cfglayout.c (skip_insns_after_block,
10256 duplicate_insn_chain): Ditto.
10257 * cfgcleanup.c (rest_of_handle_jump2): Do not call
10258 create_loop_notes.
10259 * cfgloop.h (create_loop_notes): Declaration removed.
10260
c16ba1d5
RS
102612006-03-23 Richard Sandiford <richard@codesourcery.com>
10262
10263 * varasm.c (output_constant_pool): Restore fnname and fndecl
10264 arguments.
10265 (assemble_start_function): Adjust call accordingly.
10266 (assemble_end_function): Likewise.
10267
698cf1c8
VR
102682006-03-22 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
10269
91d876d9 10270 PR mudflap/26789
7a752640
VR
10271 * tree-mudflap.c (mudflap_finish_file): Skip erroneous objects.
10272
91d876d9 10273 PR mudflap/26790
698cf1c8
VR
10274 * tree-mudflap.c (mf_xform_derefs_1): Return early on error_mark_node.
10275
ddaf3b86
VR
102762006-03-22 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
10277
10278 PR driver/22600
10279 * system.h (ICE_EXIT_CODE): New macro.
10280 * diagnostic.c (diagnostic_count_diagnostic): Exit with ICE_EXIT_CODE.
10281 (diagnostic_action_after_output): Likewise.
10282 * gcc.c (fatal_ice): New function.
10283 (execute): Use it instead of fatal.
10284 (fancy_abort): Likewise.
10285 * doc/invoke.texi (-pass-exit-codes): Document return code for ICEs.
10286
4dc7782d
JL
102872006-03-22 Jeff Law <law@redhat.com>
10288
10289 * loop-unroll.c (analyze_iv_to_split_insn): Handle
10290 iv_analyze_result returning false.
10291
f328a23a
JZ
102922006-03-22 Jie Zhang <jie.zhang@analog.com>
10293
10294 * config/bfin/bfin.h (ASM_FORMAT_PRIVATE_NAME): Remove.
10295
fad41cd7
RH
102962006-03-22 Richard Henderson <rth@redhat.com>
10297
10298 PR middle-end/26084
10299 * except.c (duplicate_eh_regions_0): New.
10300 (duplicate_eh_region_1): Duplicate the children of the node as
10301 well as the node itself. Link them up properly.
10302 (duplicate_eh_region_2): Merge into ...
10303 (duplicate_eh_regions): ... here. Take copy_region argument, and
10304 copy only a sub-tree if asked. Simplify copying and fixup.
10305 (eh_region_outer_p): New.
10306 * except.h (duplicate_eh_regions): Update decl.
10307 (eh_region_outer_p): Declare.
10308 * omp-low.c (lower_omp_single): Fix eh region placement wrt OMP_RETURN.
10309 (lower_omp_master): Likewise.
10310 (lower_omp_ordered): Likewise.
10311 * tree-cfg.c (struct move_stmt_d): Add new_label_map.
10312 (move_stmt_r): Use it to remap labels. Handle recursion vs
10313 remap_decls_p properly.
10314 (move_block_to_fn): Pass in new_label_map. Remap RESX_EXPR.
10315 (find_outermost_region_in_block): New.
10316 (new_label_mapper): New.
10317 (move_sese_region_to_fn): Copy eh information to the new function
10318 properly.
10319 * tree-inline.c (copy_cfg_body): Update for new duplicate_eh_regions
10320 argument.
10321 * tree-pretty-print.c (dump_generic_node): Dump RESX_EXPR region
10322 number.
10323
bc4a3483
RS
103242006-03-22 Richard Sandiford <richard@codesourcery.com>
10325
10326 * doc/md.texi (-mshared): Mention that -mshared code can be linked
10327 into shared libraries.
10328
08b1e29a
RS
103292006-03-22 Richard Sandiford <richard@codesourcery.com>
10330
10331 * doc/md.texi: Refer to i386/constraints.md instead of
10332 i386/predicates.md.
10333 * config/i386/constraints.md: New file, extracted from...
10334 * config/i386/predicates.md: ...here.
10335 * config/i386/i386.md: Include constraints.md.
10336
5b5cba1f
JM
103372006-03-21 Jason Merrill <jason@redhat.com>
10338
ac382b62
JM
10339 * builtins.c (expand_builtin_fork_or_exec): Fix pasto.
10340
5b5cba1f
JM
10341 PR middle-end/20297
10342 * expr.c (init_block_move_fn): Force default visibility.
10343 (init_block_clear_fn): Likewise.
10344 * builtins.c (expand_builtin_fork_or_exec): Likewise.
10345 * targhooks.c (default_external_stack_protect_fail): Likewise.
10346
d9870b7e
RS
103472006-03-21 Richard Sandiford <richard@codesourcery.com>
10348
10349 * config/mips/predicates.md (const_call_insn_operand): Allow direct
10350 calls to locally-defined functions if TARGET_ABSOLUTE_ABICALLS.
10351 * config/mips/mips.md (jal_macro): Test TARGET_ABSOLUTE_ABICALLS.
10352 Use TARGET_OLDABI instead of !TARGET_NEWABI.
10353 (loadgp): Use mips_current_loadgp_style.
10354 (loadgp_noshared): New pattern.
10355 (sibcall_internal): Use MIPS_CALL.
10356 (sibcall_value_internal): Likewise.
10357 (sibcall_value_multiple_internal): Likewise.
10358 (call_internal): Likewise.
10359 (call_value_internal): Likewise.
10360 (call_value_multiple_internal): Likewise.
10361 (call_split): Use MIPS_CALL and add an 'S' constraint.
10362 (call_value_split): Likewise.
10363 (call_value_multiple_split): Likewise.
10364 * config/mips/mips.opt (-mabicalls): Tweak docstring.
10365 (-mshared): New option.
10366 * config/mips/mips-protos.h (mips_loadgp_style): New enum.
10367 (mips_current_loadgp_style): Declare.
10368 * config/mips/mips.c (mips_classify_symbol): Avoid using
10369 SYMBOL_GOT_LOCAL if TARGET_ABSOLUTE_ABICALLS. Use SYMBOL_GENERAL
10370 rather than SYMBOL_GOT_GLOBAL for locally-binding symbols if
10371 TARGET_ABSOLUTE_ABICALLS.
10372 (override_options): Adjust comments. Improve the warning that is
10373 issued when -mabicalls and -G are used together.
10374 (mips_file_start): Remove comment.
10375 (mips_current_loadgp_style): New function.
10376 (mips_gnu_local_gp): New variable.
10377 (mips_emit_loadgp): Use mips_current_loadgp_style. Handle
10378 LOADGP_ABSOLUTE.
10379 (mips_output_function_prologue): Use mips_current_laodgp_style.
10380 (mips_expand_prologue): Call mips_emit_loadgp before emitting
10381 the cprestore instruction.
10382 (mips_extra_live_on_entry): Fix reversed test. Don't make $25
10383 live for TARGET_ABSOLUTE_ABICALLS.
10384 * config/mips/mips.h (TARGET_ABSOLUTE_ABICALLS): New macro.
10385 (ASM_SPEC): Pass down -mshared and -mno-shared.
10386 (MIPS_CALL): New macro.
10387 * config/mips/netbsd.h (TARGET_OS_CPP_BUILTINS): Remove __ABICALLS__
10388 definition.
10389 * doc/invoke.texi (-mabicalls): Update documentation.
10390 (-mshared): Document.
10391
487d9a61
SE
103922006-03-21 Steve Ellcey <sje@cup.hp.com>
10393
10394 * config/ia64/unwind-hpux.c: New file.
10395 * config/ia64/t-hpux: Add unwind-hpux.c to libgcc.
10396
f7da48ef
SE
103972006-03-21 Steve Ellcey <sje@cup.hp.com>
10398
10399 PR libgomp/26384
10400 * config/pa/pa64-hpux.h (LIB_SPEC): Fix for -mt and -pthread options.
10401
a3b196e3
JL
104022006-03-21 Jeff Law <law@redhat.com>
10403
10404 * tree-vrp.c (extract_range_from_unary_expr): Derive ranges for
10405 type conversions of a VR_VARYING source to a wider type.
10406
ec23ed60
EB
104072006-03-21 Eric Botcazou <ebotcazou@libertysurf.fr>
10408
10409 * config.gcc (i[34567]86-*-solaris2*): Add config/sol2-10.h to
10410 tm_file on Solaris 10 and later.
10411 (sparc64-*-solaris2*): Likewise.
10412 (sparc-*-solaris2*): Likewise.
10413 * config/sol26.h: Rename to config/sol2-6.h.
10414 * config/sol2-10.h: New file.
10415
5ded46eb
AP
104162006-03-21 Andrew Pinski <pinskia@physics.uc.edu>
10417
10418 PR tree-opt/26781
10419 * tree-ssa-pre.c (create_component_ref_by_pieces):
10420 Handle STRING_CST.
10421
3c9bb46e
JJ
104222006-03-21 Jakub Jelinek <jakub@redhat.com>
10423
10424 PR c++/26690
10425 * tree.c (get_callee_fndecl): If CALL is error_mark_node,
10426 return it immediately.
10427
b6bbd675
MM
104282006-03-21 Michael Matz <matz@suse.de>
10429
10430 * genautomata.c (<struct state>, num_out_arcs, presence_signature):
10431 New members.
10432 (remove_arc, add_arc): Update num_out_arcs member.
10433 (set_out_arc_insns_equiv_num): Returns nothing instead of number
10434 of out arcs.
10435 (cache_presence): New function.
10436 (compare_states_for_equiv): New function.
10437 (state_is_differed): Don't take number of outargs, adjust callers.
10438 Use new invariant for speeding up.
10439 (init_equiv_class): Create initial classes based on sorted
10440 input.
10441 (partition_equiv_class): Don't track out_arcs_num.
10442 (evaluate_equiv_classes): Call cache_presence on all states and
10443 sort them.
10444
c4963a0a
BS
104452006-03-21 Bernd Schmidt <bernd.schmidt@analog.com>
10446
10447 * config/bfin/bfin-protos.h (bfin_dsp_memref_p): Declare.
10448 * config/bfin/bfin.c (bfin_dsp_memref_p): New function.
10449 (bfin_valid_reg_p): Test for pseudos explicitly and use only
10450 REGNO_MODE_CODE_OK_FOR_BASE_P. New args MODE and OUTER_CODE; all
10451 callers changed.
10452 * config/bfin/bfin.h (PREG_P): Use P_REGNO_P.
10453 (IREG_P, P_REGNO_P, I_REGNO_P): New macros.
10454 (enum reg_class, REG_CLASS_CONTENTS): Add IPREGS.
10455 (BASE_REG_CLASS, REG_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P,
10456 REGNO_OK_FOR_BASE_STRICT_P, REGNO_OK_FOR_BASE_NONSTRICT_P): Delete
10457 macros.
10458 (IREG_POSSIBLE_P, MODE_CODE_BASE_REG_CLASS,
10459 REGNO_MODE_CODE_OK_FOR_BASE_P): New macros.
10460 (REGNO_REG_CLASS): ARGP is in PREGS.
10461 * config/bfin/bfin.md (movhi_insn): Allow for addresses containing
10462 IREGS.
10463 (zero_extendhisi2, extendhisi2): Likewise; changed to define_and_split
10464 to deal with those addresses.
10465 * addresses.h: New file.
10466 * caller-save.c: Include "addresses.h".
10467 (init_caller_save): Use new base_reg_class function.
10468 * rtl-factoring.c: Include "addresses.h".
10469 (recompute_gain_for_pattern_seq): Use new function ok_for_base_p_1.
10470 * recog.c: Include "addresses.h".
10471 (preprocess_constraints): Use new base_reg_class function.
10472 * regrename.c: Include "addresses.h".
10473 (scan_rtx_address): Use new regno_ok_for_base_p and base_reg_class
10474 functions. Keep track of a new var INDEX_CODE to compute valid
10475 classes.
10476 (replace_oldest_value_addr): Likewise.
10477 (replace_oldest_value_mem): Use base_reg_class.
10478 * reload.c: Include "addresses.h".
10479 (REGNO_MODE_OK_FOR_BASE_P, REG_MODE_OK_FOR_BASE_P): Delete macros.
10480 (find_reloads): Use new base_reg_class function.
10481 (find_reloads_address): Likewise; also use regno_ok_for_base_p.
10482 (find_reloads_address_1): Likewise. New args OUTER_CODE and INDEX_CODE;
10483 all callers and prototype changed.
10484 * reload1.c: Include "addresses.h".
10485 (maybe_fix_stack_asms): Use base_reg_class.
10486 * regclass.c: Include "addresses.h".
10487 (ok_for_index_p_nonstrict, ok_for_base_p_nonstrict): New functions.
10488 (init_reg_autoinc): Use new base_reg_class function.
10489 (record_reg_classes): Likewise.
10490 (record_address_regs): Delete arg CLASS; add args CONTEXT, MODE,
10491 OUTER_CODE and INDEX_CODE. All callers and prototype changed.
10492 Use new args to compute necessary class.
10493
10494 * Makefile.in (regclass.o, reload.o, reload1.o, caller-save.o, recog.o,
10495 regrename.o, rtl-factoring.o): Update dependencies.
10496 * doc/tm.texi (MODE_CODE_BASE_REG_CLASS): Document.
10497 (REGNO_MODE_CODE_OK_FOR_BASE_P): Likewise.
10498 (REG_OK_FOR_BASE_P, REG_MODE_OK_FOR_BASE_P, REG_MODE_OK_FOR_REG_BASE_P,
10499 REG_OK_FOR_INDEX_P): Delete documentation.
10500
69bdb292
AS
105012006-03-21 Alexey Starovoytov <alexey.starovoytov@sun.com>
10502
10503 * config.gcc (sparc-*-solaris2*): Change the default CPU setting
10504 from V7 to V9 for Solaris 7 and above.
10505
0698a1d2
TM
105062006-03-21 Toon Moene <toon@moene.indiv.nluug.nl>
10507
10508 * doc/invoke.texi: Document new flag -fargument-noalias-anything.
10509 * tree-ssa-alias.c (may_alias_p): If flag_argument_noalias > 2,
10510 argument pointers may not alias any other storage.
10511 * common.opt: Define option -fargument-noalias-anything.
10512 * tree-ssa-structalias.c (intra_create_variable_infos): Fortran
10513 alias semantics is specified by flag_argument_noalias > 2.
10514
ee51e035 105152006-03-20 Jeff Law <law@redhat.com>
e67c25c7
JL
10516
10517 * tree-pass.h (pass_phi_only_copy_prop): Delete.
10518 (pass_phi_only_cprop): Declare.
10519 * passes.c (init_optimization_passes): Replace pass_phi_only_copy_prop
10520 with phi_only_cprop
10521 * tree-ssa-dom.c (degenerate_phi_result): New function.
10522 (remove_stmt_or_phi, get_lhs_or_phi_result): Likewise.
10523 (get_rhs_or_phi_arg, propagate_rhs_into_lhs): Likewise.
10524 (eliminate_const_or_copy, eliminate_degenerate_phis_1): Likewise.
10525 (eliminate_degenerate_phis): Likewise.
10526 (pass_phi_only_cprop): New pass descriptor.
10527 * tree-ssa-copy.c (init_copy_prop): Lose PHIS_ONLY argument and
10528 support code. Callers updated.
10529 (execute_copy_prop, do_copy_prop): Likewise and corresponding changes.
10530 (store_copy_prop): Likewise.
10531 (do_phi_only_copy_prop, pass_phi_only_copy_prop): Remove.
10532
0ed5edac
JM
105332006-03-20 Jason Merrill <jason@redhat.com>
10534
10535 PR c++/21764
10536 * c-pragma.c (visstack): Move out of handle_pragma_visibility.
10537 (push_visibility, pop_visibility): Likewise.
10538 * c-pragma.h: Declare them.
10539
c6d56443
KK
105402006-03-20 Kaz Kojima <kkojima@gcc.gnu.org>
10541
10542 * config/sh/sh.c (untangle_mova): Initialize n_addr and n_target.
10543
10544 * config/sh/sh.c (find_regmode_weight): Change the type of the first
10545 parameter and use get_ebb_head_tail.
10546 (sh_md_init_global): Adjust uses of find_regmode_weight.
10547
ede497cf
SB
105482006-03-20 Steven Bosscher <stevenb.gcc@gmail.com>
10549
10550 * function.h (struct function) <x_tail_recursion_reentry>:
10551 Rename to x_stack_check_probe_note.
10552 (tail_recursion_reentry): Rename to stack_check_probe_note.
10553 * function.c: Replace tail_recursion_reentry with
10554 stack_check_probe_note everywhere.
10555 (expand_function_start): Only emit a note for
10556 stack_check_probe_note with -fstack-protect.
10557 * stmt.c (expand_case): Don't emit NOTE_INSN_DELETED notes.
10558
10559 * emit-rtl.c (remove_unnecessary_notes): Remove.
10560 (pass_remove_unnecessary_notes): Remove.
10561 * rtl.h (remove_unnecessary_notes): Remove prototype.
10562 * final.c (final_start_function): Don't call remove_unnecessary_notes.
10563 * tree-pass.h (pass_remove_unnecessary_notes): Remove.
10564 * passes.c (pass_remove_unnecessary_notes): Don't run it.
10565
e13f1c14
AP
105662006-03-20 Andrew Pinski <pinskia@physics.uc.edu>
10567
10568 PR tree-opt/26629
10569 * tree-ssa-pre (phi_translate): Handle ARRAY_REF's operands.
10570 (valid_in_set): Handle ARRAY_REF.
10571 Change "if min_variant or VH" to asserts.
10572 (create_component_ref_by_pieces): Handle ARRAY_REF.
10573 (create_expression_by_pieces): Likewise.
10574 (can_PRE_operation): ARRAY_REFs can now be PRE'd.
10575
7a22dbec
DE
105762006-03-20 David Edelsohn <edelsohn@gnu.org>
10577
10578 * genpreds.c (write_insn_extra_address_constraint): Argument `c'
10579 is operand of switch, not str[0].
10580
e0bf274f
AM
105812006-03-20 Alan Modra <amodra@bigpond.net.au>
10582
10583 * config/rs6000/rs6000.c (rs6000_handle_option): Use
10584 TARGET_NO_FP_IN_TOC inside #ifdef TARGET_USES_SYSV4_OPT too.
10585
e800e79b
DE
105862006-03-19 David Edelsohn <edelsohn@gnu.org>
10587
10588 * genpreds.c (write_tm_preds_h): Add semicolon and newline at
10589 end of insn_extra_address_constraint declaration.
10590
d2894ab5
DE
105912006-03-19 David Edelsohn <edelsohn@gnu.org>
10592
10593 * config/rs6000/rs6000.opt (no-fp-in-toc): Use Var not Mask.
10594 (no-sum-in-toc): Same.
10595 * config/rs6000/rs6000.c (rs6000_handle_option): Use new
10596 variables.
10597 * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Set
10598 NO_FP_IN_TOC for -fPIC instead of mask.
10599
10600 * config/rs6000/t-aix43 (T_ADAFLAGS): Delete.
10601 (BOOT_LDFLAGS): Delete.
10602 (LDFLAGS): Delete.
10603 * config/rs6000/t-aix52: Same.
10604
10605 * config/rs6000/rs6000.md (store_multiple_power): Delete.
10606 (stmsi[345678]_power): New.
10607
30b82356
SE
106082006-03-17 Steve Ellcey <sje@cup.hp.com>
10609
10610 * config/ia64/ia64.opt: Add empty line to end of file.
10611
445a6ba4
RG
106122006-03-17 Richard Guenther <rguenther@suse.de>
10613
10614 PR middle-end/26721
10615 * builtins.c (get_pointer_alignment): For component style references
10616 adjust alignment to the component type alignment. Make sure
10617 to adjust alignment for component access of constants.
10618
ea5bd0d8
DE
106192006-03-17 David Edelsohn <edelsohn@gnu.org>
10620
10621 * config/rs6000/rs6000.md (strlensi): Emit barrier after
10622 unconditional jump.
10623
3cf94279
PB
106242006-03-17 Paul Brook <paul@codesourcery.com>
10625
10626 * doc/install.texi: Docuemnt --with-mode.
10627 * config.gcc: Add --with-mode for arm*-*-*.
10628 * config/arm/arm.h (OPTION_DEFAULT_SPECS): Add "mode".
10629
4241ecb0
R
106302006-03-17 J"orn Rennecke <joern.rennecke@st.com>
10631
10632 * sh.c (max_labelno_before_reorg): New variable.
10633 (sh_reorg): Initialize it.
10634 (find_barrier): Check max_labelno_before_reorg before using
10635 label_to_alignment. Take length of explicit alignment insns
10636 into account. When seeing a UNSPECV_CONST_END, return it.
10637
10638 * sh.c (fixup_mova): Set mode of affected label to QImode.
10639 (untangle_mova): New function.
10640 (find_barrier): Use it. Check mode of label before decrementing
10641 num_mova.
10642 (sh_reorg): Likewise.
10643 Set mode of all insns back to VOIDmode.
10644
10645 * sh.c (MOVA_LABELREF): New macro.
10646 (mova_p, fixup_mova, sh_reorg): Use it.
10647 (find_barrier, sh_reorg): Don't count num_mova back to 0 unless
10648 ADDR_DIFF_VEC matches mova.
10649
79252435
SB
106502006-03-17 Steven Bosscher <stevenb.gcc@gmail.com>
10651
10652 * dwarf2asm.c (dw2_asm_output_offset): Mark 'base' argument
10653 with ATTRIBUTE_UNUSED.
10654
6a037308
AO
106552006-03-17 Alexandre Oliva <aoliva@redhat.com>
10656
10657 * dwarf2out.c (dwarf2out_stack_adjust): Always track the stack
10658 pointer, instead of assuming it is possible to derive the
10659 correct args size from a call insn.
10660
d97c1295
JBG
106612006-03-16 Jan-Benedict Glaw <jbglaw@lug-owl.de>
10662
10663 * rtl.h (CONST_INT_P): Define.
10664 * config/vax/vax.c (print_operand_address): Use CONST_INT_P()
10665 instead of GET_CODE(x) == CONST_INT.
10666 (vax_rtx_costs): Likewise.
10667 (vax_output_int_move): Likewise.
10668 (vax_output_int_add): Likewise.
10669 (legitimate_constant_address_p): Likewise.
10670 (index_term_p): Likewise.
10671 * config/vax/vax.h (PRINT_OPERAND): Likewise.
10672 * config/vax/vax.md (and<mode>3): Likewise.
10673 (ashrsi3): Likewise.
10674 (extv): Likewise.
10675 (movstricthi): Likewise.
10676 (movstrictqi): Likewise.
10677 (rotrsi3): Likewise.
10678 (five unnamed insns): Likewise.
10679
192d0f89
GK
106802006-03-16 Geoffrey Keating <geoffk@apple.com>
10681
10682 * doc/tm.texi (SDB and DWARF): Add extra parameter to
10683 ASM_OUTPUT_DWARF_OFFSET. Use @var to indicate metavariables.
10684 * dwarf2asm.h (dw2_asm_output_offset): Add section parameter.
10685 * dwarf2asm.c (dw2_asm_output_offset): Add base section parameter.
10686 Pass to ASM_OUTPUT_DWARF_OFFSET.
10687 * dwarf2out.c (debug_frame_section): New.
10688 (output_call_frame_info): Use debug_frame_section. Pass it to
10689 dw2_asm_output_offset.
10690 (output_die): Pass appropriate section to dw2_asm_output_offset.
10691 (output_compilation_unit_header): Likewise.
10692 (output_pubnames): Likewise.
10693 (output_aranges): Likewise.
10694 (enum dw_val_class): Break dw_val_class_lbl_offset into
10695 dw_val_class_lineptr and dw_val_class_macptr.
10696 (add_AT_lbl_offset): Delete.
10697 (add_AT_lineptr): New.
10698 (add_AT_macptr): New.
10699 (AT_lbl): Expect a lineptr or macptr.
10700 (print_die): Handle dw_val_class_lineptr and dw_val_class_macptr.
10701 (attr_checksum): Likewise.
10702 (same_dw_val_p): Likewise.
10703 (size_of_die): Likewise.
10704 (value_format): Likewise.
10705 (output_die): Likewise.
10706 (dwarf2out_finish): Call add_AT_lineptr and add_AT_macptr instead of
10707 add_AT_lbl_offset.
10708 * config/i386/cygming.h (ASM_OUTPUT_DWARF_OFFSET): Add extra parameter.
10709 * config/i386/i386.c (x86_file_start): Call darwin_file_start.
10710 * config/darwin-protos.h (darwin_file_start): New.
10711 (darwin_asm_output_dwarf_offset): New.
10712 * config/ia64/ia64.h (ASM_OUTPUT_DWARF_OFFSET): Add extra parameter.
10713 * config/rs6000/rs6000.c (rs6000_darwin_file_start): Call
10714 darwin_file_start.
10715 * config/darwin.c (darwin_emit_unwind_label): Don't output label
10716 if not EH section; simplify.
10717 (darwin_file_start): New.
10718 (darwin_asm_output_dwarf_offset): New.
10719 * config/darwin.h (DEBUG_FRAME_SECTION): In __DWARF segment,
10720 mark as 'debug'.
10721 (DEBUG_INFO_SECTION): Likewise.
10722 (DEBUG_ABBREV_SECTION): Likewise.
10723 (DEBUG_ARANGES_SECTION): Likewise.
10724 (DEBUG_MACINFO_SECTION): Likewise.
10725 (DEBUG_LINE_SECTION): Likewise.
10726 (DEBUG_LOC_SECTION): Likewise.
10727 (DEBUG_PUBNAMES_SECTION): Likewise.
10728 (DEBUG_STR_SECTION): Likewise.
10729 (DEBUG_RANGES_SECTION): Likewise.
10730 (FRAME_BEGIN_LABEL): Must start with 'L' in debug section.
10731 (ASM_OUTPUT_DWARF_OFFSET): New.
10732
620b87b3
JM
107332006-03-16 Joseph S. Myers <joseph@codesourcery.com>
10734
10735 * config.gcc (tm_defines): Always add to previous value rather
10736 than replacing it.
10737
ea462dd0
RS
107382006-03-16 Richard Sandiford <richard@codesourcery.com>
10739
10740 * config/mips/predicates.md (splittable_const_int_operand): New,
10741 split from move_operand.
10742 (splittable_symbolic_operand): New.
10743 (move_operand): Add commentary. Use splittable_const_int_operand.
10744 Inline mips_atomic_symbolic_constant_p.
10745 * config/mips/mips.md: Add combine splitters for handling moves
10746 of splittable_const_int_operands and splittable_symbolic_operands.
10747 * config/mips/mips-protos.h (mips_atomic_symbolic_constant_p): Delete.
10748 (mips_split_symbol): Declare.
10749 (mips_move_integer): Declare.
10750 * config/mips/mips.c (mips_split_p): Make global.
10751 (TARGET_MIN_ANCHOR_OFFSET): Override default.
10752 (TARGET_MAX_ANCHOR_OFFSET): Likewise.
10753 (TARGET_USE_BLOCKS_FOR_CONSTANT_P): Likewise.
10754 (TARGET_USE_ANCHORS_FOR_SYMBOL_P): Likewise.
10755 (mips_offset_within_object_p): Handle block symbols.
10756 (mips_atomic_symbolic_constant_p): Delete.
10757 (mips_cannot_force_const_mem): Return false for constants that
10758 mips_legitimize_move can handle.
10759 (mips_use_blocks_for_constant_p): New function.
10760 (mips_split_symbol): Make global.
10761 (mips_move_integer): Likewise. Add a temporary register argument.
10762 (mips_legitimize_const_move): Use splittable_const_int_operand and
10763 splittable_symbolic_operand.
10764 (mips_use_anchors_for_symbol_p): New function.
10765 * config/mips/mips.h: Protect externs with !USED_FOR_TARGET.
4b1c1f6f 10766 (mips_split_p): Declare.
ea462dd0 10767
5d2a73d5
RS
107682006-03-16 Richard Sandiford <richard@codesourcery.com>
10769
10770 * config.gcc (mips64*-*-linux*): Keep existing tm_defines.
10771 (mips*-*-linux*): Likewise.
10772
da54e73b
RS
107732006-03-16 Roger Sayle <roger@eyesopen.com>
10774 Daniel Speyer <dspeyer@wam.umd.edu>
10775
10776 PR middle-end/18259
10777 * tree-dump.c (dump_real): New function.
10778 (dequeue_and_dump) <REAL_CST>: Use it to dump FP constants.
10779 * Makefile.in (REAL_H): New macro for dependencies on real.h.
10780 (tree-dump.o): Add $(REAL_H) to the dependencies.
10781
a47564c8
RS
107822006-03-16 Roger Sayle <roger@eyesopen.com>
10783
10784 PR middle-end/21781
10785 * real.c (real_from_string): If the mantissa is zero, don't bother
10786 parsing the exponent as the result should always be zero.
10787
349f4ea1
AK
107882006-03-16 Andreas Krebbel <krebbel1@de.ibm.com>
10789
10790 * simplify-rtx.c (simplify_plus_minus): Simplify within CONST terms.
10791
048d0d36
MK
107922006-03-16 Maxim Kuvyrkov <mkuvyrkov@ispras.ru>
10793
dec6909b
RH
10794 * config/ia64/ia64.c (stops_p): Added explicit initialization.
10795 (ia64_first_cycle_multipass_dfa_lookahead_guard_spec,
10796 ia64_h_i_d_extended, ia64_set_sched_flags, ia64_speculate_insn,
10797 ia64_needs_block_p, ia64_gen_check, ia64_sched_init_global,
048d0d36
MK
10798 ia64_sched_finish_global): New static functions to implement
10799 hooks from gcc_target.sched.
10800 (spec_check_no, max_uid, pending_data_specs): New static variables.
dec6909b 10801 (ia64_mode_to_int, ia64_gen_spec_insn, ia64_spec_check_p,
048d0d36 10802 ia64_spec_check_src_p): New static functions.
dec6909b
RH
10803 (ia64_adjust_cost): Renamed to ia64_adjust_cost_2.
10804 (TARGET_SCHED_ADJUST_COST): Removed.
10805 (TARGET_SCHED_ADJUST_COST_2, TARGET_SCHED_INIT_GLOBAL,
048d0d36
MK
10806 TARGET_SCHED_FINISH_GLOBAL, TARGET_SCHED_H_I_D_EXTENDED,
10807 TARGET_SCHED_SPECULATE_INSN, TARGET_SCHED_NEEDS_BLOCK_P,
10808 TARGET_SCHED_GEN_CHECK,
10809 TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD_SPEC,
dec6909b
RH
10810 TARGET_SCHED_SET_SCHED_FLAGS): New macros.
10811 (update_set_flags, group_barrier_needed, set_src_needs_barrier):
048d0d36 10812 Fixed to handle speculation checks.
dec6909b
RH
10813 (rtx_needs_barrier): Fixed to handle speculative loads and
10814 their checks.
10815 (ia64_variable_issue): Added code to count speculative loads and their
10816 checks.
10817 (ia64_first_cycle_multipass_dfa_lookahead_guard): Fixed to handle
10818 speculative loads.
10819 (enum SPEC_MODES, enum SPEC_GEN_LD_MAP, SPEC_GEN_CHECK_OFFSET):
10820 New enumerations.
10821 (SPEC_GEN_EXTEND_OFFSET, SPEC_N, SPEC_GEN_CHECK_MUTATION_OFFSET):
10822 New constants.
10823 (ia64_ld_address_bypass_p): Fixed to handle speculative loads.
048d0d36 10824 (ia64_reorg): Reset stops_p to NULL after it is freed.
dec6909b 10825 * config/ia64/ia64.md (UNSPEC_LDA, UNSPEC_LDS, UNSPEC_LDSA,
048d0d36 10826 UNSPEC_LDCCLR, UNSPEC_CHKACLR, UNSPEC_CHKS): New constants.
dec6909b
RH
10827 (itanium_class): chk_s renamed to chk_s_i. New constants: chk_s_f,
10828 chk_a.
10829 (data_speculative, control_speculative, check_load): New attributes.
10830 (mov<mode>_advanced, mov<mode>_speculative,
10831 mov<mode>_speculative_advanced, zero_extend<mode>di2_advanced,
10832 zero_extend<mode>di2_speculative,
10833 zero_extend<mode>di2_speculative_advanced): New patterns for
10834 data and control speculative loads.
10835 (mov<mode>_clr, zero_extend<mode>di2_clr): New patterns for
10836 check loads.
10837 (advanced_load_check_clr_<mode>, speculation_check_<mode>):
10838 New pattern for data and control speculation checks.
048d0d36
MK
10839 (MODE, MODE_FOR_EXTEND, output_a, output_s, output_sa, output_c_clr,
10840 ld_reg_constr, ldc_reg_constr, chk_reg_constr, mem_constr,
10841 reg_pred_prefix, ld_class, chka_class, chks_class, attr_yes):
10842 Auxiliary definitions for the patterns.
dec6909b
RH
10843 * config/ia64/itanium1.md (1_fldc, 1_fldpc, 1_ldc, 1_chk_s_f, 1_chk_a,
10844 1b_fldc, 1b_fldpc, 1b_ldc, 1b_chk_s_f, 1b_chk_a): New resource
10845 constraints.
048d0d36 10846 (1_fld, 1_fldp, 1_ld, 1b_fld, 1b_fldp, 1b_ld): Add a condition
dec6909b
RH
10847 for speculation.
10848 (1_chk_s, 1b_chk_s): Renamed to 1_chk_s_i, 1b_chk_s_i.
10849 * config/ia64/itanium2.md (2_flda, 2_fldc, 2_fldpc, 2_ldc, 2_chk_s_f,
048d0d36
MK
10850 2_chk_a, 2b_flda, 2b_fldc, 2b_fldpc, 2b_ldc, 2b_chk_s_f, 2b_chk_a):
10851 New resource constraints.
10852 (2_fld, 2_fldp, 2_ld, 2b_fld, 2b_fldp, 2b_ld): Add a condition
dec6909b
RH
10853 for speculation.
10854 (2_chk_s, 2b_chk_s): Renamed to 2_chk_s_i, 2b_chk_s_i.
10855 * config/ia64/ia64.opt (msched-br-data-spec, msched-ar-data-spec,
10856 msched-control-spec, msched-br-in-data-spec, msched-ar-in-data-spec,
10857 msched-in-control-spec, msched-ldc, msched-control-ldc,
10858 msched-spec-verbose, msched-prefer-non-data-spec-insns,
10859 msched-prefer-non-control-spec-insns,
048d0d36
MK
10860 msched-count-spec-in-critical-path): New flags to tune speculative
10861 scheduling.
10862 * doc/invoke.texi (msched-br-data-spec, msched-ar-data-spec,
dec6909b
RH
10863 msched-control-spec, msched-br-in-data-spec, msched-ar-in-data-spec,
10864 msched-in-control-spec, msched-ldc, msched-control-ldc,
10865 msched-spec-verbose, msched-prefer-non-data-spec-insns,
10866 msched-prefer-non-control-spec-insns,
048d0d36
MK
10867 msched-count-spec-in-critical-path): Document new flags.
10868
496d7bb0
MK
108692006-03-16 Maxim Kuvyrkov <mkuvyrkov@ispras.ru>
10870
dec6909b
RH
10871 * target.h (struct spec_info_def): New opaque declaration.
10872 (struct gcc_target.sched): New fields: adjust_cost_2, h_i_d_extended,
10873 speculate_insn, needs_block_p, gen_check,
10874 first_cycle_multipass_dfa_lookahead_guard_spec, set_sched_flags.
10875 * target-def.h (TARGET_SCHED_ADJUST_COST_2,
10876 TARGET_SCHED_H_I_D_EXTENDED, TARGET_SCHED_SPECULATE_INSN,
10877 TARGET_SCHED_NEEDS_BLOCK_P, TARGET_SCHED_GEN_CHECK,
10878 TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD_SPEC,
10879 TARGET_SCHED_SET_SCHED_FLAGS): New macros to initialize fields in
10880 gcc_target.sched.
10881 (TARGET_SCHED): Use new macros.
10882 * rtl.h (copy_DEPS_LIST_list): New prototype.
10883 * sched-int.h (struct sched_info): Change signature of new_ready field,
496d7bb0 10884 adjust all initializations. New fields: add_remove_insn,
dec6909b 10885 begin_schedule_ready, add_block, advance_target_bb, fix_recovery_cfg,
496d7bb0 10886 region_head_or_leaf_p.
dec6909b
RH
10887 (struct spec_info_def): New structure declaration.
10888 (spec_info_t): New typedef.
10889 (struct haifa_insn_data): New fields: todo_spec, done_spec, check_spec,
10890 recovery_block, orig_pat.
10891 (glat_start, glat_end): New variables declaraions.
10892 (TODO_SPEC, DONE_SPEC, CHECK_SPEC, RECOVERY_BLOCK, ORIG_PAT):
496d7bb0 10893 New access macros.
dec6909b
RH
10894 (enum SCHED_FLAGS): New constants: SCHED_RGN, SCHED_EBB,
10895 DETACH_LIFE_INFO, USE_GLAT.
10896 (enum SPEC_SCHED_FLAGS): New enumeration.
10897 (NOTE_NOTE_BB_P): New macro.
10898 (extend_dependency_caches, xrecalloc, unlink_bb_notes, add_block,
10899 attach_life_info, debug_spec_status, check_reg_live): New functions.
10900 (get_block_head_tail): Change signature to get_ebb_head_tail, adjust
10901 all uses in ddg.c, modulo-sched.c, haifa-sched.c, sched-rgn.c,
10902 sched-ebb.c
496d7bb0 10903 (get_dep_weak, ds_merge): Prototype functions from sched-deps.c .
dec6909b
RH
10904 * ddg.c (get_block_head_tail): Adjust all uses.
10905 * modulo-sched.c (get_block_head_tail): Adjust all uses.
496d7bb0
MK
10906 (sms_sched_info): Initialize new fields.
10907 (contributes_to_priority): Removed.
dec6909b 10908 * haifa-sched.c (params.h): New include.
496d7bb0 10909 (get_block_head_tail): Adjust all uses.
dec6909b
RH
10910 (ISSUE_POINTS): New macro.
10911 (glat_start, glat_end): New global variables.
10912 (spec_info_var, spec_info, added_recovery_block_p, nr_begin_data,
496d7bb0
MK
10913 nr_be_in_data, nr_begin_control, nr_be_in_control, bb_header,
10914 old_last_basic_block, before_recovery, current_sched_info_var,
10915 rgn_n_insns, luid): New static variables.
dec6909b
RH
10916 (insn_cost1): New function. Move logic from insn_cost to here.
10917 (find_insn_reg_weight1): New function. Move logic from
10918 find_insn_reg_weight to here.
10919 (reemit_notes, move_insn, max_issue): Change signature.
10920 (move_insn1): Removed.
10921 (extend_h_i_d, extend_ready, extend_global, extend_all, init_h_i_d,
10922 extend_bb): New static functions to support extension of scheduler's
10923 data structures.
10924 (generate_recovery_code, process_insn_depend_be_in_spec,
10925 begin_speculative_block, add_to_speculative_block,
10926 init_before_recovery, create_recovery_block, create_check_block_twin,
10927 fix_recovery_deps): New static functions to support
10928 generation of recovery code.
10929 (fix_jump_move, find_fallthru_edge, dump_new_block_header,
10930 restore_bb_notes, move_block_after_check, move_succs): New static
10931 functions to support ebb scheduling.
10932 (init_glat, init_glat1, attach_life_info1, free_glat): New static
10933 functions to support handling of register live information.
10934 (associate_line_notes_with_blocks, change_pattern, speculate_insn,
496d7bb0
MK
10935 sched_remove_insn, clear_priorities, calc_priorities, bb_note,
10936 add_jump_dependencies): New static functions.
dec6909b 10937 (check_cfg, has_edge_p, check_sched_flags): New static functions for
496d7bb0
MK
10938 consistancy checking.
10939 (debug_spec_status): New function to call from debugger.
10940 (priority): Added code to handle speculation checks.
10941 (rank_for_schedule): Added code to distinguish speculative instructions.
10942 (schedule_insn): Added code to handle speculation checks.
10943 (unlink_other_notes, rm_line_notes, restore_line_notes, rm_other_notes):
10944 Fixed to handle ebbs.
dec6909b 10945 (move_insn): Added code to handle ebb scheduling.
496d7bb0 10946 (max_issue): Added code to use ISSUE_POINTS of instructions.
dec6909b
RH
10947 (choose_ready): Added code to choose between speculative and
10948 non-speculative instructions.
10949 (schedule_block): Added code to handle ebb scheduling and scheduling of
10950 speculative instructions.
10951 (sched_init): Initialize new variables.
10952 (sched_finish): Free new variables. Print statistics.
10953 (try_ready): Added code to handle speculative instructions.
10954 * lists.c (copy_DEPS_LIST_list): New function.
10955 * sched-deps.c (extend_dependency_caches): New function. Move logic
10956 from create_dependency_caches to here.
496d7bb0 10957 (get_dep_weak, ds_merge): Make global.
dec6909b
RH
10958 * genattr.c (main): Code to output prototype for
10959 dfa_clear_single_insn_cache.
10960 * genautomata.c (DFA_CLEAR_SINGLE_INSN_CACHE_FUNC_NAME): New macros.
10961 (output_dfa_clean_insn_cache_func): Code to output
10962 dfa_clear_single_insn_cache function.
10963 * sched-ebb.c (target_n_insns): Remove. Adjust all users to use
496d7bb0 10964 n_insns.
dec6909b
RH
10965 (can_schedule_ready_p, fix_basic_block_boundaries, add_missing_bbs):
10966 Removed.
10967 (n_insns, dont_calc_deps, ebb_head, ebb_tail, last_bb):
10968 New static variables.
10969 (begin_schedule_ready, add_remove_insn, add_block1, advance_target_bb,
496d7bb0
MK
10970 fix_recovery_cfg, ebb_head_or_leaf_p): Implement hooks from
10971 struct sched_info.
dec6909b 10972 (ebb_sched_info): Initialize new fields.
496d7bb0
MK
10973 (get_block_head_tail): Adjust all uses.
10974 (compute_jump_reg_dependencies): Fixed to use glat_start.
10975 (schedule_ebb): Code to remove unreachable last block.
dec6909b
RH
10976 (schedule_ebbs): Added code to update register live information.
10977 * sched-rgn.c (region_sched_info): Initialize new fields.
496d7bb0
MK
10978 (get_block_head_tail): Adjust all uses.
10979 (last_was_jump): Removed. Adjust users.
dec6909b 10980 (begin_schedule_ready, add_remove_insn, insn_points, extend_regions,
496d7bb0
MK
10981 add_block1, fix_recovery_cfg, advance_target_bb, region_head_or_leaf_p):
10982 Implement new hooks.
dec6909b
RH
10983 (check_dead_notes1): New static function.
10984 (struct region): New fields: dont_calc_deps, has_real_ebb.
10985 (RGN_DONT_CALC_DEPS, RGN_HAS_REAL_EBB): New access macros.
10986 (BB_TO_BLOCK): Fixed to handle EBBs.
10987 (EBB_FIRST_BB, EBB_LAST_BB): New macros.
10988 (ebb_head): New static variable.
10989 (debug_regions, contributes_to_priority): Fixed to handle EBBs.
10990 (find_single_block_regions, find_rgns, find_more_rgns): Initialize
496d7bb0
MK
10991 new fields.
10992 (compute_dom_prob_ps): New assertion.
dec6909b
RH
10993 (check_live_1, update_live_1): Fixed to work with glat_start instead of
10994 global_live_at_start.
496d7bb0
MK
10995 (init_ready_list): New assertions.
10996 (can_schedule_ready_p): Split update code to begin_schedule_ready.
10997 (new_ready): Add support for BEGIN_CONTROL speculation.
dec6909b
RH
10998 (schedule_insns): Fixed code that updates register live information
10999 to handle EBBs.
11000 (schedule_region): Fixed to handle EBBs.
496d7bb0 11001 (init_regions): Use extend_regions and check_dead_notes1.
dec6909b
RH
11002 * params.def (PARAM_MAX_SCHED_INSN_CONFLICT_DELAY,
11003 PARAM_SCHED_SPEC_PROB_CUTOFF): New parameters.
496d7bb0
MK
11004 * doc/tm.texi (TARGET_SCHED_ADJUST_COST_2, TARGET_SCHED_H_I_D_EXTENDED,
11005 TARGET_SCHED_SPECULATE_INSN, TARGET_SCHED_NEEDS_BLOCK_P,
11006 TARGET_SCHED_GEN_CHECK,
11007 TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD_SPEC,
11008 TARGET_SCHED_SET_SCHED_FLAGS): Document.
dec6909b 11009 * doc/invoke.texi (max-sched-insn-conflict-delay,
496d7bb0
MK
11010 sched-spec-prob-cutoff): Document.
11011
63f54b1a
MK
110122006-03-16 Maxim Kuvyrkov <mkuvyrkov@ispras.ru>
11013
dec6909b 11014 * sched-int.h (struct haifa_insn_data): New fields: resolved_deps,
63f54b1a
MK
11015 inter_tick, queue_index.
11016 (struct sched_info): Change signature of init_ready_list field.
11017 Adjust all initializations.
11018 (RESOLVED_DEPS): New access macro.
11019 (ready_add): Remove prototype.
11020 (try_ready): Add prototype.
11021 * sched-rgn.c (init_ready_list): Use try_ready.
11022 (schedule_region): Initialize
11023 current_sched_info->{sched_max_insns_priority, queue_must_finish_empty}.
11024 * sched-ebb.c (new_ready): Remove. Adjust ebb_sched_info.
11025 (init_ready_list): Use try_ready.
11026 (schedule_ebb): Initialize current_sched_info->sched_max_insns_priority.
11027 * lists.c (remove_list_elem): Remove `static'.
11028 (remove_free_INSN_LIST_elem): New function.
11029 * rtl.h (remove_list_elem, remove_free_INSN_LIST_elem): Add prototypes.
11030 * haifa-sched.c (INTER_TICK, QUEUE_INDEX): New macros.
11031 (INVALID_TICK, MIN_TICK, QUEUE_SCHEDULED, QUEUE_NOWHERE, QUEUE_READY):
11032 New constants.
11033 (readyp): New variable.
11034 (queue_remove, ready_remove_insn, fix_inter_tick, fix_tick_ready,
11035 change_queue_index, resolve_dep): New static functions.
11036 (try_ready): New function. Adjust callers in sched-rgn.c and
11037 sched-ebb.c to use it instead of ready_add.
11038 (clock_var): Move at the begining of file.
11039 (rank_for_schedule): Fix typo.
11040 (queue_insn): Add assertion. Handle QUEUE_INDEX.
11041 (ready_lastpos): Enforce assertion.
11042 (ready_add): Make it static. Handle QUEUE_INDEX. Add new argument,
11043 update all callers.
11044 (ready_remove_first, ready_remove): Handle QUEUE_INDEX.
11045 (schedule_insn): Rewrite to use try_ready and resolve_dep.
11046 (queue_to_ready): Use free_INSN_LIST_list.
11047 (early_queue_to_ready): Fix typo.
11048 (schedule_block): Init readyp. Move init_ready_list call after the
11049 initialization of clock_var. Fix error in rejecting insn by
11050 targetm.sched.dfa_new_cycle. Add call to fix_inter_tick. Remove code
11051 that previously corrected INSN_TICKs. Add code for handling
11052 QUEUE_INDEX.
11053 (set_priorities): Fix typo.
11054 (sched_init): Initialize INSN_TICK, INTER_TICK and QUEUE_INDEX.
11055 Clarify comment and code that keeps current_sched_info->next_tail
11056 non-null.
11057
d08eefb9
MK
110582006-03-16 Maxim Kuvyrkov <mkuvyrkov@ispras.ru>
11059
11060 * sched-rgn.c (extend_rgns): New static function.
11061 (find_rgns): Use it.
11062 (gather_region_statistics, print_region_statistics): New static
11063 functions.
11064 * params.def (PARAM_MAX_SCHED_EXTEND_REGIONS_ITERS): New parameter.
dec6909b 11065 * doc/invoke.texi (max-sched-extend-regions-iters): Document.
d08eefb9 11066
ddbd5439 110672006-03-16 Maxim Kuvyrkov <mkuvyrkov@ispras.ru>
dec6909b 11068 Andrey Belevantsev <abel@ispras.ru>
ddbd5439
MK
11069
11070 * ddg.c (build_intra_loop_deps): Adjust add_forward_dependence call.
dec6909b 11071 * lists.c (unused_deps_list): New variable.
4b1c1f6f 11072 (free_list): Add assertions to verify the proper distinguishing
dec6909b
RH
11073 between INSN_LISTs and DEPS_LISTs.
11074 (find_list_elem, remove_list_elem, remove_list_node): New static
ddbd5439 11075 functions.
dec6909b
RH
11076 (alloc_DEPS_LIST, free_DEPS_LIST, free_DEPS_LIST_node,
11077 remove_free_INSN_LIST_elem, remove_free_DEPS_LIST_elem,
11078 remove_free_INSN_LIST_node, remove_free_DEPS_LIST_node): New functions.
11079 (alloc_INSN_LIST): Assert that the list we're working on is indeed
ddbd5439 11080 an INSN_LIST.
dec6909b 11081 (free_INSN_LIST_node): Likewise.
ddbd5439
MK
11082 * modulo-sched.c (current_sched_info): Initialize flags field.
11083 * reg-notes.def: Exchange DEP_ANTI and DEP_OUTPUT.
11084 * rtl.def (DEPS_LIST): Define.
dec6909b
RH
11085 * rtl.h: Declare new functions from lists.c.
11086 * sched-deps.c (spec_dependency_cache): New static variable.
11087 (maybe_add_or_update_back_dep_1, add_back_dep): New static functions.
11088 (add_dependence): Change return type to void. Move the logic to ...
11089 (add_or_update_back_dep_1): ... here. Handle speculative dependencies.
11090 (delete_all_dependences): Add comment about forward_dependency_cache.
ddbd5439 11091 Handle spec_dependency_cache. Handle DEPS_LISTs.
dec6909b
RH
11092 (fixup_sched_groups): Clarify the change of priority of output
11093 and anti dependencies.
11094 (sched_analyze_2): Adjust add_dependence calls to create data
ddbd5439 11095 speculative dependence.
dec6909b 11096 (add_forward_dependence): Renamed to add_forw_dep, change prototype.
ddbd5439 11097 Adjust all callers. Handle DEPS_LISTS.
dec6909b 11098 (compute_forward_dependences): Use add_forw_dep. Sort LOG_LINKs in
ddbd5439 11099 presence of speculation.
dec6909b 11100 (init_dependency_caches, free_dependency_caches):
ddbd5439 11101 Handle spec_dependency_cache.
dec6909b 11102 (adjust_add_sorted_back_dep, adjust_back_add_forw_dep, delete_forw_dep,
ddbd5439
MK
11103 estimate_dep_weak, get_dep_weak, ds_merge, check_dep_status):
11104 New static functions.
dec6909b 11105 (add_or_update_back_dep, add_or_update_back_forw_dep,
ddbd5439
MK
11106 add_back_forw_dep, delete_back_forw_dep): New functions.
11107 * sched-int.h (ds_t, dw_t): New typedefs.
11108 (struct sched_info): Add new field flags.
11109 (struct haifa_insn_data): Add new bitfield has_internal_dep.
11110 Prototype new sched-deps.c functions.
dec6909b 11111 (HAS_INTERNAL_DEP, DEP_STATUS): New access macros.
ddbd5439
MK
11112 (BITS_PER_DEP_STATUS, BITS_PER_DEP_WEAK, DEP_WEAK_MASK, MAX_DEP_WEAK,
11113 MIN_DEP_WEAK, NO_DEP_WEAK, UNCERTAIN_DEP_WEAK, BEGIN_DATA, BE_IN_DATA,
11114 BEGIN_CONTROL, BE_IN_CONTROL, BEGIN_SPEC, DATA_SPEC, CONTROL_SPEC,
11115 SPECULATIVE, BE_IN_SPEC, FIRST_SPEC_TYPE, LAST_SPEC_TYPE,
11116 SPEC_TYPE_SHIFT, DEP_TRUE, DEP_OUTPUT, DEP_ANTI, DEP_TYPES, HARD_DEP):
11117 New constants.
dec6909b 11118 (enum SPEC_TYPES_OFFSETS, enum DEPS_ADJUST_RESULT, enum SCHED_FLAGS):
ddbd5439
MK
11119 New enums.
11120 * sched-rgn.c (current_sched_info): Initialize flags field.
11121 (schedule_insns): Initialize current_sched_info before the sched_init
11122 call.
11123 * sched-ebb.c (current_sched_info): Initialize flags field.
11124 (add_deps_for_risky_insns): Use control_flow_insn_p instead of JUMP_P.
11125 Call add_or_update_back_dep instead of add_dependence.
11126 Create control speculative dependencies.
11127 (schedule_insns): Initialize current_sched_info before the sched_init
11128 call.
11129
3062335c
KK
111302006-03-16 Kaz Kojima <kkojima@gcc.gnu.org>
11131
11132 * config/sh/linux-unwind.h (shmedia_fallback_frame_state): Set
11133 fs->signal_frame.
11134 (sh_fallback_frame_state): Likewise.
11135
747b9f55
GK
111362006-03-15 Geoffrey Keating <geoffk@apple.com>
11137
11138 * config.gcc (*-*-darwin*): Don't build crt2.o for all Darwin ports.
11139 Do switch on default_use_cxa_atexit.
11140 (powerpc*-*-darwin*): Build crt2.o on powerpc.
11141 * config/darwin-crt3.o: New.
11142 * config/darwin.h (LINK_SPEC): If -shared-libgcc, make linker default
11143 to 10.3. Pass '-multiply_defined suppress' if crt3.o is in use.
11144 (STARTFILE_SPEC): Add crt3.o when -shared-libgcc and appropriate
11145 OS version.
11146 * config/rs6000/t-darwin: Move crt2.o building to here.
11147 * config/rs6000/darwin.h (C_COMMON_OVERRIDE_OPTIONS): Update
11148 Mac OS version for using __cxa_get_exception_ptr. Don't test versions
11149 of __cxa_atexit.
11150
79166a87
JBG
111512006-03-15 Jan-Benedict Glaw <jbglaw@lug-owl.de>
11152
11153 * config/vax/vax.c (nonindexed_address_p): Change logical negation
11154 from '! xxx' to '!xxx' for coding-style conformance.
11155 * config/vax/vax.h (PCC_BITFIELD_TYPE_MATTERS): Likewise.
11156 (EXTRA_CONSTRAINT): Likewise.
11157 * config/vax/vax.md (four unnamed insns): Likewise.
4b1c1f6f 11158
34a9f549
PB
111592006-03-15 Paul Brook <paul@codesourcery.com>
11160
11161 * config/arm/arm.c (minipool_pad): New.
5a281edb 11162 (add_minipool_forward_ref): Include pool alignment padding in address
34a9f549
PB
11163 calculation.
11164 (push_minipool_fix): Set minipool_pad.
11165 (minipool_pad): Ditto.
11166
ff9d4590
JBG
111672006-03-15 Jan-Benedict Glaw <jbglaw@lug-owl.de>
11168
11169 * config/vax/vax.c (split_quadword_operands): Use MEM_P()
11170 instead of GET_CODE() == MEM and REG_P() instead of
11171 GET_CODE() == REG.
11172 (print_operand_address): Likewise.
11173 (vax_address_cost): Likewise.
11174 (vax_rtx_costs): Likewise.
11175 (vax_notice_update_cc): Likewise.
11176 (vax_output_int_add): Likewise.
11177 (INDEX_REGISTER_P): Likewise.
11178 (BASE_REGISTER_P): Likewise.
11179 (nonindexed_address_p): Likewise.
11180 (vax_mode_dependent_address_p): Likewise.
11181 * config/vax/vax.h (EXTRA_CONSTRAINT): Likewise.
11182 (PRINT_OPERAND): Likewise.
11183 * config/vax/vax.md (ashlsi3): Likewise.
11184 (ashlsi3): Likewise.
11185 (some more unnamed insns): Likewise.
11186
db490c39
KH
111872006-03-15 Kazu Hirata <kazu@codesourcery.com>
11188
11189 * tree-ssa-dce.c (EXECUTE_IF_CONTROL_DEPENDENT): Make it an
11190 iterator-style macro.
11191 (mark_control_dependent_edges_necessary): Update the use of
11192 EXECUTE_IF_CONTROL_DEPENDENT.
11193
f705a9a0
R
111942006-03-15 J"orn Rennecke <joern.rennecke@st.com>
11195
11196 * config/sh/predicates.md (cache_address_operand): Special.
11197 (ua_address_operand): Likewise.
11198
8b96512f
ZD
111992006-03-15 Zdenek Dvorak <dvorakz@suse.cz>
11200
11201 * haifa-sched.c (unlink_other_notes, reemit_notes): Do not handle
11202 loop notes.
11203 * sched-deps.c (sched_analyze_insn, sched_analyze): Ditto.
11204
c0fa4721
AS
112052006-03-15 Andreas Schwab <schwab@suse.de>
11206
11207 * gensupport.c (identify_predicable_attribute): Don't free p_false
11208 when it is still in use.
11209
cc0f8895
EB
112102006-03-15 Eric Botcazou <ebotcazou@libertysurf.fr>
11211
11212 * config.gcc (default with_cpu setting) <sparc*-*-*>: Do not modify
11213 the default setting here.
11214
1cba0d4e
SB
112152006-03-14 Steven Bosscher <stevenb.gcc@gmail.com>
11216
11217 * tree-pass.h (pass_cfg): Remove.
11218 * alias.c (rest_of_handle_cfg, pass_cfg): Remove.
11219 * passes.c (pass_cfg): Don't run it.
11220
e4881f23
KH
112212006-03-14 Kazu Hirata <kazu@codesourcery.com>
11222
11223 * Makefile.in (reg-stack.o): Don't depend on gt-reg-stack.h.
11224 * reg-stack.c (stack_regs_mentioned_data): Change the type to
11225 VEC(char,heap) *.
11226 (stack_regs_mentioned): Update the uses of
11227 stack_regs_mentioned_data. Don't access the array beyond its
11228 end.
11229 (reg_to_stack): Update the uses of stack_regs_mentioned_data.
11230 Don't include gt-reg-stack.h.
11231
02433683
KH
11232 * config/bfin/bfin.h (UNALIGNED_WORD_ASM_OP): Remove.
11233 * system.h (UNALIGNED_WORD_ASM_OP): Poison.
11234
df6872b7
KH
11235 * combine.c (UWIDE_SHIFT_LEFT_BY_BITS_PER_WORD): Remove.
11236
5b94780f
KH
11237 PR middle-end/26684
11238 * reg-stack.c (stack_regs_mentioned_data): Put it undef #ifdef
11239 STACK_REGS.
11240
e1835ff1
JDA
112412006-03-14 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
11242
11243 * pa/pa32-linux.h (CRT_CALL_STATIC_FUNCTION): Fix typo.
11244
b5564e87
RG
112452006-03-14 Richard Guenther <rguenther@suse.de>
11246
11247 PR tree-optimization/26672
11248 * tree-ssa-propagate.c (set_rhs): Don't walk DEFs if not in
11249 SSA form.
11250
6971d714
RG
112512006-03-14 Richard Guenther <rguenther@suse.de>
11252
11253 PR tree-optimization/26667
11254 * ipa-inline.c (cgraph_check_inline_limits): Walk the correct
11255 node for the callees. Always allow inlining if it will shrink
11256 the function size.
11257
7de80559
RG
112582006-03-14 Richard Guenther <rguenther@suse.de>
11259
11260 PR middle-end/26659
11261 * builtins.c (get_pointer_alignment): Prefer alignment
11262 information from decls over that from types.
11263
0e512a4f
AP
112642006-03-14 Andrew Pinski <pinskia@physics.uc.edu>
11265
11266 PR target/26657
11267 * config/darwin.h (LINK_COMMAND_SPEC): Handle -fopenmp.
11268
716019c0
JM
112692006-03-14 Joseph S. Myers <joseph@codesourcery.com>
11270
11271 * config/rs6000/rs6000.opt (mdlmzb): New option.
11272 (msched-prolog, msched-epilog): Use Var not Mask.
11273 * doc/invoke.texi (-mdlmzb): Document.
11274 * config/rs6000/rs6000.c (TARGET_DEFAULT_TARGET_FLAGS): Remove
11275 MASK_SCHED_PROLOG.
11276 (rs6000_override_options): Enable -mdlmzb for 405 and 440.
11277 * config/rs6000/rs6000.md: Add dlmzb support for 405 and 440.
11278
a14df7da
UP
112792006-03-13 Uttam Pawar <uttamp@us.ibm.com>
11280
11281 PR rtl-optimization/25739
11282 * bt-load.c (augment_live_range): Free tos pointer.
11283
11284 * gensupport.c (identify_predicable_attribute): Free
11285 p_false pointer.
11286 * gcov.c (create_file_names): Free name pointer.
11287
f8318079
RS
112882006-03-13 Roger Sayle <roger@eyesopen.com>
11289
11290 PR middle-end/26557
11291 * stmt.c (emit_case_nodes): Handle the case where the index is a
11292 CONST_INT, where the comparison mode is specified by the index type.
11293
26a851b9
JDA
112942006-03-13 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
11295
11296 * pa/pa32-linux.h (CRT_CALL_STATIC_FUNCTION): Define when CRTSTUFFS_O
11297 is defined.
11298
94c5a841
RS
112992006-03-13 Richard Sandiford <richard@codesourcery.com>
11300
11301 * config/mips/mips.md (*branch_fp): Use %Z2 for the condition.
11302 (*branch_fp_inverted): Likewise.
11303
5b4fc8fb
JJ
113042006-03-13 Jakub Jelinek <jakub@redhat.com>
11305
11306 PR middle-end/25989
11307 * omp-low.c (expand_omp_for_generic): Mark istart0
11308 and iend0 as addressable.
11309
792e526b
JZ
113102006-03-13 Jie Zhang <jie.zhang@analog.com>
11311
11312 * config/bfin/uclinux.h: Define _GNU_SOURCE in CPLUSPLUS_CPP_SPEC.
11313
2bbec6d9
JL
113142006-03-13 Jeff Law <law@redhat.com>
11315
11316 * tree-vrp.c (stmt_interesting_for_vrp): Some statements with
11317 virtual operands are interesting.
11318 (vrp_visit_stmt): Corresponding changes.
11319
a94aa272
BS
113202006-03-13 Bernd Schmidt <bernd.schmidt@analog.com>
11321
11322 * config/bfin/lib1funcs.asm (___umodsi3): Use stack to save contents
11323 of RETS.
4af990cd
BS
11324 * config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS): If
11325 TARGET_ID_SHARED_LIBRARY, define __ID_SHARED_LIB__.
11326 * config/bfin/crti.S: Use it instead of __PIC__.
11327 * config/bfin/crtn.S: Likewise.
a94aa272 11328
96c30d2a
BS
11329 * config/bfin/bfin.md (call_value_symbol, sibcall_value_symbol,
11330 call_symbol, sibcall_symbol): Disallow if TARGET_ID_SHARED_LIBRARY,
11331 not if flag_pic.
11332 Lose 'G' modifier for call operand.
11333 * config/bfin/bfin.c (print_operand) <case SYMBOL_REF>: Don't
11334 recognize 'G' modifier.
11335
3feaea00
EB
113362006-03-13 Eric Botcazou <ebotcazou@adacore.com>
11337
11338 PR middle-end/18859
11339 * gimplify.c (gimplify_switch_expr): Discard empty ranges.
11340 * stmt.c (expand_case): Likewise.
11341
ba946209
ZD
113422006-03-13 Zdenek Dvorak <dvorakz@suse.cz>
11343
11344 PR rtl-optimization/26254
11345 * loop-invariant.c (seq_insns_valid_p): New function.
11346 (move_invariant_reg): Only emit new code if it is valid.
11347
96e82e0a
ZD
113482006-03-13 Zdenek Dvorak <dvorakz@suse.cz>
11349
11350 * cfgrtl.c (last_loop_beg_note, back_edge_of_syntactic_loop_p):
11351 Removed.
11352 (force_nonfallthru_and_redirect): Do not use last_loop_beg_note.
11353 (rtl_split_edge): Do not use back_edge_of_syntactic_loop_p.
11354 (commit_one_edge_insertion): Do not look for loop notes.
11355
50af6384
ZD
113562006-03-13 Zdenek Dvorak <dvorakz@suse.cz>
11357
11358 * jump.c (follow_jumps): Do not check for loop notes. Move check for
11359 flag_test_coverage out of loop.
11360
80838531
ZD
113612006-03-13 Zdenek Dvorak <dvorakz@suse.cz>
11362
11363 * final.c (shorten_branches): Remove outdated comment, and turn
11364 the if branch that guards it to continue.
11365
7490e6c4
ZD
113662006-03-13 Zdenek Dvorak <dvorakz@suse.cz>
11367
11368 * cfgloop.c (flow_loop_dump): Do not dump loop->invalid field.
11369 * cfgloop.h (struct loop): Remove unused fields.
11370
5abcfa7e
KH
113712006-03-13 Kazu Hirata <kazu@codesourcery.com>
11372
11373 * doc/invoke.texi (-fdump-rtl-loop): Remove.
4b1c1f6f 11374 (-dL, -fdump-rtl-loop2): Update the dump file names
5abcfa7e 11375
c6075909
KH
11376 * doc/invoke.texi: Update dump file names.
11377
3d47ea88
SB
113782006-03-12 Steven Bosscher <stevenb.gcc@gmail.com>
11379
11380 * predict.c (estimate_probability): Remove.
11381 * profile.c (rest_of_handle_branch_prob, pass_branch_prob): Remove.
11382 * basic-block.h (estimate_probability): Remove prototype.
11383 * passes.c (finish_optimization_passes): Dump branch prediction or
11384 profiling heuristics to the .profile tree dump.
11385 (init_optimization_passes): Unqueue pass_branch_prob.
11386
11387 * doc/invoke.texi (-fdump-rtl-bp): Remove.
11388
fc6c490e
SB
113892006-03-11 Steven Bosscher <stevenb.gcc@gmail.com>
11390
11391 * rtl.def (LABEL_REF): Remove the field for LABEL_NEXTREF.
11392 * rtl.h (LABEL_NEXTREF): Remove field accessor.
11393
9fb798d7
EB
113942006-03-11 Eric Botcazou <ebotcazou@adacore.com>
11395
11396 * function.h (frame_offset_overflow): Declare.
11397 * function.c (frame_offset_overflow): New function.
11398 (assign_stack_local_1): Call it to detect that the offset overflows.
11399 * cfgexpand.c (alloc_stack_frame_space): Likewise.
11400
6dd3c0a5
SB
114012006-03-11 Steven Bosscher <stevenb.gcc@gmail.com>
11402
11403 * config/sh/sh.c: Include alloc-pool.h.
11404 (label_ref_list_pool): New alloc pool.
11405 (label_ref_list_t): New type for lists of labels.
11406 (struct pool_node): Make wend a label_ref_list_t.
11407 (add_constant): Use the new type, eradicate LABEL_NEXTREF
11408 references.
11409 (dump_table): Likewise.
11410 (sh_reorg): Set up the alloc pool before using add_constant and
11411 dump_table, and destroy it when finishing.
11412
a70ec386
RS
114132006-03-11 Richard Sandiford <richard@codesourcery.com>
11414
11415 * config/mips/mips.c: Remove redundant comment.
11416
21f9ec0c
JM
114172006-03-10 Jason Merrill <jason@redhat.com>
11418
11419 PR c/26004
4b1c1f6f 11420 * gimplify.c (gimplify_modify_expr_rhs): Don't do return slot opt if
21f9ec0c
JM
11421 the target was declared 'register'.
11422
a8597866
AN
114232006-03-10 Adam Nemet <anemet@caviumnetworks.com>
11424
11425 * genpreds.c (write_insn_constraint_len): Change definition of
11426 insn_constraint_len to return size_t to match the declaration.
11427
8e4edce7
DD
114282006-03-10 DJ Delorie <dj@redhat.com>
11429
11430 * config/m32c/m32c.c (m32c_const_ok_for_constraint_p): Bit numbers
11431 start at zero.
11432 (m32c_expand_insv): Fix test for an AND mask.
11433
891c0eee
RG
114342006-03-10 Richard Guenther <rguenther@suse.de>
11435
11436 PR middle-end/26565
11437 * builtins.c (get_pointer_alignment): Handle component
11438 references for field alignment.
11439
8c1aaf26
R
114402006-03-10 J"orn Rennecke <joern.rennecke@st.com>
11441
11442 * config.gcc (sh*-superh-elf, sh*elf (newlib)): Use newlib.h
11443 when building with libgloss.
11444 (sh*elf): Implement --without-fp option.
4b1c1f6f 11445 (sh64-superh-linux*): Don't multilib.
8c1aaf26 11446
7a6164d4
R
114472006-03-10 J"orn Rennecke <joern.rennecke@st.com>
11448
11449 * struct-equiv.c (rtx_equiv_p): Fix POST_MODIFY case.
11450
3e0a08d7
AP
114512006-03-09 Andrew Pinski <pinskia@physics.uc.edu>
11452
11453 * tree-ssa-phiopt.c (tree_ssa_phiopt): Add cfgchanged variable.
11454 Set it when one of the replacement functions returned true.
11455 Return TODO_cleanup_cfg if cfgchanged is true.
11456 (pass_phiopt) <todo_flags_finish>: Remove TODO_cleanup_cfg.
11457
f243cee6
AN
114582006-03-09 Adam Nemet <anemet@caviumnetworks.com>
11459
11460 * combine.c (simplify_shift_const_1): Use gen_lowpart_or_truncate
11461 instead of gen_lowpart.
11462
a8c1d5f8
RS
114632006-03-09 Richard Sandiford <richard@codesourcery.com>
11464
11465 * config/mips/mips-protos.h (mips_output_conditional_branch): Change
11466 interface.
11467 (mips_output_order_conditional_branch): Declare.
11468 * config/mips/mips.h (MIPS_BRANCH): New macro.
11469 * config/mips/mips.c (gen_conditional_branch): Use VOIDmode
11470 for the comparison. Use gen_condjump.
11471 (mips_output_conditional_branch): Rework interface to take the
11472 asm templates for a direct branch and the inverse of a direct branch.
11473 (mips_output_order_conditional_branch): New function.
11474 (mips_builtin_branch_and_move): New function.
11475 (mips_expand_builtin_compare): Use it. Use VOIDmode for the
11476 branch condition. Use gen_single_cc as the condition for
11477 __builtin_mips_upper_* or __builtin_mips_lower_*.
11478 (mips_expand_builtin_bposge): Use mips_builtin_branch_and_move.
11479 Use VOIDmode for the branch condition.
11480 * config/mips/predicates.md (order_operator): New predicate.
11481 * config/mips/mips.md (UNSPEC_SINGLE_CC): New constant.
11482 (branch_fp): Rename to...
11483 (*branch_fp): ...this. Remove mode from comparison operator.
11484 Use new mips_output_conditional_branch interface.
11485 (branch_fp_inverted): Rename to...
11486 (*branch_fp_inverted): ...this and update as for *branch_fp.
11487 (*branch_zero<mode>): Rename to...
11488 (*branch_order<mode>): ...this. Remove mode from comparison operator.
11489 Use mips_output_order_conditional_branch. Only accept ordered
4b1c1f6f 11490 comparisons.
a8c1d5f8
RS
11491 (*branch_zero<mode>_inverted): Rename to...
11492 (*branch_order<mode>_inverted): ...this and update as for
11493 *branch_order<mode>.
11494 (*branch_equality<mode>): Accept zero as the second operand to
11495 the equality operator. Use the new mips_output_conditional_branch
11496 interface.
11497 (*branch_equality<mode>_inverted): Likewise.
11498 (condjump): New expander.
11499 * config/mips/mips-dsp.md (mips_bposge): Remove mode from comparison
11500 operator.
11501 * config/mips/mips-ps-3d.md (bc1any4t, bc1any4f): Likewise.
11502 (bc1any2t, bc1any2f): Likewise.
11503 (single_cc): New expander.
11504 (*branch_upper_lower, *branch_upper_lower_inverted): New patterns.
11505
cbbb5b6d
RS
115062006-03-09 Richard Sandiford <richard@codesourcery.com>
11507
11508 * doc/md.texi: Update documentation of MIPS constraints.
11509 * config/mips/constraints.md: New file.
11510 * config/mips/mips.md: Include it.
11511 * config/mips/mips.c (mips_char_to_class): Delete.
11512 (override_options): Don't initialize mips_char_to_class.
11513 * config/mips/mips.h (mips_char_to_class): Delete.
11514 (REG_CLASS_FROM_LETTER): Delete.
11515 (CONST_OK_FOR_LETTER_P): Delete.
11516 (CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
11517 (EXTRA_CONSTRAINT_Y): Delete.
11518 (EXTRA_CONSTRAINT_STR): Delete.
11519 (CONSTRAINT_LEN): Delete.
11520 (EXTRA_MEMORY_CONSTRAINT): Delete.
11521
1799e5d5
RH
115222006-03-09 Diego Novillo <dnovillo@redhat.com>
11523
11524 * tree-cfg.c (move_block_to_fn): Remove the statements from the
11525 original fn's eh regions.
11526
f8fe0545
EB
115272006-03-09 Eric Botcazou <ebotcazou@adacore.com>
11528
11529 * fold-const.c (build_range_check): Make sure to use a valid type to
11530 apply the "(c>=low) && (c<=high) into (c-low>=0) && (c-low<=high-low)"
11531 transformation.
11532
11533 (range_predecessor): New static function.
11534 (range_successor): Likewise.
11535 (merge_ranges): Use them to compute predecessors and successors of
11536 range bounds.
11537
d56ee62b
RS
115382006-03-09 Roger Sayle <roger@eyesopen.com>
11539
11540 PR middle-end/26561
11541 * fold-const.c (fold_div_compare): When optimizing X/C1 op C2 as
11542 X op C3, consider whether C3 overflows towards +Inf or -Inf.
11543
07127a0a
DD
115442006-03-08 DJ Delorie <dj@redhat.com>
11545
11546 * config/m32c/addsub.md (addqi3): Disparage a0/a1.
11547 (addpsi3): Expand to include memory operands. Remove
11548 reload-specific splits.
11549 * config/m32c/bitops.md (bset_qi, bset_hi, bclr_qi): New.
11550 (andqi3_16, andhi3_16, iorqi3_16, iorhi3_16): New.
11551 (andqi3_24, andhi3_24, iorqi3_24, iorhi3_24): New.
11552 (andqi3, andhi3, iorqi3, iorhi3): Convert to expanders.
11553 (shift1_qi, shift1_hi, insv): New.
11554 * config/m32c/cond.md (cbranchqi4, cbranchhi4): Remove.
11555 (cbranch<mode>4, stzx_16, stzx_24_<mode>, stzx_reversed,
11556 cmp<mode>, b<code>, s<code>, s<code>_24, movqicc, movhicc,
11557 cond_to_int): New.
11558 * config/m32c/m32c-protos.h: Update as needed.
11559 * config/m32c/m32c.c (m32c_reg_class_from_constraint): Don't
11560 default the Rcr, Rcl, Raw, and Ral constraints. Add Ra0 and Ra1.
11561 Fail for unrecognized R* constraints.
11562 (m32c_cannot_change_mode_class): Be more picky about pseudos.
11563 (m32c_const_ok_for_constraint_p): Add Imb, Imw, and I00.
11564 (m32c_extra_constraint_p2): Allow (mem (plus (plus fb int) int)).
11565 Add Sp constraint.
11566 (m32c_init_libfuncs): New.
11567 (m32c_legitimate_address_p): Add debug wrapper.
11568 (m32c_rtx_costs): New.
11569 (m32c_address_cost): New.
11570 (conversions): Add 'B' prefix.
11571 (m32c_print_operand): 'h' and 'H' pick lower and upper halves of
11572 operands, or word regnames for QI operands. 'B' prints bit
11573 position.
11574 (m32c_expand_setmemhi): New.
11575 (m32c_expand_movmemhi): New.
11576 (m32c_expand_movstr): New.
11577 (m32c_expand_cmpstr): New.
11578 (m32c_prepare_shift): Shift counts are limited to 16 bits at a time.
11579 (m32c_expand_neg_mulpsi3): Handle non-ints.
11580 (m32c_cmp_flg_0): New.
11581 (m32c_expand_movcc): New.
11582 (m32c_expand_insv): New.
11583 (m32c_scc_pattern): New.
11584 * config/m32c/m32c.h (reg classes): Add AO_REGS and A1_REGS. Take
11585 a0/a1 out of SIregs.
11586 (STORE_FLAG_VALUE): New.
11587 * config/m32c/m32c.md: Add unspecs for string moves. Define various mode and
11588 code macros.
11589 (no_insn): New.
11590 * config/m32c/mov.md: Make constraints more liberal.
11591 (zero_extendqihi2): Optimize r0/r1 case.
11592 * config/m32c/muldiv.md (mulpsi3): Check for intvals.
11593 * config/m32c/predicates.md (m32c_any_operand): New.
11594 (m32c_nonimmediate_operand): New.
11595 (m32c_hl_operand): New.
11596 (m32c_r3_operand): New.
11597 (ap_operand): New.
11598 (ma_operand): New.
11599 (memsym_operand): New.
11600 (memimmed_operand): New.
11601 (a_qi_operand): New.
11602 (m32c_eqne_operator): New.
11603 (m32c_1bit8_operand): New.
11604 (m32c_1bit16_operand): New.
11605 (m32c_1mask8_operand): New.
11606 (m32c_1mask16_operand): New.
11607 * config/m32c/blkmov.md: New file.
11608 * config/m32c/t-m32c (MD_FILES): Add blkmov.
11609
6677e189
AT
116102006-03-08 Andreas Tobler <a.tobler@schweiz.ch>
11611
8f4fc766
AT
11612 * dwarf2out.c (expand_builtin_dwarf_sp_column): Make dwarf_regnum
11613 unsigned to fix signed/unsigned comparison issue in
11614 DWARF2_FRAME_REG_OUT.
11615 (expand_builtin_init_dwarf_reg_sizes): Make i unsigned to fix signed/
11616 unsigned comparison issue in DWARF2_FRAME_REG_OUT.
11617
6677e189
AT
11618 * tree-ssa-operands.c (finalize_ssa_def_ops): Move the declaration
11619 of ptr into the ENABLE_CHECKING section.
11620
60c9ad46
JL
116212006-03-08 Jeff Law <law@redhat.com>
11622
11623 * tree-vrp.c (infer_value_range): Only count pointer uses
11624 and dereferences if -fdelete-null-pointer-checks is enabled.
11625
11626 * tree-vrp.c (find_assert_locations): Infer value ranges for
11627 single use pointers, but do not create ASSERT_EXPRs for them.
11628 When a non-null range is inferred for a pointer, backwards
11629 propagate that range to other equivalent pointers through the
11630 use-def chain.
11631
dedfa466
PB
116322006-03-08 Paolo Bonzini <bonzini@gnu.org>
11633
11634 PR bootstrap/26500
11635 * Makefile.in (dvi, html, install-info): Invoke the corresponding
11636 language hook targets.
11637 * ada/Make-lang.in, cp/Make-lang.in, objc/Make-lang.in,
11638 objcp/Make-lang.in: Create stub rules for dvi, html, install-info
11639 if language hook targets were missing.
11640
ac574e1b
ZD
116412006-03-07 Zdenek Dvorak <dvorakz@suse.cz>
11642
11643 * tree-ssa-opfinalize.h: Removed.
11644 * Makefile.in (tree-ssa-operands.o): Remove tree-ssa-opfinalize.h
11645 dependency.
11646 * tree-ssa-operands.c: Do not include tree-ssa-opfinalize.h.
11647 (ALLOC_OPTYPE, APPEND_OP_AFTER, MOVE_HEAD_AFTER, MOVE_HEAD_TO_FREELIST,
11648 INITIALIZE_USE, add_def_op, add_use_op, add_vuse_op, add_maydef_op,
11649 add_mustdef_op, finalize_ssa_def_ops, finalize_ssa_use_ops,
11650 finalize_ssa_v_may_def_ops, finalize_ssa_vuse_ops,
11651 finalize_ssa_v_must_def_ops): New.
11652
50d5ff7d
KZ
116532006-03-07 Kenneth Zadeck <zadeck@naturalbridge.com>
11654
11655 * df-scan.c: (df_bb_refs_record): Fix obvious typo with wrong
11656 block as parameter.
11657
fb638355
GK
116582006-03-07 Geoffrey Keating <geoffk@apple.com>
11659
cd554454
GK
11660 * varasm.c (assemble_end_function): Say that 'fnname' is unused.
11661
dbde310d
GK
11662 * config/i386/i386.c (ix86_delegitimize_address): Handle Darwin
11663 addresses with offsets; reorganize.
11664
fb638355
GK
11665 * dwarf2out.c (DWARF2_FRAME_REG_OUT): Move up in file.
11666 (expand_builtin_dwarf_sp_column): Call DWARF2_FRAME_REG_OUT.
11667 (expand_builtin_init_dwarf_reg_sizes): Likewise.
11668
0f047685
DB
116692006-03-08 David Billinghurst <David.Billinghurst@riotinto.com>
11670
11671 PR target/26588
11672 * config/i386/cygwin.h (GOMP_SELF_SPECS): Define.
11673
c18f0c26
BE
116742006-03-08 Ben Elliston <bje@au.ibm.com>
11675
11676 * config/fp-bit.h (CMPtype): Typedef to a word mode integer.
11677
48fa3029
AH
116782006-03-07 Aldy Hernandez <aldyh@redhat.com>
11679
11680 PR gomp/26238
11681 * doc/passes.texi (Tree-SSA passes): Document omp lowering and
11682 expansion.
11683
6f1be8e1
RG
116842006-03-07 Richard Guenther <rguenther@suse.de>
11685
11686 PR tree-optimization/26587
11687 * tree-ssa-structalias.c (handle_ptr_arith): Handle MINUS_EXPR.
11688
6410fb81
RS
116892006-03-07 Richard Sandiford <richard@codesourcery.com>
11690
11691 * varasm.c (assemble_variable): Fix setting of DECL_IN_TEXT_SECTION.
11692
1d3dbd99
RS
116932006-03-07 Richard Sandiford <richard@codesourcery.com>
11694
11695 * hooks.c (hook_bool_mode_rtx_true): New function.
11696 * hooks.h (hook_bool_mode_rtx_true): Declare.
11697 * toplev.c (compile_file): Call output_shared_constant_pool.
11698 * varasm.c (shared_constant_pool): New variable.
11699 (assemble_start_function, assemble_end_function): Remove arguments
11700 from call to output_constant_pool.
11701 (create_constant_pool): New function, split out from...
11702 (init_varasm_status): ...here.
11703 (force_const_mem): Choose between the shared and per-function constant
11704 pools. Set current_function_uses_const_pool when reusing old entries
11705 as well as when creating new ones.
11706 (mark_constant): Ignore data argument.
11707 (mark_constants): Remove pool argument.
11708 (mark_constant_pool): Likewise. Use current_function_uses_const_pool
11709 to decide whether the function uses a constant pool.
11710 (output_constant_pool_contents): New function, split out from...
11711 (output_constant_pool): ...here.
11712 (output_shared_constant_pool): New function.
11713 (init_varasm_once): Initialize shared_constant_pool.
11714 * output.h (output_constant_pool): Delete.
11715 (output_shared_constant_pool): Declare.
11716 * config/s390/s390-protos.h (s390_output_constant_pool): Delete.
11717 * config/i386/i386.c (TARGET_USE_BLOCKS_FOR_CONSTANT_P): Override.
11718
7d14f0fc
NC
117192006-03-06 Nick Clifton <nickc@redhat.com>
11720
11721 * config/m32r/m32r.h (OPTIMIZATION_OPTIONS): Remove reference to
11722 flag_strength_reduce.
11723
d9b9633d
BE
117242006-03-06 Ben Elliston <bje@au.ibm.com>
11725
45b9a4e8
BE
11726 * config.gcc: Add t-dfprules to $tmake_file for i*86-*-linux* and
11727 x86_64-*-linux* configurations.
11728
d9b9633d 11729 * config/dfp-bit.h (CMPtype): Typedef to a word mode integer.
c92f986f 11730 (LIBGCC2_WORDS_BIG_ENDIAN): Define.
d9b9633d 11731
acfc4f0a
KH
117322006-03-05 Kazu Hirata <kazu@codesourcery.com>
11733
11734 * tree-ssa-threadupdate.c (rediscover_loops_after_threading):
11735 Remove.
11736 * basic-block.h: Remove the extern for
11737 rediscover_loops_after_threading.
11738
b00bf166
KH
11739 * cfgloop.c (cancel_loop): Make it static.
11740 * cfgloop.h: Remove the prototype for cancel_loop.
11741
a678e384
KH
11742 * flow.c (recompute_reg_usage): Make it static.
11743 * rtl.h: Remove the prototype for recompute_reg_usage.
11744
0bf8477d
KH
11745 * function.c (use_return_register): Make it static.
11746 * function.h: Remove the prototype.
11747
d42ee77a
KH
117482006-03-05 Kazu Hirata <kazu@codesourcery.com>
11749
11750 * recog.c (volatile_mem_p, validate_change_maybe_volatile):
11751 Remove.
11752 * recog.h: Remove the prototype for
11753 validate_change_maybe_volatile.
11754
dc782dcd
KH
117552006-03-05 Kazu Hirata <kazu@codesourcery.com>
11756
11757 * rtlanal.c (replace_reg): Remove.
11758 * rtl.h: Remove the prototype for replace_reg.
11759
3c491cab
KH
117602006-03-05 Kazu Hirata <kazu@codesourcery.com>
11761
11762 * regclass.c (reg_scan_update): Remove.
11763 (reg_scan_mark_refs): Remove the last argument.
11764 * rtl.h: Remove the prototype for reg_scan_update.
11765
c0220ea4
KH
117662006-03-04 Kazu Hirata <kazu@codesourcery.com>
11767
11768 * builtins.c, c-pragma.h, c-typeck.c, cgraph.c, cgraphunit.c,
11769 combine.c, common.opt, config/dfp-bit.c, config/i386/i386.c,
11770 config/m68k/m68k.c, config/m68k/m68k.md, config/mt/mt.c,
11771 config/mt/mt.h, config/s390/s390.md, df-core.c, df-problems.c,
11772 df-scan.c, df.h, diagnostic.c, expr.c, function.h, gimplify.c,
11773 loop-invariant.c, omp-low.c, opts.c, passes.c,
11774 rtl-factoring.c, rtlanal.c, struct-equiv.c, tree-cfgcleanup.c,
11775 tree-ssa-loop-niter.c, tree-ssa-loop-prefetch.c,
11776 tree-ssa-structalias.c, tree-ssa-threadedge.c,
11777 tree-ssa-threadupdate.c, tree-vect-patterns.c,
11778 tree-vect-transform.c, tree-vectorizer.h, tree-vrp.c,
11779 unwind-dw2.c: Fix comment typos. Follow spelling conventions.
11780
ae3b9f19
KH
117812006-03-04 Kazu Hirata <kazu@codesourcery.com>
11782
11783 * dwarf2out.c (dwarf2out_add_library_unit_info): Remove.
11784 * dwarf2out.h: Remove the prototype for
11785 dwarf2out_add_library_unit_info.
11786
a82db052
KH
117872006-03-04 Kazu Hirata <kazu@codesourcery.com>
11788
11789 * tree.c (add_var_to_bind_expr): Remove.
11790 * tree.h: Remove the prototype for add_var_to_bind_expr.
11791
3c6c67f8
KH
117922006-03-04 Kazu Hirata <kazu@codesourcery.com>
11793
11794 * regclass.c (n_non_fixed_regs): Remove.
11795 (init_reg_sets_1, globalize_reg): Remove all uses of
11796 n_non_fixed_regs.
11797 * hard-reg-set.h: Remove the extern for n_non_fixed_regs.
11798
22ec0cc8
KH
117992006-03-04 Kazu Hirata <kazu@codesourcery.com>
11800
11801 * rtlanal.c (insns_safe_to_move_p): Remove.
11802 * rtl.h: Remove the prototype for insns_safe_to_move_p.
11803
2f8dc5bb
KH
118042006-03-04 Kazu Hirata <kazu@codesourcery.com>
11805
11806 * expmed.c (expand_mult_add): Remove.
11807 * expr.h: Remove the prototype for expand_mult_add.
11808
4469af7a
JJ
118092006-03-04 Jakub Jelinek <jakub@redhat.com>
11810
11811 * unwind-dw2.h (_Unwind_FrameState): Add REG_SAVED_VAL_OFFSET
11812 and REG_SAVED_VAL_EXP constants.
11813 * unwind-dw2.c (struct _Unwind_Context): Add by_value array.
11814 (_Unwind_GetGR, _Unwind_SetGR, _Unwind_GetGRPtr, _Unwind_SetGRPtr):
11815 Handle regs stored by value.
11816 (_Unwind_SetGRValue, _Unwind_GRByValue): New functions.
11817 (execute_cfa_program): Handle DW_CFA_val_offset,
11818 DW_CFA_val_offset_sf and DW_CFA_val_expression.
11819 (uw_update_context_1): Handle REG_SAVED_REG with regs stored by
11820 value specially. Handle REG_SAVED_VAL_OFFSET and REG_SAVED_VAL_EXP.
11821 (uw_install_context_1): Handle target regs stored by value.
11822
efdb3de9
DB
118232006-03-03 Daniel Berlin <dberlin@dberlin.org>
11824
11825 * tree-sra.c (tree_sra): Return todoflags;
11826 (generate_one_element): Set TODO_update_smt_usage if needed.
11827 (pass_sra): Remove TODO_update_smt_usage.
11828 * tree-ssa-forwprop.c (forward_propagate_addr_expr): Add some
11829 parameter.
11830 (tree_ssa_forward_propagate_single_use_vars): Return
11831 TODO_update_smt_usage if we need to update SMT usage.
11832 (pass_forwprop): Remove TODO_update_smt_usage.
4b1c1f6f 11833
65ad7c63
DN
118342006-03-03 Diego Novillo <dnovillo@redhat.com>
11835
11836 * tree-ssa-operands.c: Tidy whitespace. Fix spelling.
11837 (correct_use_link): Remove reference to get_stmt_operands.
11838 (update_stmt_operands): Likewise.
11839 (get_modify_expr_operands): New function factored out of
11840 parse_ssa_operands and get_expr_operands.
11841 Try to create V_MUST_DEFs for LHS by default.
11842 (get_expr_operands) <case MODIFY_EXPR>: Call
11843 get_modify_expr_operands.
11844 <case ARRAY_RANGE_REF>: Handle together with ARRAY_REF.
11845 <case BIT_FIELD_REF>: Clear opf_kill_def from FLAGS.
11846 (parse_ssa_operands) <case MODIFY_EXPR>: Call
11847 get_modify_expr_operands.
11848
417e90ca
KH
118492006-03-03 Kazu Hirata <kazu@codesourcery.com>
11850
11851 * tree-dfa.c (referenced_var_lookup_if_exists): Remove.
11852 * tree-flow.h: Remove the prototype for
11853 referenced_var_lookup_if_exists.
11854
f6d65153
SE
118552006-03-03 Steve Ellcey <sje@cup.hp.com>
11856
11857 PR rtl-optimization/26345
11858 PR target/19061
11859 * config/ia64/predicates.md (basereg_operand): Don't look in subregs.
11860
9a75ede0
RS
118612006-03-03 Roger Sayle <roger@eyesopen.com>
11862
11863 PR tree-optimization/26524
11864 * tree-scalar-evolution.c (interpret_rhs_modify_expr): Use
11865 fold_convert to create a constant of the appropriate type.
11866
3fa9c136
RS
118672006-03-03 Richard Sandiford <richard@codesourcery.com>
11868
11869 * doc/tm.texi: Refer to SYMBOL_REF_HAS_BLOCK_INFO_P instead of
11870 SYMBOL_REF_IN_BLOCK_P.
11871 * doc/rtl.texi: Likewise. Refer to SYMBOL_FLAG_HAS_BLOCK_INFO instead
11872 of SYMBOL_FLAG_IN_BLOCK.
11873 * gengtype.c (adjust_field_rtx_def): Use SYMBOL_REF_HAS_BLOCK_INFO_P
11874 instead of SYMBOL_REF_IN_BLOCK_P.
11875 * explow.c (use_anchored_address): Likewise.
11876 * rtl.c (rtx_size): Likewise.
11877 * varasm.c (create_block_symbol): Set SYMBOL_FLAG_HAS_BLOCK_INFO
11878 instead of SYMBOL_FLAG_IN_BLOCK.
11879 (make_decl_rtl): Use SYMBOL_REF_HAS_BLOCK_INFO_P instead of
11880 SYMBOL_REF_IN_BLOCK_P.
11881 (assemble_variable): Likewise.
11882 (output_constant_def_contents): Likewise.
11883 (output_constant_pool): Likewise.
11884 (default_encode_section_info): Preserve SYMBOL_FLAG_HAS_BLOCK_INFO
11885 instead of SYMBOL_FLAG_IN_BLOCK.
11886 * rtl.h (block_symbol): Refer to SYMBOL_REF_HAS_BLOCK_INFO_P instead of
11887 SYMBOL_REF_IN_BLOCK_P.
11888 (SYMBOL_REF_BLOCK): Likewise.
11889 (SYMBOL_REF_OFFSET): Likewise.
11890 (BLOCK_SYMBOL_CHECK): Use SYMBOL_REF_HAS_BLOCK_INFO_P instead of
11891 SYMBOL_REF_IN_BLOCK_P.
11892 (SYMBOL_FLAG_IN_BLOCK): Replace with...
11893 (SYMBOL_FLAG_HAS_BLOCK_INFO): ...this.
11894 (SYMBOL_REF_IN_BLOCK_P): Replace with...
11895 (SYMBOL_REF_HAS_BLOCK_INFO_P): ...this.
11896
f677599e
JJ
118972006-03-03 Jakub Jelinek <jakub@redhat.com>
11898
11899 * config/arm/unwind-arm.h (_Unwind_GetIPInfo): Fix pasto.
11900
0f2f71b5
RS
119012006-03-02 Roger Sayle <roger@eyesopen.com>
11902
11903 * simplify-rtx.c (simplify_unary_operation): When simplifying
11904 (neg (lt X 0)) into (ashiftrt X C) or (lshiftrt X C), make sure
11905 that we perform the right shift in the appropriate mode, and
11906 then extend or truncate the result to requested mode.
11907
f82783bd
ZD
119082006-03-03 Zdenek Dvorak <dvorakz@suse.cz>
11909
11910 * gengtype.c (main): Handle double_int type.
11911 * tree.h (struct tree_int_cst): Make type of int_cst double_int.
11912 * double-int.c: New file.
11913 * double-int.h: New file.
11914 * system.h: Include doubleint.h.
11915 * Makefile.in (SYSTEM_H): Include double-int.h.
11916 (double-int.o): Add.
11917
778f0e89
JM
119182006-03-03 Joseph S. Myers <joseph@codesourcery.com>
11919
11920 PR bootstrap/26478
11921 * Makefile.in (stmp-int-hdrs): Remove include/unwind.h before
11922 copying over it.
11923
701b8964
ZD
119242006-03-02 Zdenek Dvorak <dvorakz@suse.cz>
11925
0f2f71b5
RS
11926 * tree-vrp.c (remove_range_assertions): Do not update statements
11927 unnecessarily.
701b8964 11928
59994160
ZD
119292006-03-02 Zdenek Dvorak <dvorakz@suse.cz>
11930
11931 * cse.c (rest_of_handle_cse): Do not pass CLEANUP_PRE_LOOP to cfg
11932 cleanup.
11933 * gcse.c (rest_of_handle_gcse): Ditto.
11934 * except.c (gate_handle_eh): Ditto.
11935 * cfgcleanup.c (rest_of_handle_jump2): Ditto.
11936 * basic-block.h (CLEANUP_PRE_LOOP): Remove.
11937
5143b5fc
EC
119382006-03-02 Eric Christopher <echristo@apple.com>
11939
11940 * config/i386/i386.c (machopic_output_stub): Add indirection to
11941 jump.
11942
c6ba18c6
ZD
119432006-03-02 Zdenek Dvorak <dvorakz@suse.cz>
11944
11945 * loop.c: Removed.
11946
4c837a1e
DM
119472006-03-02 David S. Miller <davem@sunset.davemloft.net>
11948
11949 Sun Niagara specific optimizations.
11950 * config.gcc: Recognize niagara as target.
11951 * config/sparc/sparc.h (SPARC_RELAXED_ORDERING): Mention Niagara.
11952 (TARGET_CPU_niagara): Define.
11953 (CPP_CPU64_DEFAULT_SPEC): Define __sparc_v9__ for Niagara.
11954 (ASM_CPU64_DEFAULT_SPEC): Pass -Av9b for Niagara.
11955 (CPP_CPU_SPEC): Handle -mcpu=niagara.
11956 (ASM_CPU_SPEC): Likewise.
11957 (PROCESSOR_NIAGARA): New enum entry.
11958 (REGISTER_MOVE_COST): Handle Niagara.
11959 (BRANCH_COST, PREFETCH_BLOCK, SIMULTANEOUS_PREFETCHES): Likewise.
11960 * config/sparc/sparc.c (niagara_costs): New processor_costs entry.
11961 (sparc_override_options): Recognize "niagara", set appropriate
11962 default MASK_* values for it, and align functions to 32-bytes
11963 by default just like ULTRASPARC/ULTRASPARC3.
11964 (sparc_initialize_trampoline): Handle niagara like ultrasparc.
11965 (sparc64_initialize_trampoline): Likewise.
11966 (sparc_use_sched_lookahead): Use zero for niagara.
11967 (sparc_issue_rate): Use one for niagara.
11968 * config/sparc/niagara.md: New file.
11969 * config/sparc/sparc.md: Include it.
11970 * config/sparc/sol2-bi.h (CPP_CPU64_DEFAULT_SPEC,
11971 ASM_CPU32_DEFAULT_SPEC, ASM_CPU64_DEFAULT_SPEC): Set appropriately
11972 when default cpu is niagara.
11973 (CPP_CPU_SPEC): Handle -mcpu=niagara.
11974 (ASM_CPU_SPEC): Likewise.
11975 * config/sparc/sol2.h (ASM_CPU_DEFAULT_SPEC): Set appropriately
11976 when default cpu is niagara.
11977 (ASM_CPU_SPEC): Handle -mcpu=niagara.
11978 * config/sparc/linux64.h: Handle a default of TARGET_CPU_niagara
11979 just like v9/ultrasparc/ultrasparc3.
11980 * doc/invoke.texi: Add documentation for "niagara" and improve
11981 existing documentation for ultrasparc variants.
5143b5fc 11982
2434ab1d
DN
119832006-03-02 Diego Novillo <dnovillo@redhat.com>
11984
11985 * tree-ssa-operands.c (update_stmt_operands): Update documentation.
11986
434aeebb
RS
119872006-03-02 Richard Sandiford <richard@codesourcery.com>
11988
11989 * doc/tm.texi (TARGET_HAVE_SWITCHABLE_BSS_SECTIONS): Document.
11990 (ASM_OUTPUT_BSS): Describe the two ways of handling global BSS,
11991 and say that only one is needed.
11992 * doc/rtl.texi (SYMBOL_REF_BLOCK): Say that the block can be null.
11993 * target.h (have_switchable_bss_sections): New hook.
11994 * explow.c (use_anchored_address): Check that the symbol is in a block.
11995 * varasm.c (tls_comm_section, comm_section, lcomm_section)
11996 (bss_noswitch_section): New variables.
11997 (get_unnamed_section): Add SECTION_UNNAMED to the flags.
11998 (get_noswitch_section): New function.
11999 (get_block_for_section): Allow SECT to be null.
12000 (unlikely_text_section_p): Use SECTION_STYLE.
12001 (bss_initializer_p): New function.
12002 (get_variable_section): Move earlier in file. Take a new argument,
12003 prefer_noswitch_p. Move bss checks from assemble_variable to here.
12004 Return one of the new *_sections in such cases.
12005 (get_block_for_decl): New function, extracting some logic from
12006 use_blocks_for_decl_p.
12007 (change_symbol_section): Remove in favor of...
12008 (change_symbol_block): ...this new function.
12009 (use_blocks_for_decl_p): Remove checks now performed by
12010 get_block_for_decl.
12011 (make_decl_rtl): Use change_symbol_block and get_block_for_decl.
12012 (ASM_EMIT_LOCAL, ASM_EMIT_BSS, ASM_EMIT_COMMON): Delete in favor of...
12013 (emit_local, emit_bss, emit_common): ...these new functions.
12014 Return true if the alignment was honored.
12015 (emit_tls_common): New function.
12016 (asm_emit_uninitialised): Delete.
12017 (assemble_variable_noswitch): New function, split out from...
12018 (assemble_variable): ...here. Don't make decisions about common
12019 variables here. Globalize all public decls that go into non-common
12020 sections. Check whether SYMBOL_REF_BLOCK is null.
12021 (output_constant_def_contents): Check whether SYMBOL_REF_BLOCK is null.
12022 (output_constant_pool): Likewise.
12023 (init_varasm_once): Initialize the new section variables.
12024 (have_global_bss_p): New function.
12025 (categorize_decl_for_section): Use bss_initializer_p.
12026 (switch_to_section): Use SECTION_STYLE. Abort for SECTION_NOSWITCH.
12027 (place_block_symbol): Assert that the symbol must be in a block.
12028 * target-def.h (TARGET_HAVE_SWITCHABLE_BSS_SECTIONS): New macro.
12029 (TARGET_INITIALIZER): Include it.
12030 * rtl.h (SYMBOL_REF_BLOCK): Document the null alternative.
12031 * output.h (SECTION_STYLE_MASK, SECTION_COMMON): New macros.
12032 (SECTION_MACH_DEP): Bump by two.
12033 (SECTION_UNNAMED, SECTION_NOSWITCH): New macros.
12034 (unnamed_section): Mention SECTION_UNNAMED in comment.
12035 (named_section): Likewise SECTION_NAMED.
12036 (noswitch_section_callback): New type.
12037 (noswitch_section): New structure.
12038 (section): Add a noswitch_section alternative.
12039 (SECTION_STYLE): New macro.
12040 (tls_comm_section, comm_section, lcomm_section): Declare.
12041 (bss_noswitch_section, have_global_bss_p): Declare.
12042 * config/elfos.h (TARGET_HAVE_SWITCHABLE_BSS_SECTIONS): Override.
12043 * config/iq2000/iq2000.c (TARGET_HAVE_SWITCHABLE_BSS_SECTIONS):
12044 Override.
12045 * config/v850/v850.c (TARGET_HAVE_SWITCHABLE_BSS_SECTIONS): Override.
12046 * config/stormy16/stormy16.c (TARGET_HAVE_SWITCHABLE_BSS_SECTIONS):
12047 Override.
12048
c2924966
DB
120492006-03-02 Daniel Berlin <dberlin@dberlin.org>
12050
a1d1988f
MS
12051 * tree-vrp.c (execute_vrp): Return value.
12052 * regrename.c (rest_of_handle_regrename): Ditto.
12053 * tree-into-ssa.c (rewrite_into_ssa): Ditto.
12054 * tree-complex.c (tree_lower_complex): Ditto.
c2924966 12055 (tree_lower_complex_O0): Ditto.
a1d1988f
MS
12056 * tracer.c (rest_of_handle_tracer): Ditto.
12057 * postreload-gcse.c (rest_of_handle_gcse2): Ditto.
12058 * postreload.c (rest_of_handle_postreload): Ditto.
12059 * tree-tailcall.c (execute_tail_recursion): Ditto.
c2924966 12060 (execute_tail_calls): Ditto.
a1d1988f
MS
12061 * tree-ssa-loop-ch.c (copy_loop_headers): Ditto.
12062 * tree.h (init_function_for_compilation): Ditto.
12063 * ipa-cp.c (ipcp_driver): Ditto.
12064 * tree-scalar-evolution.c (scev_const_prop): Ditto.
12065 * tree-scalar-evolution.h (scev_const_prop): Ditto.
12066 * final.c (compute_alignments): Ditto.
c2924966
DB
12067 (rest_of_handle_final): Ditto.
12068 (rest_of_handle_shorten_branches): Ditto.
12069 (rest_of_clean_state): Ditto.
a1d1988f 12070 * omp-low.c (execute_expand_omp): Ditto.
c2924966 12071 (execute_lower_omp): Ditto.
a1d1988f
MS
12072 * tree-ssa-dse.c (tree_ssa_dse): Ditto.
12073 * ipa-reference.c (static_execute): Ditto.
12074 * tree-ssa-uncprop.c (tree_ssa_uncprop): Ditto.
12075 * reorg.c (rest_of_handle_delay_slots): Ditto.
c2924966 12076 (rest_of_handle_machine_reorg): Ditto.
a1d1988f
MS
12077 * cgraphunit.c (rebuild_cgraph_edges): Ditto.
12078 * flow.c (recompute_reg_usage): Ditto.
c2924966
DB
12079 (rest_of_handle_remove_death_notes): Ditto.
12080 (rest_of_handle_life): Ditto.
12081 (rest_of_handle_flow2): Ditto.
a1d1988f
MS
12082 * tree-ssa-copyrename.c (rename_ssa_copies): Ditto.
12083 * tree-ssa-ccp.c (do_ssa_ccp): Ditto.
c2924966
DB
12084 (do_ssa_store_ccp): Ditto.
12085 (execute_fold_all_builtins): Ditto.
a1d1988f
MS
12086 * mode-switching.c (rest_of_handle_mode_switching): Ditto.
12087 * modulo-sched.c (rest_of_handle_sms): Ditto.
12088 * ipa-pure-const.c (static_execute): Ditto.
12089 * cse.c (rest_of_handle_cse): Ditto.
c2924966 12090 (rest_of_handle_cse2): Ditto.
a1d1988f
MS
12091 * web.c (rest_of_handle_web): Ditto.
12092 * tree-stdarg.c (execute_optimize_stdarg): Ditto.
12093 * tree-ssa-math-opts.c (execute_cse_reciprocals): Ditto.
12094 * tree-ssa-dom.c (tree_ssa_dominator_optimize): Ditto.
12095 * tree-nrv.c (tree_nrv): Ditto.
c2924966 12096 (execute_return_slot_opt): Ditto.
a1d1988f 12097 * tree-ssa-alias.c (compute_may_aliases): Ditto.
c2924966 12098 (create_structure_vars): Ditto.
a1d1988f 12099 * loop-init.c (rtl_loop_init): Ditto.
c2924966
DB
12100 (rtl_loop_done): Ditto.
12101 (rtl_move_loop_invariants): Ditto.
12102 (rtl_unswitch): Ditto.
12103 (rtl_unroll_and_peel_loops): Ditto.
12104 (rtl_doloop): Ditto.
a1d1988f 12105 * gimple-low.c (lower_function_body): Ditto.
c2924966 12106 (mark_used_blocks): Ditto.
a1d1988f
MS
12107 * tree-ssa-sink.c (execute_sink_code): Ditto.
12108 * ipa-inline.c (cgraph_decide_inlining): Ditto.
c2924966 12109 (cgraph_early_inlining): Ditto.
a1d1988f
MS
12110 * global.c (rest_of_handle_global_alloc): Ditto.
12111 * jump.c (cleanup_barriers): Ditto.
c2924966 12112 (purge_line_number_notes): Ditto.
a1d1988f 12113 * ifcvt.c (rest_of_handle_if_conversion): Ditto.
c2924966 12114 (rest_of_handle_if_after_reload): Ditto.
a1d1988f 12115 * tree-ssa-loop.c (tree_ssa_loop_init): Ditto.
c2924966
DB
12116 (tree_ssa_loop_im): Ditto.
12117 (tree_ssa_loop_unswitch): Ditto.
12118 (tree_vectorize): Ditto.
12119 (tree_linear_transform): Ditto.
12120 (tree_ssa_loop_ivcanon): Ditto.
12121 (tree_ssa_empty_loop): Ditto.
12122 (tree_ssa_loop_bounds): Ditto.
12123 (tree_complete_unroll): Ditto.
12124 (tree_ssa_loop_prefetch): Ditto.
12125 (tree_ssa_loop_ivopts): Ditto.
12126 (tree_ssa_loop_done): Ditto.
a1d1988f
MS
12127 * predict.c (tree_estimate_probability): Ditto.
12128 * recog.c (split_all_insns_noflow): Ditto.
c2924966
DB
12129 (rest_of_handle_peephole2): Ditto.
12130 (rest_of_handle_split_all_insns): Ditto.
a1d1988f
MS
12131 * tree-eh.c (lower_eh_constructs): Ditto.
12132 * regmove.c (rest_of_handle_regmove): Ditto.
c2924966 12133 (rest_of_handle_stack_adjustments): Ditto.
a1d1988f
MS
12134 * local-alloc.c (rest_of_handle_local_alloc): Ditto.
12135 * function.c (instantiate_virtual_regs): Ditto.
c2924966
DB
12136 (init_function_for_compilation): Ditto.
12137 (rest_of_handle_check_leaf_regs): Ditto.
a1d1988f 12138 * gcse.c (rest_of_handle_jump_bypass): Ditto.
c2924966 12139 (rest_of_handle_gcse): Ditto.
a1d1988f
MS
12140 * ipa-type-escape.c (type_escape_execute): Ditto.
12141 * alias.c (rest_of_handle_cfg): Ditto.
12142 * tree-if-conv.c (main_tree_if_conversion): Ditto.
12143 * profile.c (rest_of_handle_branch_prob): Ditto.
12144 * tree-ssa-phiopt.c (tree_ssa_phiopt): Ditto.
12145 * rtl-factoring.c (rest_of_rtl_seqabstr): Ditto.
12146 * bt-load.c (rest_of_handle_branch_target_load_optimize): Ditto
12147 * tree-dfa.c (find_referenced_vars): Ditto.
12148 * except.c (set_nothrow_function_flags): Ditto.
c2924966
DB
12149 (convert_to_eh_region_ranges): Ditto.
12150 (rest_of_handle_eh): Ditto.
a1d1988f 12151 * emit-rtl.c (unshare_all_rtl): Ditto.
c2924966 12152 (remove_unnecessary_notes): Ditto.
a1d1988f 12153 * except.h (set_nothrow_function_flags): Ditto.
c2924966 12154 (convert_to_eh_region_ranges): Ditto.
a1d1988f
MS
12155 * cfgexpand.c (tree_expand_cfg): Ditto.
12156 * tree-cfgcleanup.c (merge_phi_nodes): Ditto.
12157 * tree-ssa-pre.c (do_pre): Ditto.
c2924966 12158 (execute_fre): Ditto.
a1d1988f 12159 * cfgcleanup.c (rest_of_handle_jump): Ditto.
c2924966 12160 (rest_of_handle_jump2): Ditto.
a1d1988f
MS
12161 * tree-sra.c (tree_sra): Ditto.
12162 * tree-mudflap.c (execute_mudflap_function_ops): Ditto.
c2924966 12163 (execute_mudflap_function_decls): Ditto.
a1d1988f 12164 * tree-ssa-copy.c (do_copy_prop): Ditto.
c2924966 12165 (do_store_copy_prop): Ditto.
a1d1988f
MS
12166 * ipa-prop.h (ipcp_driver): Ditto.
12167 * cfglayout.c (insn_locators_initialize): Ditto.
12168 * tree-ssa-forwprop.c
c2924966 12169 (tree_ssa_forward_propagate_single_use_vars): Ditto.
a1d1988f
MS
12170 * cfglayout.h (insn_locators_initialize): Ditto.
12171 * tree-ssa-dce.c (tree_ssa_dce): Ditto.
12172 * tree-ssa.c (execute_early_warn_uninitialized): Ditto.
c2924966 12173 (execute_late_warn_uninitialized): Ditto.
a1d1988f 12174 * rtl.h (cleanup_barriers): Ditto.
c2924966
DB
12175 (split_all_insns_noflow): Ditto.
12176 (purge_line_number_notes): Ditto.
12177 (unshare_all_rtl): Ditto.
12178 (remove_unnecessary_notes): Ditto.
12179 (recompute_reg_usage): Ditto.
12180 (variable_tracking_main): Ditto.
a1d1988f
MS
12181 * integrate.c (emit_initial_value_sets): Ditto.
12182 * integrate.h (emit_initial_value_sets): Ditto.
12183 * tree-optimize.c (execute_free_datastructures): Ditto
c2924966
DB
12184 (execute_free_cfg_annotations): Ditto.
12185 (execute_fixup_cfg): Ditto.
12186 (execute_cleanup_cfg_pre_ipa): Ditto.
12187 (execute_cleanup_cfg_post_optimizing): Ditto.
12188 (execute_init_datastructures): Ditto.
a1d1988f
MS
12189 * tree-object-size.c (compute_object_sizes): Ditto.
12190 * combine.c (rest_of_handle_combine): Ditto.
12191 * tree-outof-ssa.c (rewrite_out_of_ssa): Ditto.
12192 * bb-reorder.c (duplicate_computed_gotos): Ditto.
c2924966
DB
12193 (rest_of_handle_reorder_blocks): Ditto.
12194 (rest_of_handle_partition_blocks): Ditto.
a1d1988f
MS
12195 * var-tracking.c (variable_tracking_main): Ditto.
12196 * tree-profile.c (tree_profiling): Ditto.
12197 * tree-vect-generic.c (expand_vector_operations): Ditto.
12198 * reg-stack.c (rest_of_handle_stack_regs): Ditto.
12199 * sched-rgn.c (rest_of_handle_sched): Ditto.
c2924966 12200 (rest_of_handle_sched2): Ditto.
a1d1988f
MS
12201 * basic-block.h (free_bb_insn): Ditto.
12202 * tree-ssa-structalias.c (ipa_pta_execute): Ditto.
12203 * tree-cfg.c (execute_build_cfg): Ditto.
c2924966
DB
12204 (remove_useless_stmts): Ditto.
12205 (split_critical_edges): Ditto.
12206 (execute_warn_function_return): Ditto.
12207 (execute_warn_function_noreturn): Ditto.
a1d1988f
MS
12208 * tree-ssa-reassoc.c (execute_reassoc): Ditto.
12209 * cfgrtl.c (free_bb_for_insn): Ditto.
12210 * passes.c (execute_one_pass): Run additional
c2924966 12211 todos returned by execute function.
a1d1988f 12212 * tree-pass.h (struct tree_opt_pass): Make execute
c2924966
DB
12213 return a value.
12214
62c577fd
RG
122152006-03-02 Richard Guenther <rguenther@suse.de>
12216
12217 * tree-ssa-alias.c (find_used_portions): Consider taking
12218 the address as making the variable not write-only.
12219
c5dde55b
NC
122202006-03-02 Nick Clifton <nickc@redhat.com>
12221
12222 * config.gcc (default_use_cxa_atexit): Extend the description of
12223 this configure variable. Set its default value to "yes" for
12224 Linux, NetBSD and ELF targets on the assumption that they will
12225 use C libraries with the __cxa_atexit function.
12226
75334508
BE
122272006-03-02 Ben Elliston <bje@au.ibm.com>
12228
12229 * config/rs6000/linux-unwind.h (frob_update_context): Mark `fs'
12230 parameter as unused to suppress a build warning.
12231
16c44183
BE
122322006-03-02 Ben Elliston <bje@au.ibm.com>
12233
12234 * mklibgcc.in: Depend on config/dfp-bit.h in rules that compile
12235 config/dfp-bit.c.
12236
a11dd268
RS
122372006-03-01 Roger Sayle <roger@eyesopen.com>
12238
12239 PR other/26489
12240 * gthr-posix.h (__gthrw2): Define to take three parameters, the
12241 declared name, the weak reference name, and the typeof name.
12242 (__gthrw): Avoid expanding the declared name suffix.
12243 (__gthrw3): New Tru64 specific macro to simplify the OSF/1 decls.
12244
d213accd
JJ
122452006-03-01 Jakub Jelinek <jakub@redhat.com>
12246
12247 * dwarf2.h (DW_TAG_condition, DW_TAG_shared_type): New constants
12248 from DWARF 3.
12249 (DW_AT_description, DW_AT_binary_scale, DW_AT_decimal_scale,
12250 DW_AT_small, DW_AT_decimal_sign, DW_AT_digit_count,
12251 DW_AT_picture_string, DW_AT_mutable, DW_AT_threads_scaled,
12252 DW_AT_explicit, DW_AT_object_pointer, DW_AT_endianity,
12253 DW_AT_elemental, DW_AT_pure, DW_AT_recursive): New.
12254 (DW_OP_form_tls_address, DW_OP_call_frame_cfa, DW_OP_bit_piece): New.
12255 (DW_ATE_packed_decimal, DW_ATE_numeric_string, DW_ATE_edited,
12256 DW_ATE_signed_fixed, DW_ATE_unsigned_fixed): New.
12257 (DW_DS_unsigned, DW_DS_leading_overpunch, DW_DS_trailing_overpunch,
12258 DW_DS_leading_separate, DW_DS_trailing_separate): New.
12259 (DW_END_default, DW_END_big, DW_END_little): New.
12260 (DW_END_lo_user, DW_END_hi_user): Define.
12261 (DW_LNE_lo_user, DW_LNE_hi_user): Define.
12262 (DW_CFA_val_offset, DW_CFA_val_offset_sf, DW_CFA_val_expression): New.
12263 (DW_LANG_PLI, DW_LANG_ObjC, DW_LANG_ObjC_plus_plus, DW_LANG_UPC,
12264 DW_LANG_D): New.
12265
18cd8a03
DN
122662006-03-01 Diego Novillo <dnovillo@redhat.com>
12267
12268 * tree.def (SYMBOL_MEMORY_TAG): Rename from TYPE_MEMORY_TAG.
12269 Update all users.
12270 * tree-pass.h (PROP_smt_usage): Rename from PROP_tmt_usage.
12271 Update all users.
12272 (TODO_update_smt_usage): Rename from TODO_update_tmt_usage.
12273 Update all users.
12274 * tree.h (SMT_USED_ALONE): Rename from TMT_USED_ALONE.
12275 Update all users.
12276 * tree-flow.h (struct var_ann_d): Rename field 'type_mem_tag'
12277 to 'symbol_mem_tag'.
12278 Update all users.
12279 * doc/tree-ssa.texi: Update documentation to reflect TMT->SMT
12280 rename.
12281
8acb1b3d
RS
122822006-03-01 Roger Sayle <roger@eyesopen.com>
12283
12284 * builtins.c (fold_builtin_copysign): Delete unreachable code.
12285
c446d1a7
AP
122862006-03-01 Andrew Pinski <pinskia@physics.uc.edu>
12287
12288 PR target/25761
12289 * config/darwin.h (MACHOPIC_JUST_INDIRECT): Check just
12290 MACHO_DYNAMIC_NO_PIC_P.
12291 (MACHOPIC_PURE): Check flag_pic and not MACHO_DYNAMIC_NO_PIC_P.
12292
ab0ff804
AP
122932006-03-01 Andrew Pinski <pinskia@physics.uc.edu>
12294
12295 PR target/26389
12296 * config/darwin-protos.h (darwin_asm_output_anchor):
12297 Declare.
12298 * config/darwin-sections.def (cstring_section):
12299 Add SECTION_MERGE to the flags.
12300 (literal4_section): Likewise.
12301 (literal8_section): Likewise.
12302 (objc_selector_refs_section): Likewise.
12303 (objc_cls_refs_section): Likewise.
12304 * config/darwin.c (darwin_asm_output_anchor): New
12305 function.
12306 * config/darwin.h (TARGET_ASM_OUTPUT_ANCHOR): Define.
12307
607f460c 123082006-03-01 Daniel Berlin <dberlin@dberlin.org>
18cd8a03 12309
607f460c
DB
12310 Fix PR tree-optimization/26443
12311 * tree-vrp.c (pass_vrp): Add TODO_update_tmt_usage
12312 to todo and PROP_tmt_usage to properties_destroyed.
12313 * tree-ssa-ccp.c (pass_ccp): Ditto.
12314 (pass_store_ccp): Ditto.
12315 * tree-ssa-dom.c (pass_dominator): Ditto.
12316
02075bb2
DN
123172006-03-01 Diego Novillo <dnovillo@redhat.com>
12318
12319 * tree-ssa-operands.c: Cleanup whitespace.
12320 (get_asm_expr_operands): Move before first invocation.
12321 (get_indirect_ref_operands): Likewise.
12322 (get_tmr_operands): Likewise.
12323 (get_call_expr_operands): Likewise.
12324 (append_def): Likewise.
12325 (append_use): Likewise.
12326 (append_v_may_def): Likewise.
12327 (append_v_must_def): Likewise.
12328 (add_call_clobber_ops): Likewise.
12329 (add_call_read_ops): Likewise.
12330 (add_stmt_operand): Likewise.
12331 (add_virtual_operand): Likewise.
12332 (build_ssa_operands): Likewise.
12333
123342006-03-01 Andrew Pinski <pinskia@physics.uc.edu>
1809ff6b
AP
12335
12336 PR middle-end/26022
12337 Revert:
12338 PR middle-end/24437
12339 * tree-ssa-ccp.c (fold_stmt): Move folding of OBJ_TYPE_REF
12340 with a call expr to ...
12341 * fold-const.c (fold_ternary) <case CALL_EXPR>: Here.
12342
6578c101
DN
123432006-03-01 Diego Novillo <dnovillo@redhat.com>
12344
12345 * tree-vrp.c (extract_range_from_assert): Remove special
12346 handling for types with super-types.
12347
0eafb3ec
BE
123482006-03-01 Ben Elliston <bje@au.ibm.com>
12349
ec09c26e
BE
12350 * config.gcc: Add t-dfprules to $tmake_file for powerpc-*-linux*
12351 and powerpc64-*-linux* configurations.
12352 * config/t-dfprules: New file.
12353
0eafb3ec
BE
12354 * mklibgcc.in: Add logic to handle $DFP_ENABLE and $DFP_CFLAGS.
12355 Compile dfp-bit.c from the source directory using -DWIDTH and
12356 $DFP_CFLAGS to control the compilation of that file, rather than
12357 generating width-specific versions in the build directory.
12358 * Makefile.in (libgcc.mk): Pass down DFP_ENABLE and DFP_CFLAGS.
12359 (LIBGCC_DEPS): Replace $(D32PBIT) et al with config/dfp-bit.[hc].
12360
cccb0908
ZW
123612006-02-28 Zack Weinberg <zackw@panix.com>
12362
12363 * doc/md.texi: Avoid use of @headitem so that makeinfo <4.7
12364 continues to work.
12365
31abac07
EC
123662006-02-28 Eric Christopher <echristo@apple.com>
12367
12368 * config/rs6000/darwin.h (ENABLE_STACK_EXECUTE): Define.
12369 Set up IN_LIBGCC definition of TARGET_64BIT.
12370 * config/i386/darwin.h (ENABLE_STACK_EXECUTE): Define.
12371
c457fcec
RS
123722006-02-28 Roger Sayle <roger@eyesopen.com>
12373
12374 PR middle-end/14752
12375 * c-common.c (c_common_truthvalue_conversion) <MINUS_EXPR,
12376 BIT_XOR_EXPR, BIT_AND_EXPR>: Delete. Let fold optimize these
12377 cases via the construction of "expr != 0".
12378
63292ebf
SB
123792006-02-28 Steven Bosscher <stevenb.gcc@gmail.com>
12380
12381 * alias.c (alias_invariant, alias_invariant_size): Remove.
12382 (record_base_value): Remove.
12383 (memrefs_conflict_p): Don't look at alias_invariant.
12384 (end_alias_analysis): Don't free it.
12385 * alias.h (record_base_value): Remove prototype.
12386
d3b72690
PB
123872006-02-28 Paolo Bonzini <bonzini@gnu.org>
12388 Adam Nemet <anemet@caviumnetworks.com>
12389
12390 * rtl.h (truncated_to_mode): Declare it.
12391 (struct rtl_hooks): Add reg_truncated_to_mode hook.
12392 * rtlhooks-def.h (RTL_HOOKS_REG_TRUNCATED_TO_MODE): New macro.
12393 (RTL_HOOKS_INITIALIZER): Include it.
12394 * rtlhooks.c (reg_truncated_to_mode_general): New function.
12395 * combine.c (RTL_HOOKS_REG_TRUNCATED_TO_MODE): Override to
12396 reg_truncated_to_mode.
12397 * rtlanal.c (truncated_to_mode): Define it.
12398 * simplify-rtx.c (simplify_unary_operation_1): Use it.
12399
ea45681a
JL
124002006-02-28 Jeff Law <law@redhat.com>
12401
e5c7f9f5
JL
12402 * tree-chrec.c (chrec_convert_aggressive): Do not eliminate
12403 conversions where TYPE_MIN_VALUE/TYPE_MAX_VALUE do not cover
12404 the range allowed by TYPE_PRECISION.
12405
ea45681a
JL
12406 * tree.h (strct phi_arg_d): Remove unused NONZERO field.
12407
7ffe0f0d
DN
124082006-02-28 Dorit Nuzman <dorit@il.ibm.com>
12409
12410 PR tree-optimization/26419
12411 * doc/invoke.texi (ftree-vectorizer-verbose): Add information on
12412 values of n.
12413
3fa1b0e5
ZW
124142006-02-27 Zack Weinberg <zackw@panix.com>
12415
12416 * doc/md.texi: Fix typo in previous change.
12417
75743f02
KZ
124182006-02-27 Kenneth Zadeck <zadeck@naturalbridge.com>
12419
12420 * df.c: Remove.
12421
f38840db
ZW
124222006-02-27 Zack Weinberg <zackw@panix.com>
12423
12424 * rtl.def (define_constraint, define_register_constraint)
12425 (define_memory_constraint, define_address_constraint): New MD forms.
12426 * gensupport.c (process_rtx): Put define_constraint etc on the
12427 predicate queue.
12428 * genpreds.c (process_define_predicate): Adjust comment. Validate
12429 the name, and call validate_exp to validate the expression.
12430 (mark_mode_tests, write_extract_subexp): Can assume correct input.
12431 (write_predicate_expr): Likewise. NAME argument no longer necessary;
12432 all callers changed.
12433 (validate_exp, needs_variable, struct constraint_data)
12434 (constraints_by_letter_table, first_constraint, last_constraint_ptr)
12435 (FOR_ALL_CONSTRAINTS, generic_constraint_letters, const_int_constraints)
12436 (const_dbl_constraints, constraint_max_namelen)
12437 (have_register_constraints, have_memory_constraints)
12438 (have_address_constraints, have_address_constraints)
12439 (have_extra_constraints, have_const_int_constraints)
12440 (have_const_dbl_constraints, mangle, add_constraint)
12441 (process_define_constraint, process_define_register_constraint)
12442 (write_enum_constraint_num, write_lookup_constraint)
12443 (write_insn_constraint_len, write_regclass_for_constraint)
12444 (write_constraint_satisfied_p, write_insn_const_int_ok_for_constraint)
12445 (write_insn_extra_memory_constraint)
12446 (write_insn_extra_address_constraint)
12447 (write_satisfies_constraint_fns): New.
12448 (write_tm_preds_h): If we have new-style constraint definitions,
12449 prototype the functions generated from them, and define the
12450 old constraint interface (still used by generic code) in terms of
12451 those functions.
12452 (write_insn_preds_c): If we have new-style constraint definitions,
12453 generate all relevant functions from those definitions.
12454 (main): Handle define_constraint etc.
12455 * genoutput.c (struct constraint_data, indep_constraints)
12456 (mdep_constraint_letters, constraints_by_letter_table, note_constraint)
12457 (mdep_constraint_len): New data structures and functions, defined
12458 #ifdef USE_MD_CONSTRAINTS.
12459 (check_constraint_len): Don't define #ifdef USE_MD_CONSTRAINTS.
12460 (validate_insn_alternatives): If USE_MD_CONSTRAINTS is defined,
12461 use new logic to validate operand constraints against constraint
12462 definitions.
12463 (main): Process define_constraint etc. if USE_MD_CONSTRAINTS is
12464 defined.
12465 * defaults.h: If none of the old-style constraint macros are
12466 defined, define USE_MD_CONSTRAINTS; do not provide defaults for any
12467 old-style macros; and poison REG_CLASS_FROM_LETTER,
12468 CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P, and
12469 EXTRA_CONSTRAINT.
12470 * recog.c (reg_fits_class_p): If cl is NO_REGS, return 0 immediately.
12471 * doc/md.texi: Document new constraint-definition mechanism and the
12472 C interface it provides. Remove references to old mechanism
e753d130 12473 elsewhere in the document.
f38840db
ZW
12474 (Machine Constraints): Use pathnames relative to gcc directory,
12475 i.e. config/ARCH/FILE. Change i386 section to refer to
12476 config/i386/predicates.md; update that section to match docstrings.
12477 * doc/tm.texi: Move all documentation of the old constraint-
12478 definition macros to their own section, clearly mark as obsolete.
12479
12480 * config/i386/predicates.md (R, q, Q, l, a, b, c, d, S, D, A, f, t)
12481 (u, y, x, Y, I, J, K, L, M, N, O, G, C, e, Z): New constraint
12482 definitions.
12483 * config/i386/i386.h (REG_CLASS_FROM_LETTER, CONST_OK_FOR_LETTER_P)
12484 (CONST_DOUBLE_OK_FOR_LETTER_P, EXTRA_CONSTRAINT): Delete.
12485 * config/i386/i386.md (*movdf_nointeger): Remove stray 'H' from
12486 constraint strings.
12487 (splits and peepholes): Use satisfies_constraint_*.
12488 * config/i386/i386.c (memory_address_length)
12489 (ix86_attr_length_immediate_default): Use satisfies_constraint_*.
12490
e3e868f6
DB
124912006-02-27 Daniel Berlin <dberlin@dberlin.org>
12492
12493 * lambda-code.c (can_convert_to_perfect_nest): Allow any type of
12494 scalar operation to be put back into the loop.
12495
754e45a8
JJ
124962006-02-27 Jakub Jelinek <jakub@redhat.com>
12497
12498 PR other/26208
12499 * unwind-dw2.c (struct _Unwind_Context): Add signal_frame field.
12500 (extract_cie_info): Handle S flag in augmentation string.
12501 (execute_cfa_program): If context->signal_frame, execute also
12502 fs->pc == context->ra instructions.
12503 (uw_frame_state_for): If context->signal_frame, don't subtract one
12504 from context->ra to find FDE.
12505 (uw_update_context_1): Set context->signal_frame to
12506 fs->signal_frame.
12507 (_Unwind_GetIPInfo): New function.
12508 * unwind-dw2.h (_Unwind_FrameState): Add signal_frame field.
12509 * unwind-c.c (PERSONALITY_FUNCTION): Use _Unwind_GetIPInfo instead
12510 of _Unwind_GetIP.
12511 * unwind-sjlj.c (_Unwind_GetIPInfo): New function.
12512 * unwind-generic.h (_Unwind_GetIPInfo): New prototype.
12513 * unwind-compat.c (_Unwind_GetIPInfo): New function.
12514 * libgcc-std.ver (_Unwind_GetIPInfo): Export @@GCC_4.2.0.
12515 * config/ia64/unwind-ia64.c (_Unwind_GetIPInfo): New function.
12516 * config/arm/unwind-arm.h (_Unwind_GetIPInfo): Define.
12517 * config/i386/linux-unwind.h (x86_fallback_frame_state,
12518 x86_64_fallback_frame_state): Set fs->signal_frame.
12519 * config/rs6000/linux-unwind.h (ppc_fallback_frame_state): Likewise.
12520 (MD_FROB_UPDATE_CONTEXT): Define unconditionally.
12521 (frob_update_context): Likewise. Workaround missing S flag in
12522 Linux 2.6.12 - 2.6.16 kernel vDSOs.
12523 * config/s390/linux-unwind.h (s390_fallback_frame_state): Likewise.
12524 Remove the psw_addr + 1 hack.
12525
6df11ca1
DB
125262006-02-27 Daniel Berlin <dberlin@dberlin.org>
12527
12528 * tree-ssa-structalias.c (get_constraint_for): Move code to deal
12529 with aggregates here.
12530 (find_func_aliases): Remove code for &<aggregate> from here.
12531
5881ad5d
RS
125322006-02-26 Roger Sayle <roger@eyesopen.com>
12533
e8366202 12534 * fold-const.c (fold_binary) <EQ_EXPR>: Fold (~X & C) eq/ne 0 as
5881ad5d
RS
12535 (X & C) ne/eq 0, where C is a single bit, i.e. a power of two.
12536 Fold both "((X & C) ^ C) eq/ne 0" and "((X ^ C) & C) eq/ne 0"
12537 as (X & C) ne/eq 0.
12538
53f1b560
RS
125392006-02-26 Roger Sayle <roger@eyesopen.com>
12540
12541 PR middle-end/19983
12542 * real.c (real_nan): Allow both 0x and 0X as hexadecimal prefixes.
12543
efa1cdf0
ZD
125442006-02-26 Zdenek Dvorak <dvorakz@suse.cz>
12545
12546 * opts.c (decode_options): Do not handle flag_strength_reduce.
12547 (common_handle_option): Handle OPT_floop_optimize, OPT_frerun_loop_opt
12548 and OPT_fstrength_reduce.
12549 * tree-ssa-loop.c (tree_ssa_loop_prefetch): Only test
12550 flag_prefetch_loop_arrays for being nonzero.
12551 * common.opt (floop-optimize, frerun-loop-opt): Resurrected as
12552 no-ops.
12553 (fprefetch-loop-arrays-rtl): Removed.
12554 (flag_prefetch_loop_arrays): Do not specify the value.
12555
12556 * doc/passes.texi: Update documentation of loop optimizer
12557 passes.
12558 * doc/invoke.texi (-fstrength-reduce, -fprefetch-loop-arrays-rtl,
12559 -frerun-loop-opt): Remove.
12560
651402f1
RG
125612006-02-26 Richard Guenther <rguenther@suse.de>
12562
12563 PR tree-optimization/26421
12564 * tree-ssa-alias.c (find_used_portions): Don't treat parameters
12565 in function calls that are ADDR_EXPRs as using the whole structure.
12566
37818e7c
SB
125672006-02-26 Steven Bosscher <stevenb.gcc@gmail.com>
12568
12569 * common.opt (-floop-optimize, -frerun-loop-opt): Remove.
12570 * tree-pass.h (pass_loop_optimize): Remove.
12571 * passes.c (pass_loop_optimize): Never run it.
12572 * toplev.c (backend_init): Don't call init_loop.
12573 * opts.c (flag_loop_optimize_set): Remove.
12574 (decode_options): Never set flag_loop_optimize or flag_rerun_loop_opt.
12575 (common_handle_option) <OPT_floop_optimize>: Remove. Don't disable
12576 the old RTL loop optimizer when profiling enabled.
12577 * predict.c (tree_estimate_probability): Always strip builtin_expect.
12578 * cfgcleanup.c (try_forward_edges): Don't avoid killing loop
12579 pre-headers for the sake of the old RTL loop optimizer.
12580 * Makefile.in: Remove all references to loop.o.
12581
12582 * doc/invoke.texi: Remove all references to -floop-optimize
12583 and -frerun-loop-opt.
12584
74fe790b
ZW
125852006-02-26 Zack Weinberg <zackw@panix.com>
12586
12587 * doc/md.texi (Machine Constraints): Refer to all files with paths
12588 relative to gcc directory (i.e. config/CPU/file). Add missing
12589 @table @code ... @end table to M32C subsection.
12590
cef65eaa
RS
125912006-02-26 Roger Sayle <roger@eyesopen.com>
12592
12593 * fold-const.c (fold_binary) <BIT_XOR_EXPR>: Fold (X & 1) ^ 1 as
12594 (X & 1) == 0.
12595 <BIT_AND_EXPR>: Fold (X ^ 1) & 1 and ~X & 1 as (X & 1) == 0.
12596
a861485c
RS
125972006-02-26 Roger Sayle <roger@eyesopen.com>
12598 James A. Morrison <phython@gcc.gnu.org>
12599
12600 PR middle-end/21137
e8366202 12601 * fold-const.c (fold_binary) <EQ_EXPR>: Fold ((X>>C1)&C2) eq/ne 0,
a861485c
RS
12602 when C2 is a power of two, as either (X&(C2<<C1)) eq/ne 0 if the
12603 new constant C2<<C1, or as (X<0) or (X,false) depending upon the
12604 signedness of the shift operation.
12605
afa38a95
DN
126062006-02-26 Dorit Nuzman <dorit@il.ibm.com>
12607
12608 PR tree-optimization/26359
12609 * tree-ssa-alias.c (new_type_alias): Set fields for new tag.
12610
5484a3c3
RS
126112006-02-25 Roger Sayle <roger@eyesopen.com>
12612
e8366202 12613 * simplify-rtx.c (simplify_relational_operation_1): Simplify
5484a3c3
RS
12614 (X^Y) == 0 as X == Y and (X^Y) != 0 as X != Y. Simplify (X^Y) == Y
12615 as X == 0, and some symmetry related transformations.
12616 Simplify (X^C1) == C2 as X == (C1^C2). Split long comment line.
12617
eb8dffe0
RS
126182006-02-25 Roger Sayle <roger@eyesopen.com>
12619
12620 PR middle-end/23673
e8366202 12621 * fold-const.c (fold_binary) <EQ_EXPR>: Fold (X^Y) == 0 as X == Y
eb8dffe0
RS
12622 and (X^Y) != 0 as X != Y. Fold (X^Y) == Y as X == 0, and some
12623 symmetry related transformations. Fold (X^C1) == C2 as
12624 X == (C1^C2).
12625
332cf1b3
JW
126262006-02-25 Juergen Weigert <jw@suse.de>
12627 Richard Guenther <rguenther@suse.de>
12628
12629 * scan-decls.c (scan_decls): Don't fetch new statement after CPP_EOF.
12630
a4876725
AN
126312006-02-24 Adam Nemet <anemet@caviumnetworks.com>
12632
12633 * combine.c (gen_lowpart_or_truncate): Call
12634 simplify_gen_unary(TRUNCATE, ...) instead of gen_rtx_TRUNCATE.
12635
8d669cbd
DN
126362006-02-24 Diego Novillo <dnovillo@redhat.com>
12637
12638 * doc/invoke.texi: Move -fopenmp description to "Options for
12639 Code Generation".
12640 Remove reference to -lgomp.
12641
f44a5ab6
DE
126422006-02-24 David Edelsohn <edelsohn@gnu.org>
12643
12644 * doc/install.texi: Require GNU tar version 1.14.
12645
c7b5e395
GK
126462006-02-24 Geoffrey Keating <geoffk@apple.com>
12647
12648 * doc/tm.texi (Run-time Target): Document C_COMMON_OVERRIDE_OPTIONS.
74fe790b 12649 * doc/invoke.texi (C++ Dialect Options): Document
c7b5e395
GK
12650 -fno-use-cxa-get-exception-ptr.
12651 * configure.ac: Define DEFAULT_USE_CXA_ATEXIT to 2 not 1.
12652 * configure: Regenerate.
12653 * c.opt (fuse-cxa-get-exception-ptr): New.
12654 * c-opts.c (c_common_handle_option): Handle
12655 OPT_fuse_cxa_get_exception_ptr.
12656 * c-common.c (flag_use_cxa_atexit): Update documentation.
12657 (flag_use_cxa_get_exception_ptr): New.
12658 * c-common.h (flag_use_cxa_get_exception_ptr): New.
12659 * config/rs6000/darwin.h (SUBTARGET_OVERRIDE_OPTIONS): Improve
12660 documentation.
12661 (C_COMMON_OVERRIDE_OPTIONS): New.
12662
676cb929
RS
126632006-02-24 Roger Sayle <roger@eyesopen.com>
12664
12665 PR middle-end/24952
12666 * combine.c (try_combine): Explicitly check whether GET_CODE is
12667 a SET or a CLOBBER, instead on checking that it isn't a USE.
12668
e26ec0bb
RS
126692006-02-24 Roger Sayle <roger@eyesopen.com>
12670
12671 * fold-const.c (fold_comparison): New subroutine of fold_binary
12672 containing transformations common to both the equality and
12673 ordering relational operators, factored out of fold_binary.
12674 (fold_binary): Separate out the equality operators (EQ_EXPR
12675 and NE_EXPR) from the ordering operators (LT_EXPR, GT_EXPR,
12676 LE_EXPR and GE_EXPR), calling fold_comparison to perform the
12677 transformations common to both.
74fe790b 12678 (fold_div_compare): Fix latent bugs in the previously unreachable
e26ec0bb
RS
12679 LT_EXPR and GE_EXPR cases.
12680
69ca3549
DE
126812006-02-24 David Edelsohn <edelsohn@gnu.org>
12682
12683 * config/rs6000/rs6000.c (rs6000_init_builtins): Change
12684 decl libname for clog to __clog on AIX.
12685
12686 * config/rs6000/xcoff.h (MAX_OFILE_ALIGNMENT): Define.
12687
8097c268
AM
126882006-02-24 Alan Modra <amodra@bigpond.net.au>
12689
12690 PR target/26453
12691 * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Don't
12692 output traceback table for thunks. Localise rs6000_stack_info call.
12693
efbbbb61
RS
126942006-02-23 Roger Sayle <roger@eyesopen.com>
12695 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
12696
12697 * gthr-posix.h (__gthrw): Fix typo in comment.
12698
126992006-02-23 Geoffrey Keating <geoffk@apple.com>
c1e12409
GK
12700
12701 * doc/cpp.texi (Character sets): Document that we do support
12702 input files to be in any character set.
12703
e260a614
JL
127042006-02-23 Jeff Law <law@redhat.com>
12705
357e7a82
JL
12706 * tree.h (PHI_ARG_NONZERO): Remove.
12707 * tree-phinodes.c (add_phi_arg): No longer initialize PHI_ARG_NONZERO.
12708 (remove_phi_arg_num): No longer copy PHI_ARG_NONZERO from the old
12709 node to the new node.
12710
e260a614
JL
12711 PR tree-optimization/26425
12712 * tree-vrp.c (vrp_visit_assignment): If the LHS's type has a NULL
12713 min/max, then assume its varying.
12714
e755fcf5
ZD
127152006-02-23 Zdenek Dvorak <dvorakz@suse.cz>
12716
12717 PR rtl-optimization/26316
12718 * rtlanal.c (enum may_trap_p_flags): New.
12719 (may_trap_p_1): Take flags instead of unaligned_mems argument. Ignore
12720 MEM_NOTRAP_P if flags & MTP_AFTER_MOVE.
12721 (may_trap_p, may_trap_or_fault_p): Pass flags to may_trap_p_1.
12722 (may_trap_after_code_motion_p): New function.
12723 * loop-invariant.c (find_identical_invariants): Fix dump formating.
12724 (find_invariant_insn): Use may_trap_after_code_motion_p.
12725 * rtl.h (may_trap_after_code_motion_p): Declare.
12726
65acccdd
ZD
127272006-02-23 Zdenek Dvorak <dvorakz@suse.cz>
12728
12729 * emit-rtl.c (immed_double_const): Cleanup.
12730
4b0e7346 127312006-02-23 Daniel Berlin <dberlin@dberlin.org>
74fe790b 12732
4b0e7346 12733 Fix PR tree-optimization/26376
e8366202 12734 * tree-ssa-structalias.c (find_func_aliases): Use get_id_for_tree,
4b0e7346
DB
12735 remove assert.
12736
a5c8d67f
JJ
127372006-02-23 Jakub Jelinek <jakub@redhat.com>
12738
12739 PR middle-end/26412
12740 * gimplify.c (omp_add_variable): Guard variable size decl test with
12741 DECL_SIZE (decl) check.
12742
98b2060a
RG
127432006-02-23 Richard Guenther <rguenther@suse.de>
12744
12745 PR middle-end/26439
12746 * tree-ssa-structalias.c (find_func_aliases): Handle complex types
12747 like aggregate types.
12748
ed965309
JJ
127492006-02-23 Jakub Jelinek <jakub@redhat.com>
12750
12751 * configure.ac: Add --with{,out}-long-double-128 configure option.
12752 (TARGET_DEFAULT_LONG_DOUBLE_128): New test.
12753 * configure: Rebuilt.
12754 * config.in: Rebuilt.
12755 * doc/install.texi (Options specification): Document
12756 --with-long-double-128.
12757
12758 * config/rs6000/linux.h [TARGET_DEFAULT_LONG_DOUBLE_128]
12759 (RS6000_DEFAULT_LONG_DOUBLE_SIZE): Define to 128.
12760 * config/rs6000/linux64.h [TARGET_DEFAULT_LONG_DOUBLE_128]
12761 (RS6000_DEFAULT_LONG_DOUBLE_SIZE): Define to 128.
12762
127632006-02-23 Aldy Hernandez <aldyh@redhat.com>
12764
12765 * config/s390/s390.c (override_options): Handle
12766 TARGET_DEFAULT_LONG_DOUBLE_128.
12767
12768 * config/alpha/alpha.c (override_options): Handle
12769 TARGET_DEFAULT_LONG_DOUBLE_128.
12770
12771 * config/sparc/sparc.c (sparc_override_options): Handle
12772 TARGET_DEFAULT_LONG_DOUBLE_128.
12773
9fb03bd8
DJ
127742006-02-22 Daniel Jacobowitz <dan@codesourcery.com>
12775
12776 * Makefile.in (stmp-fixinc): Use real-$(INSTALL_HEADERS_DIR).
12777 (real-install-headers-tar, real-install-headers-cpio)
12778 (real-install-headers-cp): New targets.
12779
e8dad6f0
RS
127802006-02-22 Richard Sandiford <richard@codesourcery.com>
12781
12782 * tree.h (variable_section): Delete.
12783 * varasm.c (variable_section): Delete.
12784
d7f755c3
PB
127852006-02-22 Paolo Bonzini <bonzini@gnu.org>
12786
12787 * install.texi: Add notes on install.texi2html.
12788 (Building in parallel): Do not use footnotes.
12789
4fe7a8bc
AH
127902006-02-21 Aldy Hernandez <aldyh@redhat.com>
12791
12792 PR libgomp/26234
12793 * doc/install.texi (Configuration): Document --disable-libgomp.
12794
6070e8e5
GK
127952006-02-21 Geoffrey Keating <geoffk@apple.com>
12796
12797 * config/i386/darwin.h (DWARF2_FRAME_REG_OUT): New.
12798
f8770111
AO
127992006-02-21 Alexandre Oliva <aoliva@redhat.com>
12800
12801 * config/i386/sse.md (vec_extractv2df_1_sse): New.
12802 (vec_extractv2df_0_sse): New.
12803
35d177a2
AO
128042006-02-21 Alexandre Oliva <aoliva@redhat.com>
12805
12806 * defaults.h (CFA_FRAME_BASE_OFFSET): Define.
12807 * config/ia64/ia64.h (CFA_FRAME_BASE_OFFSET): Override.
12808 * doc/tm.texi (CFA_FRAME_BASE_OFFSET): Document.
12809 * dwarf2out.c (build_cfa_loc): New offset parameter. Add it
12810 to the result of the expression.
12811 (def_cfa_1): Adjust.
12812 (frame_pointer_cfa_offset): Rename to...
12813 (frame_pointer_fb_offset): ... this. Adjust all uses.
12814 (convert_cfa_to_loc_list): Rename to...
12815 (convert_cfa_to_fb_loc_list): ... this. New offset parameter.
12816 Pass it on to build_cfa_loc.
12817 (compute_frame_pointer_to_cfa_displacement): Rename to...
12818 (compute_frame_pointer_to_fb_displacement): ... this. New
12819 offset parameter. Use it in computation.
12820 (gen_subprogram_die): Compute cfa_fb_offset with the new
12821 macro, and use it to compute the fb loc list and the
12822 displacement.
12823
4729dc92
BS
128242006-02-21 Bernd Schmidt <bernd.schmidt@analog.com>
12825
12826 * config/bfin/predicates.md (cc_operand): Delete predicate. All uses
12827 replaced with register_operand.
12828 * config/bfin/bfin.c (bfin_register_move_cost): Moving CC to any
12829 non-DREG is expensive.
12830 * config/bfin/bfin.h (FIXED_REGISTERS): CC isn't fixed.
12831 * config/bfin/bfin.md (movbi): Fix constraints and template for moves
12832 involving memory.
12833
520bc8a2
JM
128342006-02-21 Joseph S. Myers <joseph@codesourcery.com>
12835
12836 * doc/install.texi2html: Use set -e.
12837
f5e605e5
RS
128382006-02-21 Richard Sandiford <richard@codesourcery.com>
12839
12840 * doc/tm.texi (ASM_OUTPUT_SHARED_COMMON, ASM_OUTPUT_SHARED_BSS)
12841 (ASM_OUTPUT_SHARED_LOCAL): Delete.
12842 * doc/invoke.texi (-fshared-data): Delete.
12843 * common.opt (fshared-data): Delete.
12844 * varasm.c (asm_emit_uninitialised): Remove flag_shared_data handling.
12845 (assemble_static_space): Remove #if 0 code.
12846 * system.h (ASM_OUTPUT_SHARED_COMMON, ASM_OUTPUT_SHARED_BSS)
12847 (ASM_OUTPUT_SHARED_LOCAL): Poison.
12848 * config/cris/cris.h: Remove FIXME.
12849
880b9e7b
PB
128502006-02-21 Paolo Bonzini <bonzini@gnu.org>
12851
12852 * doc/sourcebuild.texi (Front End Directory): No more double-colon
12853 hooks.
12854
5a9e432d
JJ
128552006-02-21 Jakub Jelinek <jakub@redhat.com>
12856
12857 PR middle-end/26379
12858 * combine.c (simplify_shift_const_1): Disable nested shifts
12859 optimization for vector shifts.
12860
c1a70a3c
RS
128612006-02-20 Roger Sayle <roger@eyesopen.com>
12862
12863 PR tree-optimization/26361
12864 * tree-vrp.c (extract_range_from_unary_expr): Handle NEGATE_EXPR
12865 of unsigned integer types.
12866
0ff4040e
SP
128672006-02-20 Sebastian Pop <pop@cri.ensmp.fr>
12868
12869 * tree-chrec.c (eq_evolutions_p): New.
12870 * tree-chrec.h (eq_evolutions_p): Declared.
12871 * tree-data-ref.c: Fix formatting.
12872 (datadep_stats, dependence_stats): New.
12873 (gcd): Moved...
12874 (print_direction_vector): New.
12875 (dump_data_dependence_relation): Use print_direction_vector.
12876 (object_analysis, create_data_ref): Handle COMPONENT_REF.
12877 (compute_subscript_distance): Static.
12878 (initialize_data_dependence_relation): Static. Get the number
12879 of loops surrounding the references from the callers, and initialize
12880 DDR_SIZE_VECT to nb_loops. Use both base_addr_differ_p and
12881 base_object_differ_p analyzers.
74fe790b 12882 (analyze_ziv_subscript, analyze_siv_subscript_cst_affine,
0ff4040e
SP
12883 compute_overlap_steps_for_affine_1_2,
12884 analyze_subscript_affine_affine): Count the classified dependences.
12885 Print a message when a test failed.
74fe790b 12886 (can_use_analyze_subscript_affine_affine): New.
0ff4040e
SP
12887 (analyze_siv_subscript): Compute the data dependences on symbolic
12888 scevs that verify can_use_analyze_subscript_affine_affine.
12889 (chrec_steps_divide_constant_p): Returns true, false, or unknown.
12890 (analyze_miv_subscript): Update use of chrec_steps_divide_constant_p.
12891 Handle symbolic scevs.
12892 (analyze_overlapping_iterations): Let symbolic affine scevs to be
12893 analyzed.
12894 (subscript_dependence_tester): Moved...
74fe790b 12895 (build_classic_dist_vector, build_classic_dir_vector): Don't use
0ff4040e
SP
12896 lambda_vector_clear on newly allocated vectors. Get nb_loops from
12897 DDR_SIZE_VECT instead of getting it in parameter.
74fe790b 12898 (subscript_dependence_tester): ... here. Take as a parameter
0ff4040e
SP
12899 loop_nest_depth. Call build_classic_dist_vector and
12900 build_classic_dir_vector.
74fe790b
ZW
12901 (compute_affine_dependence): Update subscript_dependence_tester
12902 parameters. Update datadep_stats counters. Call
0ff4040e 12903 compute_subscript_distance.
74fe790b 12904 (compute_self_dependence): Save the dist and dir vectors. Call
0ff4040e
SP
12905 compute_subscript_distance.
12906 (ddr_p, DEF_VEC_P(ddr_p), DEF_VEC_ALLOC_P(ddr_p,heap)): Moved...
12907 (compute_all_dependences): Reorder parameters as they were before
12908 conversion to VEC. Pass nb_loops and loop_nest_depth. Don't call
74fe790b 12909 compute_subscript_distance. Update the use of
0ff4040e
SP
12910 compute_affine_dependence and initialize_data_dependence_relation.
12911 (find_data_references_in_loop): Handle COMPONENT_REF.
12912 (compute_data_dependences_for_loop): Initialize dependence_stats.
12913 Don't call build_classic_dist_vector and build_classic_dir_vector.
74fe790b 12914 Update the parameters of initialize_data_dependence_relation and
0ff4040e
SP
12915 compute_all_dependences. Print the statistics from datadep_stats.
12916 (analyze_all_data_dependences): Static. Not used until the pass for
12917 checking the data dependences is contributed.
12918 * tree-data-ref.h (ddr_p, DEF_VEC_P(ddr_p),
12919 DEF_VEC_ALLOC_P(ddr_p,heap)): ... here.
74fe790b 12920 (initialize_data_dependence_relation, compute_affine_dependence,
0ff4040e
SP
12921 analyze_all_data_dependences, compute_subscript_distance): Removed.
12922 (print_direction_vector): New.
12923 * lambda.h (gcd): ... here.
12924 (lambda_vector_gcd): Moved here from gcd_vector.
12925 * lambda-code.c (gcd, gcd_vector): Removed.
12926 (lambda_compute_target_space): Use lambda_vector_gcd. Fix formatting.
12927 * Makefile.in (tree-vect-patterns.o): Depends on TREE_DATA_REF_H.
12928
643519b7
DN
129292006-02-20 Diego Novillo <dnovillo@redhat.com>
12930
12931 * ipa-type-escape.c: Tidy some comments and white space.
12932 * tree-ssa-operands.c: Likewise.
12933
406f9d5e
AP
129342006-02-20 Andrew Pinski <pinskia@physics.uc.edu>
12935
12936 PR tree-opt/25879
12937 * tree-pretty-print.c (debug_tree_chain): Walk the chains.
12938 (dump_decl_name): Do not walk the decl tree chains.
12939 * tree-pass.h (TDF_CHAIN): Remove.
12940
12941