]> gcc.gnu.org Git - gcc.git/blame - gcc/ChangeLog
* HACKING: Update instructions for classpath import.
[gcc.git] / gcc / ChangeLog
CommitLineData
9b14a362
RG
12005-09-28 Richard Guenther <rguenther@suse.de>
2
3 PR tree-optimization/23853
4 * tree-vect-analyze.c (vect_compute_data_ref_alignment): Use
5 host_integerp to verify misalignment value.
6
02ee605c
RH
72005-09-28 Richard Henderson <rth@redhat.com>
8
9 * builtins.c (get_builtin_sync_mode): New.
10 (expand_builtin_sync_operation): Pass in mode argument.
11 (expand_builtin_compare_and_swap): Likewise.
12 (expand_builtin_lock_test_and_set): Likewise.
13 (expand_builtin_lock_release): Likewise.
14 (expand_builtin): Update to match.
15
1b0792dd
NC
162005-09-28 Nick Clifton <nickc@redhat.com>
17
7d866c52
NC
18 * config/v850/v850.h (GO_IF_LEGITIMATE_ADDRESS): Tidy up
19 formatting. Add check to PLUS case to ensure that the offset is
20 within an acceptable range.
21
22 * config/v850/v850.md (casesi): Disable the generation of the
23 switch pattern as it is not being handled properly at the moment.
24
1b0792dd
NC
25 * config/v850/lib1funcs.asm (___ucmpdi2): Correct jump instruction
26 for when the high words are identical.
27
241de8a0
RH
282005-09-27 Richard Henderson <rth@redhat.com>
29
30 * pretty-print.c (pp_base_format): Fix typo for %>.
31
93954fcc
DP
322005-09-27 Daniel Berlin <dberlin@dberlin.org>
33 Devang Patel <dpatel@apple.com>
34
35 PR tree-optimization/23625
36 * tree-flow-inline.h (bsi_after_labels): Remove, first statement is
37 LABEL_EXPR, assertion check.
38
ca7a5aec
R
392005-09-27 J"orn Rennecke <joern.rennecke@st.com>
40
41 * optabs.c (no_conflict_move_test): Check if a result of a
42 to-be-moved insn would be clobbered by an originally
43 preceding insn.
44
f20731b7
JL
452005-09-27 Jeff Law <law@redhat.com>
46
47 * passes.c (init_optimization_passes): Replace copy propagation
48 passes immediately after DOM with phi-only copy propagation
49 pases. Add phi-only copy propagation pass after first DOM pass.
50 * tree-pass.h (pass_phi_only_copy_prop): Declare.
51 * tree-ssa-copy.c (init_copy_prop): Accept new PHI_ONLY argument.
52 If true, then mark all non-control statements with DONT_SIMULATE_AGAIN.
53 (execute_copy_prop): Accept new PHI_ONLY argument. Pass it along
54 to init_copy_prop. Callers updated.
55 (do_phi_only_copy_prop): New function.
56 (pass_phi_only_copy_prop): New pass descriptor.
57
3542b7cc
NC
582005-09-27 Nick Clifton <nickc@redhat.com>
59
60 * libgcc2.c (__popcount_tab): Remove redundant prototype.
61
4381020e
JM
622005-09-26 Jason Merrill <jason@redhat.com>
63
86ad3aa9
JM
64 PR c++/13764
65 * c-common.c (finish_fname_decls): Use append_to_statement_list_force.
66
4381020e
JM
67 * doc/invoke.texi: Clarify documentation of -fno-enforce-eh-specs.
68
92b4f0af
JW
692005-09-26 James E Wilson <wilson@specifix.com>
70
71 * config/ia64/crtbegin.asm, config/ia64/crtend.asm: Remove glibc
72 copyright. Add gcc copyright plus libgcc exception.
73 * config/ia64/crtfastmath.asm: Remove glibc copyright. Add gcc
74 copyright.
75 * config/ia64/lib1funcs.asm: Add gcc copyright plus libgcc exception.
76
608af77d
JL
772005-09-26 Jeff Law <law@redhat.com>
78
79 * tree-ssa-dom.c (tree_ssa_dominator_optimize): Be more selective
80 about when to iterate.
81
0f086e42
FJ
822005-09-23 Fariborz Jahanian <fjahanian@apple.com>
83
84 PR target/23847
85 * config/rs6000/rs6000.c (rs6000_function_value): Parallel pattern
86 for __complex__ double in -mcpu=G5 mode.
87
c59dabbe
SP
882005-09-26 Sebastian Pop <pop@cri.ensmp.fr>
89
90 PR tree-optimization/23942
91 * Makefile.in (SCEV_H): Depends on PARAMS_H.
92 * tree-scalar-evolution.c: Include params.h.
93 (t_bool): New enum.
94 (follow_ssa_edge, follow_ssa_edge_in_rhs,
95 follow_ssa_edge_in_condition_phi_branch,
96 follow_ssa_edge_in_condition_phi, follow_ssa_edge_inner_loop_phi):
97 Change return type to t_bool. Use a parameter to limit the size of
98 trees that are walked before stopping
99 (analyze_evolution_in_loop): Initialize the limit to 0.
100 (follow_ssa_edge): Give up by returning t_dont_know if the limit
101 exceeds PARAM_SCEV_MAX_EXPR_SIZE.
102
3242fbd8
UB
1032005-09-26 Uros Bizjak <uros@kss-loka.si>
104
105 PR middle-end/23831
106 * simplify-rtx.c (simplify_immed_subreg) [MODE_INT]: Skip
107 simplification if elem_bitsize > 2 * HOST_BITS_PER_WIDE_INT.
108
b166bfd2
FJ
1092005-09-26 Fariborz Jahanian <fjahanian@apple.com>
110
111 * combine.c (make_extraction): Check for valid use of subreg.
112
4d06b0a2
UB
1132005-09-26 Uros Bizjak <uros@kss-loka.si>
114
115 PR target/24055
116 * config/i386/i386.md ("*fistdi2_1"): New pattern.
117 ("*fist<mode>2_1"): Use only HImode and SImode register operands.
118 ("fist<mode>2_with_temp"): Use only register operands.
119
76dd5923
R
1202005-09-26 J"orn Rennecke <joern.rennecke@st.com>
121
122 * rtlanal.c (reg_used_between_p): Don't check for CLOBBERs in
123 CALL_INSN_FUNCTION_USAGE.
124
9727e468
RG
1252005-09-26 Richard Guenther <rguenther@suse.de>
126
127 PR middle-end/15855
128 * gcse.c: Include hashtab.h, define ldst entry hashtable.
129 (pre_ldst_expr_hash, pre_ldst_expr_eq): New functions.
130 (ldst_entry): Use the hashtable instead of list-walking.
131 (find_rtx_in_ldst): Likewise.
132 (free_ldst_entry): Free the hashtable.
133 (compute_ld_motion_mems): Create the hashtable.
134 (trim_ld_motion_mems): Remove entry from hashtable if
135 removing it from list.
136 (compute_store_table): Likewise^2.
137 (store_motion): Free hashtable in case we did not see
138 any stores.
139
3f1dfb41
KH
1402005-09-25 Kazu Hirata <kazu@codesourcery.com>
141
142 * fold-const.c (fold_binary): Use op0 and op1 instead of arg0
143 and arg1 if we are passing them to fold_build2.
144
ad90e28f
DN
1452005-09-25 Dan Nicolaescu <dann@ics.uci.edu>
146
147 PR 23828
148 * config/i386/i386.c (ix86_function_regparm): Fix the test for
149 a nested function.
150
f6326c19
RH
1512005-09-25 Richard Henderson <rth@redhat.com>
152
153 * config/alpha/alpha.c (tls_symbolic_operand_1): Trust
154 SYMBOL_REF_TLS_MODEL to be correct.
155
2eca7d15
RH
1562005-09-24 Richard Henderson <rth@redhat.com>
157
158 * ipa-type-escape.c (discover_unique_type): Remove dead code at
159 end of function. Reindent.
160
1f6f3d15
ILT
1612005-09-24 Ian Lance Taylor <ian@airs.com>
162
163 * convert.c (convert_to_integer): Don't test for ENUMERAL_TYPE in
164 NEGATE_EXPR/BIT_NOT_EXPR case.
165
99db1ef0
RH
1662005-09-24 Richard Henderson <rth@redhat.com>
167
168 * c-common.c (handle_mode_attribute): When not modifying in place,
169 create subtypes for enumerations.
170 (sync_resolve_return): Use TYPE_MAIN_VARIANT.
171 * gimplify.c (create_tmp_from_val): Likewise.
172
e347ff9e
AO
1732005-09-24 Alexandre Oliva <aoliva@redhat.com>
174
175 * config/i386/i386.md (*tls_global_dynamic_64,
176 *tls_local_dynamic_base_64): Add missing mode to call.
177 (tls_global_dynamic_64, tls_local_dynamic_base_64): Likewise.
178
06191a23
JH
1792005-09-24 Jan Hubicka <jh@suse.cz>
180
181 * cgraph.c (cgraph_clone_edge): Make the scale gcov_type.
182 (cgraph_clone_node): Likewise.
183 * cgraph.h (cgraph_clone_edge): Update prototype.
184 (cgraph_mark_inline_edge, cgraph_clone_inlined_nodes): Remove
185 duplicated prototypes; add updating argument.
186 * cgraphunit.c (verify_cgraph_node): Verify that counts are non-negative.
187 * ipa-inline.c (cgraph_clone_inlined_nodes): Allow clonning without
188 updating profile.
189 (cgraph_mark_inline_edge): Likewise.
190 (cgraph_mark_inline): Update use of cgraph_mark_inline_edge.
191 (cgraph_flatten_node): Likewise.
192 (cgraph_decide_recursive_inlining): Likewise.
193 (cgraph_decide_inlining_of_small_function): Likewise.
194 * tree-optimize.c (tree_rest_of_compilation): Likewise.
195
9c6fdb46
DE
1962005-09-23 David Edelsohn <edelsohn@gnu.org>
197 Pete Steinmetz <steinmtz@us.ibm.com>
198
199 * config/rs6000/rs6000.md (neg-minus-mult): Set type to dmul.
200 (rldic.): Set type to "compare".
201 (rldicr.): Same.
202 (movsf_hardfloat): Set type to mtjmpr for MTCTR/MTLR. Set type to
203 mfjmpr for MFCTR/MFLR.
204 (movdf_hardfloat64): Same.
205 (movdf_softfloat64): Same. Correct order of store and move types.
206 (movti_string): Set type to store_ux/load_ux.
207 (load_multiple): Set type to load_ux.
208 (store_multiple): Set type to store_ux.
209 (movmemsi): Set type to store_ux.
210 (output_cbranch direct_return): Set type to jmpreg.
211 (stmw): Set type to store_ux.
212 (lmw): Set type to load_ux.
213 * config/rs6000/40x.md (ppc403-store): Increase latency to 2.
214 * config/rs6000/440.md (ppc440-store): Increase latency to 6.
215 * config/rs6000/603.md (ppc603-store): Occupy LSU for 2 cycles.
216 * config/rs6000/6xx.md (ppc604-store): Increase latency to 3.
217 * config/rs6000/mpc.md (mpccore-store): Increase latency to 2.
218 * config/rs6000/rios1.md (rios1-store): Increase latency to 2.
219 (rios1-fpstore): Increase latency to 3.
220 * config/rs6000/rios2.md (rios2-store): Increase latency to 2.
221 * config/rs6000/rs64.md (rs64a-store): Increase latency to 2.
222
66684b7e
DE
2232005-09-23 David Edelsohn <edelsohn@gnu.org>
224 Andrew Pinski <pinskia@physics.uc.edu>
225
226 * config/rs6000/sync.md (sync_<fetchop_name>si_internal): Change
227 operand2 constraint to "b".
228 (sync_<fetchop_name>di_internal): Same.
229 (sync_old_<fetchop_name>si_internal): Change operand3 constraint
230 to "b".
231 (sync_old_<fetchop_name>di_internal): Same.
232 (sync_new_<fetchop_name>si_internal): Same.
233 (sync_new_<fetchop_name>di_internal): Same.
234
a9305dcb
R
2352005-09-23 J"orn Rennecke <joern.rennecke@st.com>
236
3a1680a5 237 PR middle-end/23991
a9305dcb
R
238 * final.c (insn_default_length, insn_min_length): In !HAVE_ATTR_length
239 case, define as macros.
240
9617ccfd
R
241 PR rtl-optimization/23837
242 * optabs.c (no_conflict_move_test): Don't set must_stay for a
243 clobber / clobber match between dest and p->first.
244
748ebfc7
R
245 * optabs.c (emit_libcall_block): Use no_conflict_move_test.
246 (no_conflict_move_test): Update comments.
247
07a647a3
RM
2482005-09-22 Ranjit Mathew <rmathew@gcc.gnu.org>
249
250 * doc/install.texi: Update URL for Jacks.
251 * doc/sourcebuild.texi: Likewise.
252
fb3249ef
DE
2532005-09-22 David Edelsohn <edelsohn@gnu.org>
254
255 PR target/24007
256 * config/rs6000/rs6000.md (movsf_hardfloat): Ignore special
257 registers when choosing register preferences.
861fd9a0 258 (movdf_hardfloat64): Same.
fb3249ef 259
6231646a
AK
2602005-09-22 Andreas Krebbel <krebbel1@de.ibm.com>
261
262 * expmed.c (expand_shift): Don't use the target of the rotate as
263 target for the first expanded shift insn.
264 * testsuite/gcc.dg/20050922-1.c: Testcase added.
265
7b9d4f70
ZD
2662005-09-21 Zdenek Dvorak <dvorakz@suse.cz>
267
268 PR tree-optimization/22438
269 * tree-ssa-loop-ivopts.c (rewrite_use_nonlinear_expr): Handle all
270 preserved iv rhs rewriting specially.
271
b1347638
DB
2722005-09-21 Daniel Berlin <dberlin@dberlin.org>
273
274 * tree-data-ref.c (analyze_array_indexes): Only estimate when
275 estimate_only is true.
276 * tree-flow.h (ref_contains_indirect_ref): New prototype.
277 * tree-flow-inline.h (ref_contains_indirect_ref): Moved from
278 tree-ssa-structalias.c
279 * tree-ssa-loop-niter.c (infer_loop_bounds_from_undefined): Use
280 ref_contains_indirect_ref.
281 * tree-ssa-structalias.c (ref_contains_indirect_ref): Moved.
282
b1eb8119
DD
2832005-09-21 DJ Delorie <dj@redhat.com>
284
285 * config/mn10300/mn10300.c (TARGET_DEFAULT_TARGET_FLAGS): Add
286 MASK_PTR_A0D0.
287 (mn10300_return_in_memory): Support variable size types also.
288 (mn10300_pass_by_reference): Likewise.
289 (mn10300_function_value): New.
290 * config/mn10300/mn10300.h (FUNCTION_VALUE): Call the above.
291 (FUNCTION_OUTGOING_VALUE): Likewise.
292 * config/mn10300/mn10300.opt: Add -mreturn-pointer-on-d0.
293 * doc/invoke.texi: Document it.
294
d06e6434
UB
2952005-09-21 Uros Bizjak <uros@kss-loka.si>
296
297 PR target/22585
298 * config/i386/i386.c (ix86_prepare_fp_compare_args): Do not
299 force integer op1 into register for XFmode compares.
300
0178027c
KH
3012005-09-21 Kazu Hirata <kazu@codesourcery.com>
302
647c66cd 303 PR middle-end/23971
0178027c
KH
304 * expmed.c (alg_code): Add alg_impossible.
305 (alg_hash_entry): Add cost.
306 (synth_mult): Record alg_impossible in the hash table if
307 multiplication by a given integer is impossble within the
308 limit. Speed up using alg_impossible.
309
d52225be
DB
3102005-09-20 Daniel Berlin <dberlin@dberlin.org>
311
312 * tree-ssa-structalias.c (get_constraint_for_component_ref): Add
313 argument. Allow and set any offset if needs_anyoffset is passed
314 in.
315 (get_constraint_for): Add argument here too.
316 Pass it down.
317 (do_structure_copy): Pass NULL to get_constraint_for.
318 (handle_ptr_arith): Ditto.
319 (find_func_aliases): Ditto.
320
070a7956
R
3212005-09-20 J"orn Rennecke <joern.rennecke@st.com>
322
323 PR rtl-optimization/23898
324 * output.h (get_attr_min_length): Declare.
325 * final.c (get_attr_length_1): New function, broken out of:
326 (get_attr_length).
327 (get_attr_min_length): New function.
328 * bb-reorder.c (copy_bb_p, get_uncond_jump_length): Use it.
329 (duplicate_computed_gotos): Likewise.
330 * genattr.c (insn_min_length): Generate declaration.
331 * genattrtab.c (min_fn, min_attr_value): New functions.
332 (make_length_attrs): Generate insn_min_length.
333
9972f30d
SE
3342005-09-20 Steve Ellcey <sje@cup.hp.com>
335
336 * config/pa/pa.c (output_cbranch): Check for zero in operands[2].
337
29b2d867
RH
3382005-09-20 Richard Henderson <rth@redhat.com>
339
340 * expr.c (expand_expr_real_1) <INDIRECT_REF>: Allow modifier
341 EXPAND_STACK_PARM.
342
af15a2fe
JM
3432005-09-20 Joseph S. Myers <joseph@codesourcery.com>
344
345 * c.opt (fextended-identifiers): New.
346 * c-opts.c (c_common_handle_option): Handle
347 -fextended-identifiers.
348 * doc/cpp.texi: Update documentation of extended identifiers.
349 * doc/cppopts.texi (-fextended-identifiers): Document.
350
18c57f2c
JJ
3512005-09-20 Jakub Jelinek <jakub@redhat.com>
352
6fff2603
JJ
353 PR tree-optimization/23929
354 * tree-ssa-loop-niter.c (expand_simple_operations): Return immediately
355 if expr is NULL.
356
18c57f2c
JJ
357 PR tree-optimization/23818
358 * tree-stdarg.c (execute_optimize_stdarg): Call
359 calculate_dominance_info.
360
1c8cd54d 3612005-09-20 Daniel Berlin <dberlin@dberlin.org>
416f403e
DB
362
363 * tree-data-ref.c (get_number_of_iters_for_loop): New function.
364 (analyze_siv_subscript_cst_affine): Add weak SIV test.
365 (compute_overlap_steps_for_affine_1_2): Use
366 get_number_of_iters_for_loop.
367 (analyze_subscript_affine_affine): Check whether difference is
368 zero first.
369 Use get_number_of_iters_for_loop.
370 Check whether overlap occurs outside of bounds.
371 (analyze_miv_subscript): Use get_number_of_iters_for_loop.
372
39278c14
AK
3732005-09-20 Andreas Krebbel <krebbel1@de.ibm.com>
374
375 * tree-ssa-address.c (create_mem_ref): Put the symbol reference into the
376 base register if possible.
377
2282a0e6
ZD
3782005-09-20 Zdenek Dvorak <dvorakz@suse.cz>
379
380 PR tree-optimization/18463
381 * tree-chrec.c (chrec_convert): Return fold_converted chrec if
382 converting it directly is not possible.
383 (chrec_convert_aggressive): New function.
384 * tree-chrec.h (chrec_convert_aggressive): Declare.
385 * tree-scalar-evolution.c (instantiate_parameters_1, resolve_mixers):
386 Fold chrec conversions aggressively if asked to.
387 (instantiate_parameters): Modified because of changes in
388 instantiate_parameters_1.
389
e20524fa
RH
3902005-09-19 Richard Henderson <rth@redhat.com>
391
392 * config/i386/sse.md (reduc_splus_v4sf): Rename from reduc_plus_v4sf.
393 (reduc_splus_v2df): New.
394
20de58d9
RS
3952005-09-19 Richard Sandiford <richard@codesourcery.com>
396
397 * config/arm/aof.h (REGISTER_NAMES): Add missing backslash.
398 (ADDITIONAL_REGISTER_NAMES): Add missing comma. Remove final comma.
399
2a23f9a7
RH
4002005-09-19 Richard Henderson <rth@redhat.com>
401
402 * config/i386/sse.md (vcondu<SSEMODE124>): Rename from
403 vcondu<SSEMODE12>.
404
e898620c
RH
4052005-09-19 Richard Henderson <rth@redhat.com>
406
407 * config/ia64/ia64.c (ia64_expand_widen_sum): New.
408 (ia64_expand_dot_prod_v8qi): New.
409 * config/ia64/ia64-protos.h: Update.
410 * config/ia64/vect.md (pmpy2_r, pmpy2_l, widen_usumv8qi3,
411 widen_usumv4hi3, widen_ssumv8qi3, widen_ssumv4hi3, udot_prodv8qi,
412 sdot_prodv8qi, sdot_prodv4hi): New.
413 (reduc_splus_v2sf): Rename from reduc_plus_v2sf.
414
d289e37a
RH
4152005-09-19 Richard Henderson <rth@redhat.com>
416
417 PR 23941
418 * real.c (exact_real_truncate): Return false if the format cannot
419 represent the number as a normal.
420
a220ee34
RH
421 * config/alpha/alpha.c (alpha_rtx_costs) <FLOAT_EXTEND>: Cost 0
422 for a memory source.
423
3c7d0735
DN
4242005-09-19 Dorit Nuzman <dorit@il.ibm.com>
425
426 * tree-ssa-operands.c (swap_tree_operands): Export.
427 * tree.h (swap_tree_operands): Declare.
428 * tree-vectorizer.c (vect_is_simple_reduction): Remove ATTRIBUTE_UNUSED.
429 Call swap_tree_operands.
430
99c09897
RH
4312005-09-19 Richard Henderson <rth@redhat.com>
432
433 * tree-flow.h (merge_alias_info): Declare.
434 * tree-ssa-copy.c (merge_alias_info): Export.
435 * tree-vect-transform.c (vect_create_index_for_vector_ref): Remove.
436 (vect_create_data_ref_ptr): Use create_iv directly.
437 (vectorizable_load): Use correct types for integer constants.
438 (vect_generate_tmps_on_preheader): Likewise.
439 (vect_gen_niters_for_prolog_loop): Likewise.
440
31c304ba
SB
4412005-09-19 Steven Bosscher <stevenb@suse.de>
442
443 PR rtl-optimization/23943
444 * cse.c (find_best_addr): Never propagate an EXPR_LIST rtx.
445
e238ccac
JH
4462005-09-18 Jan Hubicka <jh@suse.cz>
447
448 * calls.c (flags_from_decl_or_type): Do not set ECF_LIBCALL_BLOCK.
449
f7952e0a
EB
4502005-09-18 Eric Botcazou <ebotcazou@adacore.com>
451
452 * varasm.c (output_constant): Do not abort on conversions to union
453 types between different sizes.
454
c2953725
RG
4552005-09-18 Richard Guenther <rguenther@suse.de>
456
457 PR middle-end/23944
458 * gimplify.c (fold_indirect_ref_rhs): Fix thinko in
459 fallback.
460
798d7d9d
PB
4612005-09-18 Paul Brook <paul@codesourcery.com>
462
463 * config/m68k/fpgnuib.c (__floatsidf): Don't rely on signed overflow.
464
b1e8be10
RH
4652005-09-17 Richard Henderson <rth@redhat.com>
466
467 * tree-pass.h, tree-flow.h, tree-ssa-dce.c: Revert last change.
468 * tree-ssa-loop.c (pass_vect_dce): Remove.
469 * passes.c (init_optimization_passes): Add pass_dce as a sub-pass
470 of pass_vectorize.
471
8fe07c42
RH
4722005-09-17 Richard Henderson <rth@redhat.com>
473
474 * tree-pass.h (pass_vect_dce): Declare.
475 * passes.c (init_optimization_passes): Add it.
476 * tree-flow.h (tree_ssa_dce): Declare.
477 * tree-ssa-dce.c (tree_ssa_dce): Export.
478 * tree-ssa-loop.c (tree_vectorize): Move current_loops check ...
479 (gate_tree_vectorize): ... here.
480 (pass_vect_dce): New.
481
0856ee98
JH
4822005-09-17 Jan Hubicka <jh@suse.cz>
483
484 * except.c (struct eh_status): Turn region_array into vec.
485 (expand_resx_expr, collect_eh_region_array, remove_unreachable_regions,
486 convert_from_eh_region_ranges, find_exception_handler_labels,
487 current_function_has_exception_handlers, assign_filter_values,
488 build_post_landing_pads, dw2_build_landing_pads,
489 sjlj_find_directly_reachable_regions, sjlj_mark_call_sites,
490 sjlj_emit_dispatch_table, remove_eh_handler, for_each_eh_region,
491 foreach_reachable_handler, can_throw_internal_1,
492 convert_to_eh_region_ranges, verify_eh_tree): Update uses of
493 region_array.
494 (duplicate_eh_region_1): Update region_array.
495 (duplicate_eh_regions): Resize region_array and avoid recomputing.
496
53c4ca47
DE
4972005-09-17 David Edelsohn <edelsohn@gnu.org>
498
499 PR middle-end/22067
500 * expmed.c (expand_mult): Substitute simple register for op0 when
501 computing max_cost.
502
652b0932
RH
5032005-09-17 Richard Henderson <rth@redhat.com>
504
505 * expr.c (emit_move_via_integer): Add force argument, pass it on
506 to emit_move_change_mode. Update callers.
507 (emit_move_complex): Pass true to new force argument.
508 * function.c (expand_function_end): Move expand_eh_return call
509 earlier. Merge sub-word complex values into a pseudo before
510 copying to the return hard register.
511
69fcfd68
EB
5122005-09-17 Eric Botcazou <ebotcazou@adacore.com>
513
514 * varasm.c (output_constant): Do not abort on VIEW_CONVERT_EXPRs
515 between different sizes.
516
6a4e4778
PB
5172005-09-16 Paolo Bonzini <bonzini@gnu.org>
518
519 PR 23903
520
521 * passes.c (init_optimization_passes): Register dump files for
522 IPA passes first.
523
bcf8c1cc
AK
5242005-09-16 Andreas Krebbel <krebbel1@de.ibm.com>
525
526 * config/s390/s390-protos.h (s390_overlap_p): Prototype added.
527 * config/s390/s390.c (s390_overlap_p): New function.
528 * config/s390/s390.md ("*mvc" peephole2, "*nc" peephole2, "*oc"
529 peephole2, "*xc" peephole2): Added overlap check to the peephole2
530 condition.
531
f7acf1c2
RG
5322005-09-16 Richard Guenther <rguenther@suse.de>
533
534 * ipa-pure-const.c (static_execute): Free auxiliar information.
535 * ipa-type-escape.c (discover_unique_type): Free temporary key.
536 * tree-vrp.c (remove_range_assertions): Free blocks_visited sbitmap.
537
f5ea2dca
DD
5382005-09-15 DJ Delorie <dj@redhat.com>
539
540 * config/m32c/m32c-lib1.S (__m32c_eh_return): Fix typo.
541
9026e8d4
PB
5422005-09-15 Paolo Bonzini <bonzini@gnu.org>
543
544 * optabs.c (expand_binop): Use swap_commutative_operands_with_target
545 to order operands.
546 (swap_commutative_operands_with_target): New.
547
14b33c04
DB
5482005-09-15 Daniel Berlin <dberlin@dberlin.org>
549
550 * tree-data-ref.c (analyze_array_indexes): Add estimate_only
551 parameter.
552 Update callers.
553 (estimate_iters_using_array): New function.
554 * tree-data-ref.h (estimate_iters_using_array): Prototype
555 * tree-ssa-loop-niter.c (infer_loop_bounds_from_undefined):
556 Use estimate_iters_using_array instead of analyze_array.
557
d430cbe7
EB
5582005-09-15 Eric Botcazou <ebotcazou@adacore.com>
559
560 * tree-nested.c (get_frame_type): Mark the "non-local frame structure"
561 as addressable.
562
fca59ed2
MM
5632005-09-15 Michael Matz <matz@suse.de>
564
565 * tree-vrp.c (vrp_int_const_binop <MINUS_EXPR>): Handle 0 - -INF.
566
fd312e90
DB
5672005-09-14 Daniel Berlin <dberlin@dberlin.org>
568
569 PR tree-optimization/23835
570 * tree-ssa-alias.c (sort_pointers_by_pt_vars): New function.
571 (create_name_tags): Rewrite to be not O(num_ssa_names^2).
572
47b71abb
RH
5732005-09-14 Richard Henderson <rth@redhat.com>
574
575 * config/ia64/vect.md (addv2sf3, subv2sf3): Rewrite as expand.
576 (addv2sf3_1, addv2sf3_2, subv2sf3_1, subv2sf3_2): New.
577
5139c66b
AP
5782005-09-14 Andrew Pinski <pinskia@physics.uc.edu>
579
580 * config/i386/i386.c (contains_128bit_aligned_vector_p): Add break
581 in the ARRAY_TYPE case.
582
7ad00e13
EB
5832005-09-14 Eric Botcazou <ebotcazou@adacore.com>
584
585 * tree.c (substitute_in_expr, case 4): New case, for ARRAY_REF.
586
b2d16a23
UB
5872005-09-14 Uros Bizjak <uros@kss-loka.si>
588
589 PR middle-end/22480
590 * tree-vect-transform.c (vectorizable_operation): Return false for
591 scalar shift operations and for vector shift operations with
592 non-invariant shift arguments. Use scalar tree operand op1 as
593 a shift operand when vector shift insn pattern uses scalar shift
594 operand.
595 * Makefile.in (tree-vect-transform.o): Depend on recog.h.
596
816fa80a
OH
5972005-09-14 Olivier Hainque <hainque@adacore.com>
598
599 * gimplify.c (gimplify_init_ctor_eval): Don't discard a zero-sized
600 value if it has side-effects.
601
c9692532
DE
6022005-09-14 David Edelsohn <edelsohn@gnu.org>
603
604 PR target/22068
605 * config/rs6000/rs6000.md (muldi3): Add mulli alternative.
606
00754468
AM
6072005-09-14 Alan Modra <amodra@bigpond.net.au>
608
609 * config/rs6000/linux64.h (DBX_OUTPUT_BRAC): Treat function name
610 passed as NAME as if it were label at start of function code.
611
18943792
KK
6122005-09-13 Kaz Kojima <kkojima@gcc.gnu.org>
613
614 * config/sh/sh.md (*movv4sf_i): Add general register cases to
615 the constraints.
616
af8e8908
AP
6172005-09-13 Andrew Pinski <pinskia@physics.uc.edu>
618
619 * config/rs6000/darwin.md (movdf_low_si): Mark the outgoing r constraint
620 as early clobber. Rewrite so the PIC register is not implicitly used.
621
282c3fdc
VR
6222005-09-13 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
623
624 * tree.c (annotate_with_file_line): Compare line numbers before
625 file names.
626
79e72538
UB
6272005-09-13 Uros Bizjak <uros@kss-loka.si>
628
629 PR target/23816
630 * config/i386/sse.md (*ieee_sminv4sf3, *ieee_smaxv4sf3)
631 (*ieee_sminv2df3, *ieee_smaxv2df3): New insn patterns.
632
1984d2e8
ILT
6332005-09-13 Ian Lance Taylor <ian@airs.com>
634
635 * loop-doloop.c (doloop_modify): Use GEN_INT to pass an rtx rather
636 than a HOST_WIDEST_INT to gen_doloop_begin.
637
5681f1ab
DN
6382005-09-13 Diego Novillo <dnovillo@redhat.com>
639
640 * tree-dfa.c (dump_variable): Guard against NULL annotations.
641
d7f0e25c
ZD
6422005-09-13 Zdenek Dvorak <dvorakz@suse.cz>
643
644 PR tree-optimize/23817
645 * tree-cfg.c (tree_merge_blocks): Preserve loop closed ssa.
646
2eef28ec
AM
6472005-09-13 Alan Modra <amodra@bigpond.net.au>
648
649 PR target/23774
650 * config/rs6000/rs6000.md (restore_stack_block): Write the backchain
651 word before changing the stack pointer. Use gen_frame_mem for MEMs.
652 Use UNSPEC_TIE to prevent insn scheduling reordering the insns.
653 (restore_stack_nonlocal): Likewise.
654 (save_stack_nonlocal): Use template to emit insns, and gen_frame_mem.
655
d63d5d0c
ILT
6562005-09-12 Ian Lance Taylor <ian@airs.com>
657
658 PR g++/7874
659 * c.opt (ffriend-injection): New C++ option.
660 * doc/invoke.texi (Option Summary): Mention -ffriend-injection.
661 (C++ Dialect Options): Document -ffriend-injection.
662
d840283a
JC
6632005-09-12 Josh Conner <jconner@apple.com>
664
665 PR middle-end/23237
666 * ipa-reference.c (static_execute): Don't mark variables in
667 named sections TREE_READONLY.
668
309ebcd0
AM
6692005-09-12 Alan Modra <amodra@bigpond.net.au>
670
671 * config/rs6000/rs6000.c (get_next_active_insn): Simplify test for
672 stack_tie.
673
8d099498
AP
6742005-09-12 Andrew Pinski <pinskia@physics.uc.edu>
675
676 * tree-ssa-dse.c (dse_optimize_stmt): Fix up all of V_MAY_DEF and
677 V_MUST_DEF instead of just the first_use_p.
678 Don't mark the virtual variables for renaming on the statement which
679 is being removed.
680 (pass_dse): Remove TODO_update_ssa.
681
cd41bae5
R
6822005-09-12 J"orn Rennecke <joern.rennecke@st.com>
683
f439f9a5
R
684 PR middle-end/23290
685 * stor-layout.c (compute_record_mode): For records with a single
686 field, actually check the field's mode size against the type size.
687
cd41bae5
R
688 * sh.h (HARD_REGNO_MODE_OK): Allow V4SFmode in general purpose
689 registers for TARGET_SHMEDIA.
690 (enum reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Rename
691 GENERAL_FP_REGS to GENERAL_DF_REGS. Add GENERAL_FP_REGS as union
692 of GENERAL_REGS and FP_REGS.
693
b99791d1
BS
6942005-09-12 Bernd Schmidt <bernd.schmidt@analog.com>
695
309ebcd0 696 * config/bfin/bfin.c (legimitize_pic_address): Use gen_const_mem.
b99791d1 697
f489aff8
AM
6982005-09-12 Alan Modra <amodra@bigpond.net.au>
699
700 * config/rs6000/rs6000.c (get_next_active_insn): Rewrite using
701 CALL_P, JUMP_P and NONJUMP_INSN_P, so that barriers and labels
702 are omitted. Exclude stack_tie insn too.
703
8308679f
DE
7042005-09-11 David Edelsohn <edelsohn@gnu.org>
705
706 PR rtl-optimization/23098
707 * config/rs6000/predicates.md (easy_fp_constant): SFmode constant
708 0.0f is easy.
709 * config/rs6000/rs6000.md (movdf splitter): Use
710 const_double_operand predicate for TARGET_POWERPC64.
711 * config/rs6000/rs6000.c (rs6000_legitimize_reload_address): Expand
712 SYMBOL_REF method to ABI_V4.
713
714 * config/rs6000/altivec.md (build_vector_mask_for_load): Use
715 replace_equiv_address.
716 * config/rs6000/rs6000.c (rs6000_emit_eh_reg_restore): Mark MEM as
717 rs6000_sr_alias_set and MEM_NOTRAP.
718 (rs6000_aix_emit_builtin_unwind_init): Use gen_frame_mem().
719
4c223d6a
EB
7202005-09-11 Eric Botcazou <ebotcazou@adacore.com>
721
722 * tree.c (contains_placeholder_p) <tcc_expression>: Properly
723 handle CALL_EXPR again.
724
2347f5c9
RE
7252005-09-11 Richard Earnshaw <richard.earnshaw@arm.com>
726
727 * arm/predicates.md (alignable_memory_operand): Delete.
728
4e0e2698
RH
7292005-09-10 Richard Henderson <rth@redhat.com>
730
731 PR debug/23806
732 * dbxout.c (dbxout_expand_expr): New.
733 (dbxout_symbol): Use it.
734
31fa16b6
RE
7352005-09-10 Richard Earnshaw <richard.earnshaw@arm.com>
736
737 * arm.c (arm_gen_rotated_half_load): Delete.
738 (vfp_emit_fstmx, arm_set_return_address): Use gen_frame_mem.
739 (emit_multi_reg_push, emit_sfm, arm_expand_prologue)
740 (thumb_set_return_address): Likewise.
741 (thumb_load_double_from_address): Use adjust_address.
742 * arm.md (splits calling arm_gen_rotated_half_load): Delete.
743 (extendhsisi2_mem, movhi_bytes): Use change_address.
744 (movhi): Use widen_memory_access.
745 (reload_out_df): Use replace_equiv_address.
746 * arm-protos.h (arm_gen_rotated_half_load): Delete prototype.
747
9bfa80fb
RH
7482005-09-09 Richard Henderson <rth@redhat.com>
749
750 PR debug/20998
751 * dbxout.c: Include expr.h.
752 (dbxout_global_decl): Don't suppress for DECL_RTL unset.
753 (dbxout_symbol): Handle DECL_VALUE_EXPR.
754 * Makefile.in (dbxout.o): Add EXPR_H.
755
2360a4c1
ZD
7562005-09-09 Zdenek Dvorak <dvorakz@suse.cz>
757
758 PR tree-optimization/23509
759 * tree-cfg.c (replace_uses_by): Use replace_exp.
760 * tree-ssa-loop-ivopts.c (get_ref_tag): Assert that dereferenced
761 pointers have name_mem_tag or type_mem_tag set.
762
7ce7896c
SP
7632005-09-09 Sebastian Pop <pop@cri.ensmp.fr>
764
765 * tree-chrec.c (evolution_function_is_invariant_rec_p): Use
766 CHREC_LEFT and CHREC_RIGHT for accessing chrec components instead
767 of wrongly accessing operands.
768
18aed06a
SP
7692005-09-09 Sebastian Pop <pop@cri.ensmp.fr>
770
771 * Makefile.in (tree-chrec.o): Depends on SCEV_H.
772 * tree-chrec.c: Include tree-scalar-evolution.h.
773 (chrec_convert): Instantiate the base and step before calling
774 scev_probably_wraps_p that would fail on parametric evolutions.
775 Collect all the fails into a single section failed_to_convert,
776 print a diagnostic, and return chrec_dont_know instead of calling
777 fold_convert.
778 * tree-scalar-evolution.c (loop_closed_phi_def): New.
779 (instantiate_parameters_1): Avoid instantiation of loop closed ssa
780 phi nodes.
781 (scev_const_prop): Don't replace the definition of a loop closed ssa
782 phi node by itself, or by another loop closed ssa phi node.
783 * tree-ssa-loop-niter.c (scev_probably_wraps_p, convert_step): Check
784 that base and step are defined.
785
3dac16bd
RG
7862005-09-09 Richard Guenther <rguenther@suse.de>
787
788 PR c++/23624
789 * fold-const.c (fold_ternary): Check truth_value_p before
790 calling invert_truthvalue.
791
dcfae47c
NC
7922005-09-09 Nick Clifton <nickc@redhat.com>
793
794 * Makefile.in (LIBGCC_DEPS): Add libgcc2.h.
795 * libgcc2.c (__clz_tab[], __popcount_tab[]): Set the fixed
796 dimension of these arrays.
797 * libgcc2.h (__clz_tab[], __popcount_tab[]): Add exports of
798 these arrays.
799 * longlong.h: Only provide a prototype for the __clz_tab[] array
800 if this header has not been included from libgcc2.h.
801 * config/stormy16/stormy16-lib2.c: Include libgcc2.h rather than
802 defining own types.
803 Provide prototypes for exported functions.
804 Use the __clz_tab[] and __popcount_tab[] arrays provided by
805 libgcc2.c.
806
d047a201
JC
8072005-09-08 Josh Conner <jconner@apple.com>
808
70e9e3d6 809 PR c++/21135
d047a201
JC
810 PR c++/23180
811 * expr.c (expand_expr_addr_expr_1): Don't invoke
812 expand_simple_binop for EXPAND_INITIALIZER.
813
db5f8b93
RH
8142005-09-08 Richard Henderson <rth@redhat.com>
815
816 PR debug/23190
817 * toplev.c (wrapup_global_declaration_1): Split out ...
818 (wrapup_global_declaration_2): ... from ...
819 (wrapup_global_declarations): ... here. Return bool.
820 (check_global_declaration_1): Split out ...
821 (check_global_declarations): from here.
822 (emit_debug_global_declarations): New.
823 * toplev.h (wrapup_global_declaration_1, wrapup_global_declaration_2,
824 check_global_declaration_1, emit_debug_global_declarations): Declare.
825 * c-decl.c (c_write_global_declarations_1): Don't create a vector
826 of decls. Call wrapup_global_declaration_1,
827 wrapup_global_declaration_2, check_global_declaration_1 directly.
828 (c_write_global_declarations_2): New.
829 (ext_block): New.
830 (c_write_global_declarations): Call c_write_global_declarations_2.
831 * langhooks.c (write_global_declarations): Call
832 emit_debug_global_declarations.
833
834 * cgraphunit.c (cgraph_varpool_remove_unreferenced_decls): Don't
835 remove decls that have DECL_RTL_SET_P.
836 * passes.c (rest_of_decl_compilation): Invoke
837 cgraph_varpool_finalize_decl for all but functions.
838
5c9186ce
EB
8392005-09-08 Eric Botcazou <ebotcazou@libertysurf.fr>
840
841 * tree-vrp.c (extract_range_from_unary_expr): Do not set the range for
842 the result of a conversion if the new min and max cannot be compared.
843
dcc9eb26
AK
8442005-09-08 Andreas Krebbel <krebbel1@de.ibm.com>
845
846 * config/s390/s390.c (s390_sr_alias_set): Variable removed.
847 (override_options): Setting s390_sr_alias_set removed.
848 (save_fpr, save_gprs): Set alias set to vararg or frame.
849 (restore_fpr, restore_gprs, s390_emit_prologue): Replace
850 s390_sr_alias_set with get_frame_alias_set ().
851 (s390_gimplify_va_arg): Replace s390_sr_alias_set with
852 get_varargs_alias_set ().
853
8f078c08
AP
8542005-09-08 Andrew Pinski <pinskia@physics.uc.edu>
855
856 PR objc/20574
857 PR objc/19324
858 * c-parser.c (c_parser_objc_method_definition): If the next
859 token is not "{", error out and don't start the function.
860
0c924d5c
AP
8612005-09-08 Andrew Pinski <pinskia@physics.uc.edu>
862
863 * tree-vrp.c (extract_range_from_expr): Move the check for non
864 nullness after the check for gimple invariant.
865
9f36bc49
RK
8662005-09-08 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
867
868 * tree.c (host_integerp, tree_low_cst): Correct function comment.
869
085fd657
KI
8702005-09-08 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
871
872 PR target/23747
873 * config/m32r.md (movmemsi_internal): Canonicalize order of
874 operands in PLUS component of template.
875
b735f45d
AK
8762005-09-07 Andreas Krebbel <krebbel1@de.ibm.com>
877
878 * reload1.c (fixup_eh_region_note): Remove assertion.
879 (fixup_abnormal_edges): Reverted removal of call to
880 find_many_sub_basic_blocks made on 2005-08-31.
881
30e6f306
RH
8822005-09-07 Richard Henderson <rth@redhat.com>
883
8fe07c42
RH
884 * function.c (ARG_POINTER_CFA_OFFSET): Move ...
885 * defaults.h (ARG_POINTER_CFA_OFFSET): ... here.
30e6f306 886 (INCOMING_FRAME_SP_OFFSET): Move from dwarf2out.c.
8fe07c42
RH
887 * dwarf2out.c (struct cfa_loc): Change reg to unsigned int,
888 rearrange for better packing.
30e6f306 889 (INCOMING_FRAME_SP_OFFSET): Move to defaults.h.
8fe07c42
RH
890 (lookup_cfa_1): Remove inline marker.
891 (cfa_equal_p): Split out of ...
892 (def_cfa_1): ... here. Use INVALID_REGNUM.
893 (build_cfa_loc): Handle !cfa->indirect.
894 (frame_pointer_cfa_offset): New.
895 (dbx_reg_number): Assert register elimination performed; do
896 leaf register remapping.
897 (reg_loc_descriptor): Avoid calling dbx_reg_number when unused.
898 (eliminate_reg_to_offset): New.
899 (based_loc_descr): Remove can_use_fbreg argument. Use fbreg only
900 for verifiably local stack frame addresses; re-base to CFA.
901 (mem_loc_descriptor): Remove can_use_fbreg argument.
902 (concat_loc_descriptor, loc_descriptor): Likewise.
903 (containing_function_has_frame_base): Remove.
904 (rtl_for_decl_location): Don't do register elimination or
905 leaf register remapping here.
906 (secname_for_decl): Split out from ..
907 (add_location_or_const_value_attribute): ... here.
908 (convert_cfa_to_loc_list): New.
909 (compute_frame_pointer_to_cfa_displacement): New.
910 (gen_subprogram_die): Use them.
911 * tree.h (frame_base_decl): Remove.
912 * var-tracking.c (frame_base_decl, frame_stack_adjust): Remove.
913 (prologue_stack_adjust): Remove.
914 (vt_stack_adjustments): Use INCOMING_FRAME_SP_OFFSET.
915 (adjust_stack_reference): Re-base memories to arg_pointer_rtx.
916 (set_frame_base_location): Remove.
917 (compute_bb_dataflow, emit_notes_in_bb): Don't call it.
918 (dump_attrs_list, dump_dataflow_set): Use string concatenation.
919 (vt_add_function_parameters): Don't eliminate_regs.
920 (vt_initialize): Don't create frame_base_decl.
30e6f306 921
ff8f80f2
EB
9222005-09-07 Eric Botcazou <ebotcazou@libertysurf.fr>
923
924 * doc/install.texi (*-*-solaris2*): Clarify wording on the recommended
925 version of GNU binutils for 4.x and later.
926
6f02b1db
MM
9272005-09-06 Mark Mitchell <mark@codesourcery.com>
928
929 * ggc-page.c (ggc_push_context): Remove.
930 (ggc_pop_context): Likewise.
931 * ggc.h (ggc_push_context): Remove.
932 (ggc_pop_context): Likewise.
933
3273516f
SV
9342005-09-06 Saurabh Verma <saurabh.verma@codito.com>
935
936 PR target/8973
937 * config/arc/arc.c (arc_output_function_epilogue): Update flags while
938 returning from an interrupt handler.
939
006fa7d4
SV
9402005-09-06 Saurabh Verma <saurabh.verma@codito.com>
941
942 PR target/8972
943 * config/arc/arc.c (output_shift): Add check for loop count when
944 optimizing.
945
800dd123
SB
9462005-09-06 Steven Bosscher <stevenb@suse.de>
947
948 * tree-ssa-phiopt.c (conditional_replacement): Construct proper SSA
949 form manually.
950 (abs_replacement): Likewise.
951 (pass_phiopt): Remove TODO_update_ssa.
952
73109af7
JJ
9532005-09-06 Jakub Jelinek <jakub@redhat.com>
954
0c9b182b
JJ
955 PR c/23075
956 * c-typeck.c (c_finish_return): Set TREE_NO_WARNING on RETURN_EXPR
957 if "return with no value, in function returning non-void" warning
958 has been issued.
800dd123 959 * tree-cfg.c (execute_warn_function_return): Don't look at
0c9b182b
JJ
960 RETURN_EXPRs with TREE_NO_WARNING set.
961
73109af7
JJ
962 PR target/22362
963 * config/i386/i386.c (ix86_function_regparm): Make sure automatic regparm
964 for internal functions doesn't use registers used by global registers
965 variables. Use fewer register parameters if there are global register
966 variables.
967
60a23e2e 9682005-09-06 Olivier Hainque <hainque@adacore.com>
800dd123 969 Eric Botcazou <ebotcazou@adacore.com>
60a23e2e
OH
970
971 PR middle-end/14997
972 * expr.c (expand_expr_real) <normal_inner_ref>: Force op0 to mem
973 when we would be extracting outside its bit span (bitpos+bitsize
974 larger than its mode), possible with some VIEW_CONVERT_EXPRs from
975 Ada unchecked conversions.
976
dda243de
SB
9772005-09-06 Steven Bosscher <stevenb@suse.de>
978
979 * tree-ssa-pre.c (try_look_through_load): New function.
980 (compute_avail): Use it to try to look through loads for some
981 more useful expressions.
982
f5d1572a
SV
9832005-09-06 Saurabh Verma <saurabh.verma@codito.com>
984
985 * simplify-rtx.c (simplify_binary_operation_1): Correct the
986 condition for detecting cases like (a&a) and (a^a).
987
c12cc930
KB
9882005-09-06 Keith Besaw <kbesaw@us.ibm.com>
989
990 * common.opt: Add option ftree-vect-loop-version.
991 * params.def: Add --param vect-max-version-checks.
992 * doc/invoke.texi: Document ftree-vect-loop-version and
993 --param vect-max-version-checks.
994 * tree-vectorizer.h (_loop_vec_info): Add ptr_mask and
995 may_misalign_stmts and defines for accessors.
996 * tree-vectorizer.c : (new_loop_vec_info): VEC_alloc for
997 LOOP_VINFO_MAY_MISALIGN_STMTS.
998 (destroy_loop_vec_info): VEC_free for
999 LOOP_VINFO_MAY_MISALIGN_STMTS.
1000 * tree-vect-analyze.c (vect_compute_data_ref_alignment):
1001 Update documentation.
1002 (vect_update_misalignment_for_peel): New.
1003 (vect_enhance_data_refs_alignment): Update to choose loop
1004 peeling or loop versioning if appropriate for the (potentially)
1005 unaligned data references in the loop.
1006 (vect_analyze_data_refs_alignment): Remove call to
1007 vect_enhance_data_refs_alignment so the checks can be done
1008 earlier.
1009 (vect_analyze_loop): Add call to vect_enhance_data_refs_alignment
1010 and move up call to vect_analyze_data_refs_alignment.
1011 * tree-vect-transform.c (vect_create_cond_for_align_checks): New.
1012 (vect_transform_loop): Add call to loop_version.
1013
1c653a41
JJ
10142005-09-06 Jakub Jelinek <jakub@redhat.com>
1015
1016 PR rtl-optimization/23098
1017 * cse.c (fold_rtx_mem): Call delegitimize_address target hook.
1018 * simplify-rtx.c (constant_pool_reference_p): New function.
1019 * rtl.h (constant_pool_reference_p): New prototype.
1020 * config/i386/i386.md (pushf split, mov[sdx]f split): Use
1021 constant_pool_reference_p in condition and
1022 avoid_constant_pool_reference in preparation statements.
1023
70a640af
AK
10242005-09-06 Andreas Krebbel <krebbel1@de.ibm.com>
1025
1026 * gcse.c (try_replace_reg): Disallow REG_EQUAL notes for
1027 STRICT_LOW_PART SETs.
1028
fc781ee0
AM
10292005-09-06 Alan Modra <amodra@bigpond.net.au>
1030
1031 PR middle-end/21460
1032 * except.c (sjlj_emit_function_enter): Find the function begin
1033 note even when it's not in first basic block.
1034
67da1534
KC
10352005-09-06 Kelley Cook <kcook@gcc.gnu.org>
1036
1037 * acinclude.m4: Renamed from aclocal.m4. Delete AM_LANGINFO_CODESET,
1038 AM_PROG_CC_C_O, and AM_AUX_DIR_EXPAND.
1039 * aclocal.m4: Regenerate.
1040
dc019eb8
DD
10412005-09-05 DJ Delorie <dj@redhat.com>
1042
1043 * config/m32c/m32c.h (TRAMPOLINE_ALIGNMENT): Correct misspelling
1044 of macro.
1045
57b51d4d
KH
10462005-09-06 Kazu Hirata <kazu@codesourcery.com>
1047
1048 * gimplify.c, ipa-prop.h, varasm.c, config/vxlib.c,
1049 config/vxworks.h, config/crx/crx.c, config/ms1/ms1.c,
1050 config/ms1/ms1.md, config/rs6000/rs6000.c: Fix comment typos.
1051 Follow spelling conventions.
1052 * doc/invoke.texi: Follow spelling conventions.
1053
bf877a76
R
10542005-09-05 J"orn Rennecke <joern.rennecke@st.com>
1055
1056 * rtl.h (gen_frame_mem, gen_tmp_stack_mem): Declare.
1057 * emit-rtl.c (gen_frame_mem, gen_tmp_stack_mem): New functions.
1058 * builtins.c (expand_builtin_return_addr): Use gen_frame_mem.
1059
57d38024
R
10602005-09-05 J"orn Rennecke <joern.rennecke@st.com>
1061
1062 PR target/23683
1063 * sh.c (sh_reorg, emit_load_ptr): Use gen_const_mem.
1064 (output_stack_adjust): Use gen_tmp_stack_mem.
1065 (sh_expand_prologue, sh_expand_epilogue): Use gen_frame_mem.
1066 (sh_set_return_address, sh_allocate_initial_value): Likewise.
1067 (sh_get_pr_initial_val): Likewise.
1068 (sh_builtin_saveregs): Use gen_frame_mem and change_address.
1069 (sh_initialize_trampoline): Likewise. Also use adjust_address.
1070 * sh.md (divsi_inv_m0): Use gen_const_mem.
1071 (push_fpscr, pop_fpscr, load_ra): Use gen_frame_mem.
1072 (movdf_i4+1): Use gen_tmp_stack_mem.
1073 (reload_outdf+3, reload_outdf+4, fpu_switch+1): Use change_address.
1074 (fpu_switch+2): Likewise.
1075 (movv4sf_i, movv16sf_i): Use adjust_address.
1076 (symGOT_load): Set MEM_NOTRAP_P bit.
1077
1c9ef36d
JDA
10782005-09-04 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1079
1080 PR target/23721
1081 * pa.c (emit_move_sequence): Fix typo in last change.
1082
7a6b7528
JJ
10832005-09-03 Jakub Jelinek <jakub@redhat.com>
1084
1085 PR rtl-optimization/23454
1086 * reorg.c (relax_delay_slots): Only call invert_jump if any_condjump_p
1087 is true.
1088
7c95bbfb
RH
10892005-09-03 Richard Henderson <rth@redhat.com>
1090 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1091
1092 PR middle-end/23671
800dd123 1093 * pa.c (emit_move_sequence): Use replace_equiv_address instead of
7c95bbfb
RH
1094 gen_rtx_MEM.
1095
b107d743
NP
10962005-09-02 Nicolas Pitre <nico@cam.org>
1097
1098 * config/arm/arm.c (arm_legitimize_address): Limit the value passed
1099 to bit_count to 32 bits.
1100
a38578e1
MM
11012005-08-31 Mark Mitchell <mark@codesourcery.com>
1102
1103 PR c++/23167
1104 * gimplify.c (gimplify_expr): Handle TREE_ADDRESSABLE types when
1105 generating synthetic loads from volatile lvalues.
1106
ebf178cd
NC
1107005-09-02 Nick Clifton <nickc@redhat.com>
1108
1109 * config/stormy16/stormy16-lib2.c (__popcounthi2, __parityhi2,
1110 __ctzhi2, __clzhi2): New functions.
1111
9bf777ee
AP
11122005-09-02 Andrew Pinski <pinskia@physics.uc.edu>
1113
1114 PR middle-end/23547
1115 * tree-nested.c (struct var_map_elt): Mark with GTY.
1116 (struct nesting_info): Mark with GTY. Mark var_map's param is struct
1117 var_map_elt.
1118 (lookup_field_for_decl): Allocate new element in GC memory.
1119 (lookup_tramp_for_decl): Likewise.
1120 (convert_nl_goto_reference): Likewise
1121 (create_nesting_tree): Allocate info in GC memory. Likewise for
1122 info->var_map.
1123 (free_nesting_tree): Free with ggc_free instead of free.
1124 (root): New static variable.
1125 (lower_nested_functions): Remove root as local variable. And zero out
1126 root at the end of the function.
1127
f805670f
R
11282005-09-02 J"orn Rennecke <joern.rennecke@st.com>
1129
1130 PR rtl-optimization/20365
1131 * simplify-rtx.c (simplify_plus_minus_op_data): Change type of neg
1132 to short. New member ix.
1133 (simplify_plus_minus_op_data_cmp): Break ties using ix member.
1134 (simplify_plus_minus): Initialize ix members before calling qsort.
1135
b8c4f9a4
ZD
11362005-09-02 Zdenek Dvorak <dvorakz@suse.cz>
1137
1138 PR tree-optimization/23626
1139 * tree-cfg.c (replace_uses_by): Clean up eh info.
1140
73eb8cb6
DD
11412005-09-01 DJ Delorie <dj@redhat.com>
1142
1143 * config/m32c/m32c.c (m32c_valid_pointer_mode): Remove stray debug
1144 fprintf.
1145
13e2e16e
DE
11462005-09-01 David Edelsohn <edelsohn@gnu.org>
1147
1148 * config/rs6000/rs6000.c (setup_incoming_varargs): Set MEM_NOTRAP_P.
1149 (rs6000_split_multireg_move): Use replace_equiv_address instead of
1150 gen_rtx_MEM.
1151
52d09157
CR
11522005-09-01 Craig Rodrigues <rodrigc@gcc.gnu.org>
1153
1154 * c-decl.c (diagnose_mismatched_decls): With -Wredundant-decls,
1155 do not issue warning for a variable definition following
1156 a declaration.
1157
277fc67e
RH
11582005-09-01 Richard Henderson <rth@redhat.com>
1159
1160 PR 23668
1161 * config/i386/i386.c (ix86_expand_vector_init_one_var): Restore
1162 conversion to CONST_VECTOR.
1163
e3947b34
RH
11642005-09-01 Richard Henderson <rth@redhat.com>
1165
1166 PR 23676
1167 * reload1.c (reload_as_needed): Check !CALL_P before calling
1168 fixup_eh_region_note.
1169 * rtlanal.c (may_trap_p): SUBREG by itself cannot trap.
1170
056061d8
DD
11712005-09-01 DJ Delorie <dj@redhat.com>
1172
1173 * varasm.c (output_constant): Let the target resolve
1174 conversions of addresses to non-default pointer sizes.
1175
86805759
NP
11762005-09-01 Nicolas Pitre <nico@cam.org>
1177
1178 * config/arm/arm.c (arm_legitimize_address): Split absolute addresses
1179 to alow matching ARM pre-indexed addressing mode.
1180 (arm_override_options): Remove now irrelevant comment.
1181
d442d7d9
PE
11822005-09-01 Phil Edwards <phil@codesourcery.com>
1183
1184 * config.gcc (i*86-wrs-vxworks): Update. Split out vxworksae target.
1185 * config/i386/t-vxworks: Update multilibs for VxWorks 6 and RTP mode.
1186 * config/i386/vxworks.h: Likewise.
1187 * config/i386/t-vxworksae: New file, for VxWorks AE.
1188 * config/i386/vxworksae.h: Likewise.
1189
ab02cc4e
SP
11902005-09-01 Sebastian Pop <pop@cri.ensmp.fr>
1191
1192 PR tree-optimization/23410
1193 * tree-ssa-loop-niter.c (scev_probably_wraps_p): Check that the
1194 sequence is not wrapping during the first step.
1195
ac156e91
JJ
11962005-09-01 Jakub Jelinek <jakub@redhat.com>
1197
1198 PR debug/7241
1199 * dwarf2out.c (base_type_die): Compare char_type_node with
1200 TYPE_MAIN_VARIANT (type), not type.
1201
355866de
RG
12022005-09-01 Richard Guenther <rguenther@suse.de>
1203
1204 PR tree-optimization/15366
1205 * common.opt: Add -finline-functions-called-once.
1206 Put -fearly-inlining in alphabetically ordered place.
1207 * doc/invoke.texi: Document new option.
1208 * ipa-inline.c (cgraph_decide_inlining): Honour
1209 flag_inline_functions_called_once.
1210
95c37cdb
JJ
12112005-09-01 Jakub Jelinek <jakub@redhat.com>
1212
1213 PR rtl-optimization/23478
1214 * local-alloc.c (struct qty): Add n_throwing_calls_crossed field.
1215 (alloc_qty): Initialize it.
1216 (update_equiv_regs): Clear REG_N_THROWING_CALLS_CROSSED.
1217 (combine_regs): Combine also n_throwing_calls_crossed fields.
1218 (find_free_reg): Don't attempt to caller-save pseudos crossing
1219 calls that might throw.
1220 * global.c (struct allocno): Add throwing_calls_crossed field.
1221 (global_alloc): Revert 2005-08-22 change. Initialize
1222 throwing_calls_crossed.
1223 (find_reg): Don't attempt to caller-save pseudos crossing calls that
1224 might throw.
1225
1990cd79
AM
12262005-09-01 Alan Modra <amodra@bigpond.net.au>
1227
1228 PR target/23649
1229 * config/rs6000/predicates.md (mask_operand): Only handle rlwinm masks.
1230 (mask64_operand): Reinstate code prior to 2005-06-11 change.
1231 (mask64_2_operand): Reinstate code prior to 2004-11-11 change.
1232 (and64_2_operand): Tweak to use predicate.
1233 (and_operand): Adjust for mask_operand changes.
1234 * config/rs6000/rs6000.c (num_insns_constant): Revert 2005-06-11.
1235 (print_operand): Likewise.
1236 (rs6000_rtx_costs): Pass mode to mask_operand and use mask64_operand.
1237 (mask64_1or2_operand): Delete.
1238 * rs6000/rs6000-protos.h (mask64_1or2_operand): Delete.
1239 * config/rs6000/rs6000.h (EXTRA_CONSTRAINT <S>): Revert 2005-06-11.
1240 (EXTRA_CONSTRAINT <T>): Pass operand mode to predicate.
1241 (EXTRA_CONSTRAINT <t>): Disallow mask64_operand matches.
1242 * config/rs6000/rs6000.md (andsi3_internal3 split): Revert 2005-06-11.
1243 (rotldi3_internal4): Likewise.
1244 (rotldi3_internal5, rotldi3_internal5 split): Likewise.
1245 (rotldi3_internal6, rotldi3_internal6 split): Likewise.
1246 (ashldi3_internal7): Likewise.
1247 (ashldi3_internal8, ashldi3_internal8 split): Likewise.
1248 (ashldi3_internal, ashldi3_internal9 split): Likewise.
1249 (anddi3 split): Don't match mask64_operand.
1250 (anddi3_internal2): Add rlwinm. Modify 't' splitter predicate.
1251 (anddi3_internal3): Add rlwinm. Use and64_2_operand in non-cr0
1252 splitter and match TARGET_64BIT not TARGET_POWERPC64. Modify
1253 't' splitter predicate.
1254 (movdi_internal64 + 2): Revert 2005-06-11 change.
1255
e9555b13
DD
12562005-08-31 DJ Delorie <dj@redhat.com>
1257
1258 * config/m32c/m32c.c (m32c_valid_pointer_mode): New.
1259 (m32c_asm_integer): Add support for 32 bit pointers.
1260
8476af98
RH
12612005-08-31 Richard Henderson <rth@redhat.com>
1262
1263 * emit-rtl.c (set_mem_attributes_minus_bitpos): Look through
1264 component-like references for setting MEM_NOTRAP_P.
1265
1266 * config/i386/i386.c (ix86_setup_incoming_varargs): Set MEM_NOTRAP_P.
1267 * config/alpha/alpha.c (alpha_setup_incoming_varargs): Likewise.
1268
0fd662ee
RH
12692005-08-31 Richard Henderson <rth@redhat.com>
1270
1271 * expr.c (expand_expr_real_1) <VIEW_CONVERT_EXPR>: Force subregs
1272 into a pseudo before applying gen_lowpart.
1273
960ac6e1
GK
12742005-08-31 Geoffrey Keating <geoffk@apple.com>
1275
1276 * doc/install.texi (Specific): Update cctools version required
1277 for full functionality.
1278 * config/darwin.h (LINK_SPEC): Pass -mmacosx-version-min to the
1279 linkers as -macosx_version_min.
1280
4802062c
R
12812005-08-31 J"orn Rennecke <joern.rennecke@st.com>
1282
1283 PR target/21255
1284 * sh.c (print_operand, %R and %S): Add handling of floating point
1285 registers, memory, constants and invalid operands.
1286
d4feded7
DB
12872005-08-31 Daniel Berlin <dberlin@dberlin.org>
1288
1289 * ipa-pure-const.c: Change dump name.
1290
d16093fd
UB
12912005-08-31 Uros Bizjak <uros@kss-loka.si>
1292
1293 PR target/23570
1294 * config/i386/sse.md (*sse_concatv2sf): Change operand 2 constraint
1295 to "reg_or_0_operand".
1296 (sse2_loadld): Change operand 1 constraint to "reg_or_0_operand".
1297
c9eb8097
DJ
12982005-08-31 Dale Johannesen <dalej@apple.com>
1299
1300 * loop-iv.c (iv_number_of_iterations): Fix overflow check for
1301 loops that count down.
1302
be0c514c
RH
13032005-08-31 Richard Henderson <rth@redhat.com>
1304
35210087 1305 PR rtl-opt/23601
be0c514c
RH
1306 * reload1.c (reload): Set MEM_NOTRAP_P in spill slots.
1307 (fixup_eh_region_note): New.
1308 (reload_as_needed): Call it.
1309 (fixup_abnormal_edges): Allow all throwing insns to be deleted;
1310 don't call find_many_sub_basic_blocks; call verify_flow_info.
1311 * function.c (assign_stack_local_1): Set MEM_NOTRAP_P.
1312 (keep_stack_depressed): Likewise.
1313 (assign_stack_temp_for_type): Likewise; use adjust_address_nv.
1314
5d3018ce
RH
13152005-08-31 Richard Henderson <rth@redhat.com>
1316
1317 * config/i386/i386.c (ix86_function_ok_for_sibcall): Fix test for
1318 fp return matching.
1319
dc38a610
FJ
13202005-08-31 Fariborz Jahanian <fjahanian@apple.com>
1321
1322 * expr.c (expand_expr_real_1): Compare size of address
1323 mode to target's address mode size in deciding expansion of
1324 the constant address.
1325
c5250139
RG
13262005-08-31 Richard Guenther <rguenther@suse.de>
1327
1328 PR middle-end/23477
1329 * expr.c (all_zeros_p): New function.
1330 (expand_expr_real_1): Handle the case of an all-zero
1331 non-addressable constructor separately.
1332
ab173928
AS
13332005-08-31 Adrian Straetling <straetling@de.ibm.com>
1334
1335 * builtins.c: (expand_builtin_strcpy, expand_builtin_strcat): Change
1336 arguments, adjust all callers.
1337 (expand_builtin_strcat): Rewrite to call strcpy instead of mempcpy.
1338
fabaaf36
RH
13392005-08-30 Richard Henderson <rth@redhat.com>
1340
1341 PR target/23630
1342 * expr.c (expand_expr_real_1) <VIEW_CONVERT_EXPR>: Use gen_lowpart
1343 whenever the mode sizes match.
1344
40b0345d
AM
13452005-08-31 Alan Modra <amodra@bigpond.net.au>
1346
1347 * calls.c (load_register_parameters): Fix comment typo.
1348 * expr.c (emit_push_insn): Comment formatting.
1349
c2e493dc
ILT
13502005-08-30 Ian Lance Taylor <ian@airs.com>
1351
1352 * config/i386/x-cygwin (host-cygwin): Change dependency from
1353 hosthooks-def.h to $(HOSTHOOKS_DEF_H).
1354
9fc5fa7b
GK
13552005-08-29 Geoffrey Keating <geoffk@apple.com>
1356
1357 * config/i386/i386.c (ix86_expand_vector_init_one_var): Don't modify
1358 parts of 'vals'.
1359
f471f0fc 13602005-08-29 Andrew Pinski <pinskia@physics.uc.edu>
57247f4b
AP
1361
1362 PR middle-end/23408
1363 * ipa-inline.c (cgraph_decide_inlining_incrementally): Remove the
1364 call to ggc_collect.
1365
f471f0fc 13662005-08-29 Paolo Bonzini <bonzini@gnu.org>
3a6ebcdc
PB
1367
1368 PR bootstrap/21268
1369 * Makefile.in (ALL_CPPFLAGS): Include $(INCLUDES) at the
1370 beginning. Remove $(INCLUDES) from all the rules, if following
1371 $(ALL_CPPFLAGS) or $(BUILD_CPPFLAGS).
1372
f28d3046
JJ
13732005-08-29 Jakub Jelinek <jakub@redhat.com>
1374
1375 PR middle-end/23484
1376 * builtins.c (fold_builtin_memory_chk, fold_builtin_stxcpy_chk,
1377 fold_builtin_strncpy_chk, fold_builtin_snprintf_chk): If len is
1378 not constant, but maxlen is, don't set len to maxlen, rather
1379 set maxlen to len if len is a constant.
1380
37261a5c
ZD
13812005-08-29 Zdenek Dvorak <dvorakz@suse.cz>
1382
1383 PR tree-optimization/23475
1384 * tree-ssa-loop-ivcanon.c (remove_empty_loop): Update frequencies
1385 and counts.
1386
46c5394b
DB
13872005-08-28 Daniel Berlin <dberlin@dberlin.org>
1388
1389 Fix PR middle-end/22455
1390
1391 * fold-const.c (fold_checksum_tree): Adjust for now-largest tree size.
1392 Checksum only the parts of the tree that exist for the tree code.
1393
ea407814
DJ
13942005-08-28 Dale Johannesen <dalej@apple.com>
1395
1396 * config/i386/i386.c (nocona_cost): Increase MOVE_RATIO.
1397
87e71ff4
AP
13982005-08-28 Andrew Pinski <pinskia@physics.uc.edu>
1399
1400 * tree-vrp.c: Remove obsolete comment in front of vrp_initialize.
1401
490272b4
RH
14022005-08-28 Richard Henderson <rth@redhat.com>
1403
1404 * stor-layout.c (finalize_type_size): Revert workaround from 08-26.
1405 * tree.c (make_node_stat): Use BITS_PER_UNIT instead of alignment
1406 of char_type_node.
1407
a6017253
JJ
14082005-08-28 Jakub Jelinek <jakub@redhat.com>
1409
1410 PR ada/23593
1411 * builtins.c (get_memory_rtx): Don't strip nops
1412 in between COMPONENT_REFs.
1413
412f8986
AP
14142005-08-27 Andrew Pinski <pinskia@physics.uc.edu>
1415
1416 PR middle-end/23463
1417 * gimplify.c (gimplify_modify_expr_rhs): Remove check for zero sized
1418 types.
1419 (gimplify_modify_expr): Check for zero sized types and gimplify the
1420 rhs and lhs as statements.
1421
147a8fb1
JDA
14222005-08-27 John David Anglin <dave.anflin@nrc-cnrc.gc.ca>
1423
1424 PR libgcj/23508
1425 * pa/linux-unwind.h (pa32_fallback_frame_state): Use r0 slot in frame
1426 state for return address column of signal frames.
1427
ec53fc93
DE
14282005-08-27 David Edelsohn <edelsohn@gnu.org>
1429
1430 PR target/23539
fabaaf36
RH
1431 * config/rs6000/rs6000.c (expand_block_clear): Use HImode when
1432 bytes >= 2 not bytes == 2.
ec53fc93
DE
1433 (expand_block_move): Same.
1434
f013cadc
RG
14352005-08-27 Richard Guenther <rguenther@suse.de>
1436
1437 PR target/23575
1438 * config/i386/sse.md (sse2_movsd): Add missing closing
1439 braces.
1440
0cd6c85a
PB
14412005-08-27 Paul Brook <paul@codesourcery.com>
1442
1443 * genrecog.c (enum decision_type): Add DT_num_insns.
1444 (struct decision_test): Add u.num_insns.
1445 (add_to_sequence): Add DT_num_insns test.
1446 (maybe_both_true_2, nodes_identical_1): Handle DT_num_insns.
1447 (write_cond, debug_decision_2): Ditto.
1448 (change_state): Assume peep2_next_insn never fails.
1449 Remove "afterward" argument.
1450 (write afterward, write_tree): Update to match.
1451 * recog.c (peep2_current_count): New variable.
1452 (peep2_next_insn): Check it.
1453 (peephole2_optimize): Set peep2_current_count.
1454 * recog.h (peep2_current_count): Declare.
1455
1b0d2d17
JC
14562005-08-26 Josh Conner <jconner@apple.com>
1457
1458 PR middle-end/23584
1459 * ipa-pure-const.c (check_tree): Check for volatile-ness
1460 when considering a dereference.
1461
24b7d7c3
JJ
14622005-08-27 Jakub Jelinek <jakub@redhat.com>
1463
1464 * rtl.h (MEM_IN_STRUCT_P): Fix comment typo.
1465
435bb2a1
JJ
14662005-08-26 Jakub Jelinek <jakub@redhat.com>
1467
1468 PR rtl-optimization/23561
1469 * builtins.c (get_memory_rtx): Add LEN argument. If MEM_EXPR is
1470 a COMPONENT_REF, remove all COMPONENT_REF from MEM_EXPR unless
1471 at most LEN bytes long memory fits into the field.
1472 (expand_builtin_memcpy, expand_builtin_mempcpy, expand_movstr,
1473 expand_builtin_strncpy, expand_builtin_memset, expand_builtin_memcmp,
1474 expand_builtin_strcmp, expand_builtin_strncmp): Adjust callers.
1475
52e772ba
RH
14762005-08-26 Richard Henderson <rth@redhat.com>
1477
1478 PR rtl-opt/23560
1479 * loop.c (biased_biv_may_wrap_p): New.
1480 (maybe_eliminate_biv_1): Use it to suppress non-equality
1481 comparison transformations. Delete disabled code.
1482
8f34bde6
ILT
14832005-08-26 Ian Lance Taylor <ian@airs.com>
1484
1485 * combine.c (make_extraction): Avoid reference outside object.
1486
d6cde480
R
14872005-08-26 J"orn Rennecke <joern.rennecke@st.com>
1488
1489 * stor-layout.c (finalize_type_size): Restore behaviour for
1490 non-aggregate types to the status quo ante of the patch for
1491 pr 23467. Document why it matters.
1492
39627fed
JJ
14932005-08-26 Jakub Jelinek <jakub@redhat.com>
1494
1495 PR c/23506
1496 * c-common.c (c_common_nodes_and_builtins): Increase builtin_types
1497 array by one element, initialize the BT_LAST element with NULL.
1498
297abd0d
DE
14992005-08-26 David Edelsohn <edelsohn@gnu.org>
1500
1501 * config/rs6000/rs6000.md (eq<mode>_compare): Only enable when
1502 optimizing for size.
1503 (plus_eqsi): Same.
1504 (compare_plus_eqsi): Same.
1505 (plus_eqsi_compare): Same.
1506 (neg_eq0<mode>): Same.
1507 (neg_eq<mode>): Same.
1508
1509 * config/rs6000/aix52.h (PROCESSOR_DEFAULT): Change to
1510 PROCESSOR_POWER4.
1511
2ec6cd51
NC
15122005-08-26 Nick Clifton <nickc@redhat.com>
1513
1514 * config/v850/v850.c (ep_memory_operand): Return FALSE if
1515 TARGET_EP is not defined.
1516 * config/v850/c850.h (TARGET_CPU_CPP_BUILTINS): Define __EP__ if
1517 TARGET_EP is enabled.
1518 (OPTIMIZATION_OPTIONS): Do not define MASK_EP when optimizing.
1519 * config/v850/v850.md (save_all_interrupt): Only use the EP
1520 register if TARGET_EP is defined.
1521 (restore_all_interrupt): Likewise.
1522 * config/v850/lib1funcs.asm: Update functions so that the EP
1523 register is only used if __EP__ is defined.
1524
e296c00c
DU
15252005-08-26 David Ung <davidu@mips.com>
1526
1527 * config/mips/mips.c (mips_expand_prologue): Handle case when
1528 generating for MIPS16 and the outgoing argument area is more than
1529 SMALL_OPERAND. Use the frame pointer as temporary to generate the
1530 add instruction.
1531
55d61dba
PW
15322005-08-26 Paul Woegerer <paul.woegerer@nsc.com>
1533
1534 * config/crx/crx.md: Make doloop_end pattern usage controllable
1535 via mloop-nesting=<max-nesting> command line switch. Make sure
1536 the combiner cannot use doloop_end_<mode> in an illegal way.
1537 * config/crx/crx.c: Use regs up to r6 for argument passing.
1538 Refine crx_address_cost (non cst4 displacements are expensive).
1539 * config/crx/crx.opt: Add switch for mloop-nesting=.
1540
742090fc
AS
15412005-08-26 Adrian Straetling <straetling@de.ibm.com>
1542
1543 * config/s390/s390.md: ("movstr", "*movstr"): Add patterns.
1544 (UNSPEC_MVST): New constant.
1545
db21e1d0
AK
15462005-08-26 Andreas Krebbel <krebbel1@de.ibm.com>
1547
1548 * config/s390/predicates.md ("shift_count_operand", "setmem_operand"):
1549 Reject operands containing eliminable registers.
1550 * testsuite/gcc.dg/20050825-1.c: New testcase.
1551
0621d71a
PB
15522005-08-24 Paolo Bonzini <bonzini@gnu.org>
1553 Jan Hubicka <jh@suse.cz>
1554
1555 * regmove.c (reg_is_remote_constant_p): Reorganize to not use log links.
1556
e2889823
PB
15572005-08-24 Paolo Bonzini <bonzini@gnu.org>
1558
1559 PR tree-optimization/23546
1560 * tree-ssa-loop-im.c (for_each_index): Handle INTEGER_CST
1561 and REAL_CST nodes.
1562
6f48c21a
PS
15632005-08-24 Pete Steinmetz <steinmtz@us.ibm.com>
1564
1565 * params.def (PARAM_MIN_SPEC_PROB): New.
1566 * sched-rgn.c (MIN_PROBABILITY): Delete.
1567 (compute_trg_info): Convert to PARAM_VALUE.
1568 * doc/invoke.texi (param): Document min-spec-prob.
1569
1a1e6a9d
FJ
15702005-08-24 Fariborz Jahanian <fjahanian@apple.com>
1571
1572 * config/darwin.h: define __PIC__
1573 * config/rs6000/darwin.h: Add SUBTARGET_OS_CPP_BUILTINS to
1574 TARGET_OS_CPP_BUILTINS macro.
1575
130869aa
PB
15762005-08-24 Paolo Bonzini <bonzini@gnu.org>
1577
1578 * config/rs6000/rs6000.md: Fix thinko in the peephole2 I added
1579 yesterday.
1580
b9a66240
ZD
15812005-08-24 Zdenek Dvorak <dvorakz@suse.cz>
1582
1583 * bb-reorder.c (copy_bb, duplicate_computed_gotos): Add argument
1584 to duplicate_block.
1585 * cfghooks.c (duplicate_block): Added position where to place
1586 new block as argument.
1587 * cfghooks.h (duplicate_block): Declaration changed.
1588 * cfglayout.c (copy_bbs): Add argument after. Pass it to
1589 duplicate_block.
1590 * cfglayout.h (copy_bbs): Declaration changed.
1591 * cfgloop.h (loop_version): Declaration changed.
1592 * cfgloopmanip.c (duplicate_loop_to_header_edge): Pass
1593 position to copy_bbs.
1594 (loop_version): Pass position to duplicate_loop_to_header_edge.
1595 Add place_after argument and position new blocks according to
1596 it.
1597 * modulo-sched.c (sms_schedule): Pass place_after argument
1598 to loop_version.
1599 * tracer.c (tail_duplicate): Pass argument to duplicate_block.
1600 * tree-cfg.c (split_edge_bb_loc): New function.
1601 (tree_split_edge, tree_duplicate_sese_region): Use split_edge_bb_loc
1602 to determine position of new blocks.
1603 * tree-ssa-loop-unswitch.c (tree_unswitch_loop): Pass argument
1604 to loop_version.
1605 * tree-ssa-threadupdate.c (create_block_for_threading): Pass
1606 argument to duplicate_block.
1607 * tree-vectorizer.c (slpeel_tree_duplicate_loop_to_edge_cfg):
1608 Pass position to copy_bbs.
1609
87de2376
ZD
16102005-08-24 Zdenek Dvorak <dvorakz@suse.cz>
1611
1612 * fold-const.c (ptr_difference_const): Use
1613 cst_and_fits_in_hwi instead of host_integerp.
1614
14a07c92
PB
16152005-08-24 Paolo Bonzini <bonzini@gnu.org>
1616
1617 * config/darwin.c (gen_pic_offset): New.
1618 (machopic_indirect_data_reference, machopic_legitimize_pic_address):
1619 Use it.
1620
d49195a3
ZD
16212005-08-23 Zdenek Dvorak <dvorakz@suse.cz>
1622
1623 PR tree-optimization/23486
1624 * tree-ssa-loop.c (pass_scev_cprop): Add TODO_update_ssa_only_virtuals.
1625
2eab15c9
PE
16262005-08-23 Phil Edwards <phil@codesourcery.com>
1627
1628 * config.gcc (*-*-vxworks*): Update tm_file, add extra_options,
1629 remove use_collect2.
1630 (powerpc-wrs-vxworks): Update, split out *-*-vxworksae target.
1631
1632 * target-def.h (TARGET_HAVE_CTORS_DTORS): Allow target
1633 configuration files to override the default value.
1634
1635 * config/t-vxworks: Remove INSTALL_ASSERT_H. Define STMP_FIXPROTO,
1636 EXTRA_HEADERS, and EXTRA_MULTILIB_PARTS.
1637 * config/vx-common.h: New file, split out from...
1638 * config/vxworks.h: here. Update for VxWorks 6.x and RTP mode.
1639 * config/vxworksae.h: New file, for VxWorks AE.
1640 * config/vxworks.opt: New file.
1641 * config/vxlib.c: Update for VxWorks 6.
1642
1643 * config/rs6000/t-vxworks (MULTILIB_OPTIONS): New list. Adjust
1644 other MULTILIB_* variables appropriately.
1645 (LIB2FUNCS_EXTRA, EXTRA_MULTILIB_PARTS): Correct from t-ppccomm.
1646 * config/rs6000/t-vxworksae: New file, adjust multilibs for AE.
1647 * config/rs6000/vxworks.h: Update for VxWorks 6.
1648 * config/rs6000/vxworksae.h: New file, mostly placeholder for now.
1649
2501b167
AP
16502005-08-23 Andrew Pinski <pinskia@physics.uc.edu>
1651
1652 PR target/20799
1653 * config/darwin.c (machopic_select_section): Remove the hack to
1654 mark "::operator new" and "::operator delete" for coalescing
1655 even though they are not weak.
1656
d82bf747
AM
16572005-08-24 Alan Modra <amodra@bigpond.net.au>
1658
1659 * configure.ac (HAVE_LD_NO_DOT_SYMS): Set for powerpc-linux biarch.
1660 * configure: Regenerate.
1661
4d3c798d
PB
16622005-08-23 Paolo Bonzini <bonzini@gnu.org>
1663
1664 PR middle-end/23517
1665 * fold-const.c (fold_convert): Use VIEW_CONVERT_EXPR to convert
1666 between vectors.
1667 * convert.c (convert_to_integer, convert_to_vector): Likewise.
1668 * tree-vect-generic.c (tree_vec_extract, expand_vector_operations_1):
1669 Likewise.
1670
28d0e143
PB
16712005-08-23 Paolo Bonzini <bonzini@gnu.org>
1672
1673 * config/rs6000/predicates.md (equality_operator): New.
1674 * config/rs6000/rs6000.md: Rewrite as a peephole2 the split for
1675 comparison with a large constant.
1676
6194fd98
MM
16772005-08-23 Mark Mitchell <mark@codesourcery.com>
1678
1679 * hwint.h (HOST_WIDE_INT_PRINT): Use HOST_LONG_LONG_FORMAT.
1680
39d67d5b
R
16812005-08-23 J"orn Rennecke <joern.rennecke@st.com>
1682
a11c004b
R
1683 * sh.c (sh_builtin_saveregs): If the number of to-be-saved fp
1684 registers is even, and we have a hardware double precision fp,
1685 align the buffer.
1686 (sh_gimplify_va_arg_expr): For floating point arguments, consider
1687 size of current argument when checking if argument was passed in
1688 registers.
1689
1690 * sh.c (sh_attr_renesas_p): Handle error_mark_node.
1691
39d67d5b
R
1692 PR middle-end/23467
1693 * stor-layout.c (finalize_type_size): Dont override
1694 existing alignment with a smaller alignment from the mode.
1695
37b8a73b
SP
16962005-08-23 Sebastian Pop <pop@cri.ensmp.fr>
1697
1698 * lambda-code.c (lambda_vector_lexico_pos): Moved...
1699 * lambda.h (lambda_vector_lexico_pos): ... here.
1700 * tree-data-ref.c (build_classic_dist_vector): Return false when
1701 the distance vector is lexicographically negative.
1702
ce8f9416
SP
17032005-08-23 Sebastian Pop <pop@cri.ensmp.fr>
1704
1705 PR tree-optimization/23511
1706 * tree-ssa-loop-niter.c (infer_loop_bounds_from_undefined): Don't
1707 handle cases where TYPE_MIN_VALUE or TYPE_MAX_VALUE are NULL_TREE.
1708
73ed17ff
JJ
17092005-08-23 Jakub Jelinek <jakub@redhat.com>
1710
1711 PR tree-optimization/22043
1712 * tree.h (count_type_elements): Add ALLOW_FLEXARR argument.
1713 * expr.c (count_type_elements): Add ALLOW_FLEXARR argument.
1714 If ALLOW_FLEXARR, handle types ending with flexible array member.
1715 Pass false as second argument to recursive count_type_elements calls.
1716 (categorize_ctor_elements_1, mostly_zeros_p): Pass false as second
1717 argument to count_type_elements call.
1718 * tree-sra.c (decide_block_copy): Likewise.
1719 * gimplify.c (gimplify_init_constructor): If num_type_elements < 0
1720 for a constant-sized object, set cleared as well. Pass true as
1721 second argument to count_type_elements call.
1722
18b10a72
AM
17232005-08-23 Alan Modra <amodra@bigpond.net.au>
1724
1725 PR target/21571
1726 * config/rs6000/rs6000.c (rs6000_legitimate_small_data_p): Rename
1727 from legitimate_small_data_p, and make global. Update use.
1728 Remove forward declaration.
1729 * config/rs6000/rs6000-protos.h (rs6000_legitimate_small_data_p):
1730 Declare.
1731 * config/rs6000/rs6000.md (movdf_hardfloat32): Allow small data mems.
1732
d0515b39
DE
17332005-08-23 David Edelsohn <edelsohn@gnu.org>
1734
1735 * config/rs6000/rs6000.md (eq<mode>): Use output operand instead
1736 of scratch intermediates.
1737 (eq<mode>_compare): Same.
1738 (neg_eq0<mode>): New.
1739 (neg_eq<mode>): Convert to define_insn_and_split.
1740
c1fa753e
AM
17412005-08-23 Alan Modra <amodra@bigpond.net.au>
1742
1743 PR target/23070
1744 * config/rs6000/rs6000.c (function_arg): For ABI_V4 calls to
1745 stdarg functions, set/clear the fp marker even when no variable
1746 args are passed.
1747 * config/rs6000/sysv4.opt (mprototype): Describe.
1748
27004606
JJ
17492005-08-22 Jakub Jelinek <jakub@redhat.com>
1750
1751 PR rtl-optimization/23478
1752 * regs.h (reg_info): Add throw_calls_crossed.
1753 (REG_N_THROWING_CALLS_CROSSED): Define.
1754 * flow.c (allocate_reg_life_data): Initialize
1755 REG_N_THROWING_CALLS_CROSSED.
1756 (propagate_one_insn, attempt_auto_inc): Update
1757 REG_N_THROWING_CALLS_CROSSED.
1758 * global.c (global_alloc): Don't allocate pseudos across
1759 calls that may throw.
1760
201ae393
AP
17612005-08-22 Andrew Pinski <pinskia@physics.uc.edu>
1762
1763 PR c/18715
1764 * c-common.c (c_do_switch_warnings): Look for a node where the enum's
1765 value is inbetween the range if we did not find an exact match.
1766
c85ba4fb
AH
17672005-08-22 Aldy Hernandez <aldyh@redhat.com>
1768
1769 * doc/invoke.texi (Option Summary): Add ms1 options.
1770 * doc/extend.texi: Document interrupt handler attribute for ms1.
1771 * doc/md.texi: Document ms1 constraints.
1772 * config.gcc: Add ms1-*-elf.
1773 * config/ms1/ms1.h: New.
1774 * config/ms1/ms1.c: New.
1775 * config/ms1/ms1.md: New.
1776 * config/ms1/ms1-protos.h: New.
1777 * config/ms1/ABI.txt: New.
1778 * config/ms1/crti.asm: New.
1779 * config/ms1/crtn.asm: New.
1780 * config/ms1/lib2extra-funcs.c: New.
1781 * config/ms1/t-ms1: New.
1782 * config/ms1/ms1.opt: New.
1783
70a39602
IR
17842005-08-22 Ira Rosen <irar@il.ibm.com>
1785
1786 * config/rs6000/altivec.md (xorv4sf3): New.
1787 (negv4sf2, neg<mode>2): Likewise.
1788
85199961
L
17892005-08-21 H.J. Lu <hongjiu.lu@intel.com>
1790
1791 PR target/23485
1792 * config/ia64/ia64.md (divsi3): Check divide by zero.
1793 (udivsi3): Likewise.
1794 (divdi3): Likewise.
1795 (udivdi3): Likewise.
1796
1125164c
JJ
17972005-08-21 Jakub Jelinek <jakub@redhat.com>
1798
1799 * simplify-rtx.c (simplify_immed_subreg) <case CONST_DOUBLE>: Only clear
1800 up to elem_bitsize bits, not max_bitsize.
1801
3c0c8f9d
SP
18022005-08-21 Sebastian Pop <pop@cri.ensmp.fr>
1803
1804 PR tree-optimization/23433
85199961
L
1805 * tree-chrec.c (chrec_apply): Translate INTEGER_CST to a
1806 REAL_CST when the type is SCALAR_FLOAT_TYPE_P.
3c0c8f9d 1807
a1596edc
SP
18082005-08-21 Sebastian Pop <pop@cri.ensmp.fr>
1809
1810 PR tree-optimization/23434
85199961
L
1811 * tree-ssa-loop-niter.c (proved_non_wrapping_p): Give up when
1812 the iteration bound is not an INTEGER_CST.
a1596edc 1813
429268fc
DN
18142005-08-21 Dorit Nuzman <dorit@il.ibm.com>
1815
1816 * tree-vect-transform.c (get_initial_def_for_reduction): Set
1817 need_epilog_adjust back to false for MIN/MAX case. Set *scalar_def to
1818 NULL if need_epilog_adjust is false.
1819 (vect_create_epilog_for_reduction): Variable adjust_in_epilog removed.
1820 Case 3 always peels first itration, not just for PLUS case, and no need
1821 to use scalar_initial_def here. Create an epilog adjustment only if
1822 scalar_initial_def is not NULL.
1823
1824 (vectorizable_reduction): Remove assert.
1825
eea1d14a
L
18262005-08-20 H.J. Lu <hongjiu.lu@intel.com>
1827
1828 PR target/23485
1829 * config/ia64/lib1funcs.asm (__divdi3): Check divide by zero.
1830 (__moddi3): Likewise.
1831 (__udivdi3): Likewise.
1832 (__umoddi3): Likewise.
1833 (__divsi3): Likewise.
1834 (__modsi3): Likewise.
1835 (__udivsi3): Likewise.
1836 (__umodsi3): Likewise.
1837
5e34206b
JJ
18382005-08-20 Jakub Jelinek <jakub@redhat.com>
1839
1840 * tree-pass.h (TDF_GRAPH): Define.
1841 * tree-dump.c (dump_options): Don't set TDF_GRAPH in "all".
1842 * passes.c (finish_optimization_passes): Only call
1843 finish_graph_dump_file if TDF_GRAPH is set.
1844 (execute_one_pass): Only call clean_graph_dump_file if dump_file !=
1845 NULL. Set TDF_GRAPH bit.
1846 (execute_todo): Call print_rtl_graph_with_bb if TDF_GRAPH is set.
1847
2591db65
RE
18482005-08-20 Richard Earnshaw <richard.earnshaw@arm.com>
1849
1850 * arm.h (arm_stack_offsets): Add locals_base field.
1851 * arm.c (arm_get_frame_offsets): Compute it.
1852 (thumb_compute_initial_elimination offset): Make the Thumb frame
1853 pointer point to the base of the local variables.
1854 (thumb_expand_prologue): Update accordingly.
1855 (thumb_expand_epilogue): Likewise.
1856
1857 * arm.md (thumb_movhi_clobber): Make this insn a define_expand. Change
1858 mode of clobbered scratch to DImode. Handle a case that's known to
1859 need this.
1860
fc437ce9
DE
18612005-08-19 David Edelsohn <edelsohn@gnu.org>
1862
1863 * config/rs6000/rs6000.md (gt0<mode>): Delete.
1864 (gt0<mode>_compare): Delete.
1865 (neg_gt0<mode>): Delete.
1866
c414ac1d
EC
18672005-08-19 Eric Christopher <echristo@apple.com>
1868
1869 * optabs.h: Change CTI_ to COI_.
1870 * optabs.c: Ditto.
1871
c8f27794
JW
18722005-08-19 James E Wilson <wilson@specifix.com>
1873
1874 * builtins.c (expand_builtin_return_addr): Set
1875 current_function_accesses_prior_frames when count != 0. Use
1876 frame_pointer_rtx when count == 0.
1877 * function.h (struct function): Add accesses_prior_frames field.
1878 (current_function_accesses_prior_frames): Define.
1879 * reload1.c (init_elim_table): Check
1880 current_function_accesses_prior_frames.
1881 * doc/tm.texi (INITIAL_FRAME_ADDRESS_RTX): Update docs.
1882
e3594cb3
DN
18832005-08-19 Diego Novillo <dnovillo@redhat.com>
1884
1885 * tree-cfgcleanup.c (cleanup_tree_cfg): Fix flowgraph change
1886 indicator. Return true if the flowgraph changed during
1887 cleanup.
1888
52270a3c
DN
18892005-08-19 Diego Novillo <dnovillo@redhat.com>
1890
1891 PR 23476
1892 * tree-cfgcleanup.c (cleanup_control_expr_graph): Fold the
1893 conditional expression before testing its value.
1894
5c1c631e
DN
18952005-08-19 Diego Novillo <dnovillo@redhat.com>
1896
1897 * doc/invoke.texi: Fix documentation for -ftree-dominator-opts.
1898
3d91803a
DP
18992005-08-19 Devang Patel <dpatel@apple.com>
1900
1901 PR tree-optimization/23048
1902 * tree-if-conv.c (if_convertible_bb_p): Supply basic_block as
1903 third parameter. Check whether latch is dominated by exit
1904 block or not.
1905 (if_convertible_loop_p): Supply exit block itself to
1906 if_convertible_bb_p.
c414ac1d 1907
e55ef7f4
RE
19082005-08-19 Richard Earnshaw <richard.earnshaw@arm.com>
1909
1910 PR target/23473
1911 * arm.md (arm_load_pic_register): Change argument to the mask of
c414ac1d 1912 saved registers. Call thumb_find_work_register if we need a
e55ef7f4 1913 scratch register on Thumb.
c414ac1d 1914 (arm_expand_prologue): Pass empty register set to
e55ef7f4
RE
1915 arm_load_pic_register.
1916 (thumb_expand_prologue): Pass live_regs_mask directly to
1917 arm_load_pic_register.
1918 * arm-protos.h (arm_load_pic_register): Update prototype.
1919
d102596b
JR
19202005-08-19 J"orn Rennecke <joern.rennecke@st.com>
1921
1922 * sh.c (find_sole_member): New function.
1923 (sh_gimplify_va_arg_expr): Use it. Allow RECORD_TYPE mode mismatch
1924 if the record's alignment is larger than the size of its only member.
1925
a132dad6
RE
19262005-08-19 Richard Earnshaw <richard.earnshaw@arm.com>
1927
1928 PR target/23436
1929 * arm.c (thumb_legitimize_reload_address): New function.
1930 * arm-protos.h (thumb_legitimize_reload_address): Add prototype.
1931 * arm.h (THUMB_LEGITIMIZE_RELOAD_ADDRESS): Call it.
1932
4221d00a
PW
19332005-08-19 Paul Woegerer <paul.woegerer@nsc.com>
1934
1935 * config/crx/crx.c: Implement crx_decompose_address. Reject
1936 symbolic displacements since CRX register relative adressing
1937 mode can't handle unsigned 32-bit values as displacements.
1938 * config/crx/crx.h: Simplify definitions, remove redundant
1939 parenthesis and obsolete macros.
1940 * config/crx/crx.opt: Add new switch for debugging addresses.
1941 * config/crx/crx-protos.h: Add new declarations for above.
1942
1581a9a1
AP
19432005-08-19 Andrew Pinski <pinskia@physics.uc.edu>
1944
1945 PR middle-end/20624
1946 * gimple-low.c (block_may_fallthru): Handle CLEANUP_POINT_EXPR by
1947 looking past it.
1948
52a6edcc
KG
19492005-08-18 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1950
1951 * collect2.c (dup2): Delete.
1952 * configure.ac: Don't check for dup2.
1953
1954 * config.in, configure: Regenerate.
1955
8a2209bf
R
19562005-08-18 J"orn Rennecke <joern.rennecke@st.com>
1957
1958 * sh.c (sh_gimplify_va_arg_expr): Loop to substitute a RECORD_TYPE
1959 record with the type of its only member.
1960
1e24ce83
DE
19612005-08-18 David Edelsohn <edelsohn@gnu.org>
1962
1963 * config/rs6000/rs6000.md (ltu<mode>_compare): Convert to
1964 define_insn_and_split.
1965 (plus_ltu<mode>_compare): Same.
1966 (gtu<mode>_compare): Same.
1967 (plus_gtu<mode>_compare): Same.
1968
90ff949f
DN
19692005-08-18 Dorit Nuzman <dorit@il.ibm.com>
1970
1971 PR tree-optimization/22228
1e24ce83
DE
1972 * tree-ssa-loop (pass_vectorize): Add TODO_verify_loops to
1973 todo_flags_start.
90ff949f
DN
1974 * tree-vect-transform.c (vect_transform_loop): Mark the variables that
1975 are recorded in vect_vnames_to_rename for renaming.
1976 * tree-vectorizer.c (vect_vnames_to_rename): New global bitmap.
1977 (slpeel_update_phi_nodes_for_guard1): Record virtual vars for renaming
1978 in vect_vnames_to_rename.
1979 (vectorize_loops): Allocate and free the vect_vnames_to_rename bitmap.
1980 * tree-vectorizer.h (vect_vnames_to_rename): New extern variable.
1981
f17db6cd
JH
19822005-08-18 Jan Hubicka <jh@suse.cz>
1983
1984 PR c++/22034
1985 * cgraphunit.c (cgraph_varpool_assemble_pending_decls): Emit debug
1986 info only for local statics, not for member variables.
1987
4286d8ce
VR
19882005-08-18 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
1989
1990 * tree-data-ref.c (analyze_siv_subscript_cst_affine): Fix comment typo.
1991
b06df647
VR
19922005-08-18 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
1993
1994 * c-typeck.c (designator_errorneous): Rename to designator_erroneous.
1995
75634129
AP
19962005-08-18 Andrew Pinski <pinskia@physics.uc.edu>
1997
1998 PR middle-end/16045
1999 * builtins.c (fold_builtin): Create a new NOP_EXPR all the time.
2000
9bc2a5cb
JW
20012005-08-17 James E Wilson <wilson@specifix.com>
2002
2003 * c-decl.c (grokdeclarator): Use TYPE_SIZE_UNIT not TYPE_SIZE in
2004 array size check.
2005
a2dba291
DE
20062005-08-17 David Edelsohn <edelsohn@gnu.org>
2007
2008 * config/rs6000/rs6000.md (leu<mode>): Convert to mode macro.
2009 (leu<mode>_compare): Same.
2010 (plus_leu<mode>): Same.
2011 (neg_leu<mode>): Same.
2012 (and_neg_leu<mode): Same.
2013 (ltu<mode>_compare): Same.
2014 (plus_ltu<mode>): Same.
2015 (geu<mode>): Same.
2016 (geu<mode>_compare): Same.
2017 (plus_geu<mode>): Same.
2018 (neg_geu<mode>): Same.
2019 (and_neg_geu<mode>): Same.
2020 (plus_gt<mode>): Same.
2021 (gtu<mode>_compare): Same.
2022 (plus_gtu<mode>): Same.
2023
aa29dfeb 20242005-08-17 Erik Christiansen <erik@dd.nec.com.au>
c414ac1d 2025
aa29dfeb
EC
2026 * config/v850/lib1funcs.asm (callt_save_interrupt): Fix comment typos.
2027 Move call_table_data to end. Delete spurious .text.
2028 (callt_save_all_interrupt): Fix comment typo.
2029
90e0c734
JW
20302005-08-17 James E Wilson <wilson@specifix.com>
2031 Kevin Winchester <winchester@amirix.com>
2032
2033 PR target/21684
2034 * config/mcore/mcore.h (SHIFT_COUNT_TRUNCATED): Define to 0.
2035
87bb8864
UB
20362005-08-17 Uros Bizjak <uros@kss-loka.si>
2037
2038 PR target/23268
2039 * config/i386/i386.md ("*fist<mode>2_1"): New pattern.
2040 ("lrint<mode>2"): Change expander to use "*fist<mode>2_1" pattern.
2041
dd0ae678
R
20422005-08-17 J"orn Rennecke <joern.rennecke@st.com>
2043
8a2209bf
R
2044 * sh.c (sh_gimplify_va_arg_expr): Don't substitute a RECORD_TYPE
2045 record with the type of its only member if the modes don't match.
2046
a2dba291 2047 * varasm.c (decode_reg_name): Skip empty additional register names.
dd0ae678 2048
d28cbb07
ZD
20492005-08-16 Zdenek Dvorak <dvorakz@suse.cz>
2050
2051 * tree-ssa-loop-im.c (MAX_LSM_NAME_LENGTH, lsm_tmp_name,
2052 lsm_tmp_name_length): New.
2053 (lsm_tmp_name_add, gen_lsm_tmp_name, get_lsm_tmp_name): New functions.
2054 (schedule_sm): Use get_lsm_tmp_name instead of "lsm_tmp".
2055
39bd07e8
UW
20562005-08-16 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
2057 Andreas Krebbel <krebbel1@de.ibm.com>
2058
2059 * config.gcc: Added z9-109 switch.
2060 * config/s390/2084.md ("x_int", "x_agen", "x_lr", "x_la", "x_larl",
2061 "x_load", "x_store", "x_branch", "x_call", "x_mul_hi", "x_mul_sidi",
c414ac1d
EC
2062 "x_div", "x_sem", "x_cs", "x_vs", "x_stm", "x_lm", "x_other",
2063 "x_fsimpdf", "x_fsimpsf", "x_fdivdf", "x_fdivsf", "x_floaddf",
39bd07e8
UW
2064 "x_floadsf", "x_fstore_df", "x_fstoresf", "x_ftoi", "x_itof"): Enable
2065 for "z9_109" cpu attribute.
2066 * config/s390/s390.c (z9_109_cost): New processor cost structure.
2067 (CONST_OK_FOR_Os, CONST_OK_FOR_Op, CONST_OK_FOR_On): New macros.
2068 (s390_handle_arch_option): Added z9-109 switch.
2069 (override_options): Set respective cost function for z9-109.
2070 (s390_const_ok_for_constraint_p): New constraints Os, Op, On.
2071 (legitimate_reload_constant_p): Accept extended immediates.
2072 (print_operand): Three new output modifiers added: k, m and o.
2073 (s390_adjust_priority, s390_issue_rate): Handle Z9_109 like Z990.
2074 (s390_output_mi_thunk): Use extended immediate when possible.
2075 * config/s390/s390.h (processor_flags): Added PF_EXTIMM.
2076 (TARGET_CPU_EXTIMM, TARGET_EXTIMM): New macros.
2077 (CONSTRAINT_LEN): Added length of O constraint.
2078 (CLZ_DEFINED_VALUE_AT_ZERO): Definition added.
2079 * config/s390/s390.md ("cpu"): New value z9_109 added.
c414ac1d 2080 ("*tstdi_extimm", "*tstdi_ccconly_extimm", "*tstsi_extimm",
39bd07e8
UW
2081 "*tstsi_cconly_extimm", "*movdi_64extimm", "*extendhidi2_extimm",
2082 "*extendqidi2_extimm", "*extendhisi2_extimm", "*extendqisi2_extimm",
2083 "*zero_extend<mode>si2_extimm", "*anddi3_extimm", "*iordi3_extimm",
2084 "*xordi3_extimm", "clzdi2", "clztidi2"): New patterns.
2085 ("*tstdi", "*tstsi", "*movdi_64", "*extendhisi2", "*extendqisi2",
2086 "*zero_extend<mode>si2_64", "zero_extendqihi2", "*zero_extendqihi2_64",
2087 "*anddi3", "*iordi3", "*xordi3"): Disable for TARGET_EXTIMM.
2088 ("*cmpdi_cct", "*cmpsi_cct", "*cmpdi_ccs", "*cmpsi_ccs", "*cmpdi_ccu",
2089 "*cmpsi_ccu", "*movsi_zarch", "*adddi3_imm_cc", "*adddi3_carry1_cc",
2090 "*adddi3_carry2_cc", "*adddi3_cc", "*adddi3_64", "*addsi3_imm_cc",
2091 "*addsi3_carry1_cc", "*addsi3_carry2_cc", "*addsi3_cc", "addsi3",
2092 "*andsi3_cc", "*andsi3_cconly", "*andsi3_zarch", "*iorsi3_cc",
2093 "*iorsi3_cconly", "*iorsi3_zarch", "*xorsi3_cc", "*xorsi3_cconly",
c414ac1d 2094 "*xorsi3", "*xorhi3", "*xorqi3"): Added instruction using extended
39bd07e8
UW
2095 immediates.
2096 ("extend<mode>di2", "extend<mode>si2", "zero_extend<mode>di2",
2097 "zero_extend<mode>si2"): Allow memory operands and don't manually emit
2098 insns for TARGET_EXTIMM.
2099
33d2e547
AK
21002005-08-17 Andreas Krebbel <krebbel1@de.ibm.com>
2101
2102 * testsuite/gcc.dg/20020926-1.c: Added "-mesa" to dg-options.
2103
e5eb9a52
NC
21042005-08-17 Nick Clifton <nickc@redhat.com>
2105
2106 * config/stormy16/stormy16.c (xstormy16_encode_section_info):
2107 Call default_encode_section_info.
2108
a318e3ac
SB
21092005-08-17 Steven Bosscher <stevenb@suse.de>
2110
2111 PR tree-optimization/21574
2112 * tree-ssa-ccp.c (likely_value): If the right hand side is a
2113 constant, return CONSTANT.
2114 (ccp_lattice_meet): Use operand_equal_p instead of simple_cst_equal.
2115 (ccp_fold, visit_assignment): Likewise.
2116 (evaluate_stmt): Handle UNDEFINED and UNKNOWN_VAL the same way.
2117
00d1b1d6
JM
21182005-08-16 James A. Morrison <phython@gcc.gnu.org>
2119
2120 * c-typeck.c (build_function_call): Call fold_buildN_initializer or
2121 fold_buildN instead of buildN then fold_initializer or fold.
2122 (build_unary_op): Likewise.
2123 (build_binary_op): Likewise.
2124 * fold-const.c (fold_initializer): Remove.
2125 (fold_build1_initializer): New function.
2126 (fold_build2_initializer): New function.
2127 (fold_build3_initializer): New function.
2128 * tree.h (fold_initializer): Remove.
2129 (fold_build1_initializer): New function.
2130 (fold_build2_initializer): New function.
2131 (fold_build3_initializer): New function.
2132
f457cf40
JM
21332005-08-16 James A. Morrison <phython@gcc.gnu.org>
2134
2135 * fold-const.c (optimize_bit_field_compare): Remove extra fold call.
2136 (try_move_mult_to_index): Call fold_build2 instead of build2.
2137 (fold_binary): Don't call fold after calls to try_move_mult_to_index.
2138 * tree-ssa-loop-niter.c (inverse): Call int_const_binop instead of
2139 fold_binary_to_constant.
2140 (infer_loop_bounds_from_undefined): Call fold_build2 instead of
2141 fold (build.
2142 * tree-data-ref.c (tree_fold_divides_p): Use tree_int_cst_equal to
2143 check if A == gcd (A, B). Remove TYPE argument.
2144 (analyze_offset) Use fold_build2 instead of fold (build.
2145 (create_data_ref): Likewise.
2146 (analyze_siv_subscript_cst_affine): Update calls to tree_fold_divides_p.
2147 * tree-ssa-ccp.c (widen_bitfield): Call fold_build2 instead of build2
2148 then fold.
2149
4c617d12
KC
21502005-08-17 Kelley Cook <kcook@gcc.gnu.org>
2151
2152 * config/arm/unaligned-funcs.c,config/i386/crtfastmath.c,
2153 ipa-cp.c,ipa-prop.c,ipa-prop.h: Update FSF address.
2154
d06526b7
AP
21552005-08-16 Andrew Pinski <pinskia@physics.uc.edu>
2156
2157 PR tree-opt/23402
2158 * gimplify.c (zero_sized_type): New function.
2159 (gimplify_modify_expr_rhs): If we have a zero sized type,
2160 replace the statement with an empty statement.
2161
e9e68ae3
L
21622005-08-16 H.J. Lu <hongjiu.lu@intel.com>
2163
2164 * config/i386/crtfastmath.c (set_fast_math): Add "=m" for
2165 fxsave.
2166
e374d5c9
ILT
21672005-08-16 Ian Lance Taylor <ian@airs.com>
2168
2169 * doc/tm.texi (Label Output): Correct typo.
2170
f2dd440f
SB
21712005-08-16 Steven Bosscher <stevenb@suse.de>
2172
2173 PR target/23376
2174 * loop-unroll.c (analyze_insn_to_expand_var): Make sure that
2175 force_operand will work later on using have_insn_for.
2176
196f5a8d
VR
21772005-08-16 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
2178
2179 * fold-const.c (tree_expr_nonnegative_p): Regroup cases.
2180
cf0efa6a
ILT
21812005-08-16 Ian Lance Taylor <ian@airs.com>
2182
2183 PR c++/23337
2184 * gimplify.c (gimplify_init_ctor_eval): If we see an element of
2185 vector type, don't try to construct it element by element. Add an
2186 assertion that we use a FIELD_DECL when building a COMPONENT_REF.
2187
3a69437a
VR
21882005-08-16 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
2189
2190 * fold-const.c (fold_ternary): Simplify folding of a CALL_EXPR.
2191
17ccdd2c
GK
21922005-08-16 Geoffrey Keating <geoffk@apple.com>
2193
2194 * doc/invoke.texi (Precompiled Headers): Document some more options
2195 which are known to be safe.
2196
355a9e43
JW
21972005-08-16 James E Wilson <wilson@specifix.com>
2198
2199 PR tree-optimization/21105
2200 * c-decl.c (grokdeclarator): Use TYPE_SIZE_UNIT not TYPE_SIZE in
2201 TREE_OVERFLOW check.
2202
ce45ef46
DE
22032005-08-16 David Edelsohn <edelsohn@gnu.org>
2204
2205 * config/rs6000/rs6000.md (ltu<mode>): Convert to mode macro.
2206 (neg_ltu<mode>): Same.
2207 (gtu<mode>): Same.
2208 (neg_gtu<mode>): Same.
2209
543e2cc3
VR
22102005-08-16 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
2211
2212 * builtins.c (expand_builtin_strcat): Remove superfluous call to fold.
2213 (fold_builtin_isdigit): Use fold_buildN.
2214 (build_function_call_expr): Likewise.
2215 * c-typeck.c (c_finish_loop): Likewise.
2216
28f52a4d 22172005-08-16 J"orn Rennecke <joern.rennecke@st.com>
85199961 2218 Richard Shann <rshann@superh.com>
28f52a4d
R
2219
2220 PR middle-end/20396:
2221 * optabs.c (expand_binop): Take TRULY_NOOP_TRUNCATION into account.
2222
546ad2d9
SP
22232005-08-16 Sebastian Pop <pop@cri.ensmp.fr>
2224
2225 * tree-ssa-loop-niter.c (scev_probably_wraps_p): Reword a comment.
2226
39c39be0
RE
22272005-08-15 Richard Earnshaw <richard.earnshaw@arm.com>
2228
2229 PR target/23355
c414ac1d 2230 * arm.c (thumb_compute_save_reg_mask): Use similar logic to
39c39be0
RE
2231 arm_compure_save_reg0_reg12_mask to determine when the PIC register
2232 must be saved.
2233
f60c951c
JDA
22342005-08-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2235
2236 PR middle-end/23369
2237 * fold-const.c (build_range_check): Disable optimization for function
2238 pointer expressions on targets that require function pointer
2239 canonicalization.
2240
5b5dc475
UW
22412005-08-15 Ulrich Weigand <uweigand@de.ibm.com>
2242
2243 * simplify-rtx.c (simplify_const_relational_operation): When
2244 extracting arguments of a COMPARE, recompute the mode as well.
2245
1595ec20
ILT
22462005-08-15 Ian Lance Taylor <ian@airs.com>
2247
2248 * tree.c (build_string): Mark tree CONSTANT and INVARIANT.
2249
eb5f0c07
DD
22502005-08-15 DJ Delorie <dj@redhat.com>
2251
2252 * config/m32c/mov.md (movqi_op): Immediates can't be moved to
2253 the stack.
2254 (movsi_splittable): Allow, but split, moves to the stack.
2255 * config/m32c/m32c.c (m32c_split_move): Always split moves to the
2256 stack.
2257
06145cb9
KG
22582005-08-15 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2259
2260 * aclocal.m4 (gcc_AC_FUNC_PRINTF_PTR): Delete.
2261 * configure.ac: Don't call gcc_AC_FUNC_PRINTF_PTR.
2262 * system.h (HOST_PTR_PRINTF): Don't define, poison it.
c414ac1d 2263
06145cb9
KG
2264 * bitmap.c, c-decl.c, config/i386/i386-interix.h,
2265 config/iq2000/iq2000.c, mips-tfile.c, print-rtl.c, print-tree.c:
2266 Delete HOST_PTR_PRINTF.
2267
2268 * configure, config.in: Regenerate.
2269
b5568f07
DE
22702005-08-15 David Edelsohn <edelsohn@gnu.org>
2271
2272 * config/rs6000/rs6000.md (QHSI): New mode macro.
2273 (wd): Extend mode attr for QImode and HImode
2274 (dbits): New mode attr.
2275 (zero_extend<mode>di2): Convert to mode macro.
2276
a73035ae
SE
22772005-08-15 Steve Ellcey <sje@cup.hp.com>
2278
2279 PR target/21841
2280 * doc/invoke.texi (-mgnu-ld): Update description.
2281 (-mhp-ld): Ditto.
2282
7e0923cd
SP
22832005-08-15 Sebastian Pop <pop@cri.ensmp.fr>
2284
2285 PR 23391
2286 * Makefile.in (tree-chrec.o): Depends on real.h.
2287 * tree-chrec.c: Include real.h.
2288 (chrec_fold_plus_poly_poly, chrec_fold_multiply_poly_poly,
2289 chrec_fold_plus_1): Use build_real for SCALAR_FLOAT_TYPE_P.
2290 * tree-scalar-evolution.c (add_to_evolution_1,
2291 interpret_rhs_modify_expr): Ditto.
2292
852c19aa
SP
22932005-08-15 Sebastian Pop <pop@cri.ensmp.fr>
2294
2295 PR 23386
2296 * tree-data-ref.c (estimate_niter_from_size_of_data): When
2297 step is negative compute the estimation from init downwards to zero.
c414ac1d 2298
b23dce24
JM
22992005-08-14 James A. Morrison <phython@gcc.gnu.org>
2300
2301 * fold-const (fold_binary): Call fold_build2 instead of fold (build.
2302
11598938
UW
23032005-08-14 Ulrich Weigand <uweigand@de.ibm.com>
2304
2305 * config/s390/s390.c (s390_const_ok_for_constraint_p): Add 'P'
2306 constraint.
2307 (legitimate_reload_constant_p): Fix handling of lliXX operands.
2308 Accept double-word constants that can be split.
2309 * config/s390/s390.md ("movti"): Use 'P' constraint.
2310 ("*movdi_31", "*movdf_31"): Likewise.
2311
8971094d
DB
23122005-08-14 Daniel Berlin <dberlin@dberlin.org>
2313
2314 Fix PR tree-optimization/22615
c414ac1d 2315
8971094d 2316 * tree-ssa-structalias.c (solution_set_add): Handle
c414ac1d 2317 first_vi_for_offset returning NULL.
8971094d
DB
2318 (do_da_constraint): Ditto.
2319 (do_sd_constraint): Ditto.
2320 (do_ds_constraint): Ditto
2321 (find_func_aliases): Ditto.
2322 (build_constraint_graph): RHS is allowed be ANYTHING.
2323 (first_vi_for_offset): Return NULL if we couldn't find anything at
2324 the offset.
c414ac1d 2325
c5b2a111
UW
23262005-08-14 Ulrich Weigand <uweigand@de.ibm.com>
2327
2328 * config/s390/s390.c (s390_canonicalize_comparison): Prefer register
2329 over memory as first operand.
2330
adb7b764
L
23312005-08-14 H.J. Lu <hongjiu.lu@intel.com>
2332
2333 PR target/23360
2334 * config/i386/crtfastmath.c (set_fast_math): Check if DAZ is
2335 available for setting it.
2336
1f400bbb
IR
23372005-08-14 Ira Rosen <irar@il.ibm.com>
2338
2339 PR tree-optimization/23320
c414ac1d
EC
2340 * tree-data-ref.c (base_addr_differ_p): Add comment. Check
2341 data-refs' types instead of base object nullness. Add check for
2342 pointer type data-refs before first location comparison. Remove
1f400bbb
IR
2343 assert.
2344
db875b15
AS
23452005-08-14 Andreas Schwab <schwab@suse.de>
2346
2347 * doc/md.texi (Machine Constraints): Fix misplaced @end table.
2348
0aca9021
JW
23492005-08-13 James E Wilson <wilson@specifix.com>
2350
2351 * doc/cpp.texi (__SSP__, __SSP_ALL__): Document.
2352 * doc/invoke.texi (-Wstack-protector, -fstack-protector,
2353 -fstack-protector-all, --param ssp-buffer-size): Document.
2354 (-Wvariadic-macros): Alphabetize.
2355 (-fsched-stalled-insns-dep): Add missing 'f'.
2356
0ffb94cd
JW
2357 * c-cppbuiltin.c (c_cpp_builtins): Add comment for flag_stack_protect
2358 macros.
2359
3256a76e
DE
23602005-08-13 David Edelsohn <edelsohn@gnu.org>
2361
2362 * config/rs6000/rs6000.h (EXTRA_CONSTRAINT): Add 'a' for indexed
2363 or indirect address operand.
2364 (EXTRA_ADDRESS_CONSTRAINT): New.
2365 * config/rs6000/rs6000.md (prefetch): Change constraint "p" to "a".
2366
d7770457
SP
23672005-08-13 Sebastian Pop <pop@cri.ensmp.fr>
2368
2369 PR tree-optimization/22236
2370 * tree-cfg.c (print_pred_bbs, print_succ_bbs): Correctly print
2371 successors and predecessors.
2372 * tree-chrec.c (chrec_convert): Before converting, check that
2373 sequences don't wrap.
2374 * tree-data-ref.c (compute_estimated_nb_iterations): Moved ...
2375 (analyze_array): Extern.
2376 (find_data_references_in_loop): Remove call to
2377 compute_estimated_nb_iterations.
2378 * tree-data-ref.h (analyze_array): Declared.
2379 * tree-flow-inline.h (single_ssa_tree_operand, single_ssa_use_operand,
2380 single_ssa_def_operand, zero_ssa_operands): Fix documentation.
2381 * tree-flow.h (scev_probably_wraps_p): Declare with an extra parameter.
c414ac1d 2382 * tree-scalar-evolution.c (instantiate_parameters_1): Factor entry
d7770457
SP
2383 condition.
2384 * tree-ssa-loop-ivcanon.c: Fix documentation.
2385 * tree-ssa-loop-ivopts.c (idx_find_step): Add a fixme note.
2386 * tree-ssa-loop-niter.c (compute_estimated_nb_iterations): ... here.
2387 (infer_loop_bounds_from_undefined): New.
2388 (estimate_numbers_of_iterations_loop): Use
2389 infer_loop_bounds_from_undefined.
2390 (used_in_pointer_arithmetic_p): New.
2391 (scev_probably_wraps_p): Pass an extra parameter. Call
2392 used_in_pointer_arithmetic_p. Check that AT_STMT is not null.
2393 (convert_step): Fix documentation.
2394 * tree-vrp.c (adjust_range_with_scev): Call instantiate_parameters.
2395 Use initial_condition_in_loop_num and evolution_part_in_loop_num
2396 instead of CHREC_LEFT and CHREC_RIGHT. Adjust the call to
2397 scev_probably_wraps_p.
2398
e2df5c1d
UW
23992005-08-13 Ulrich Weigand <uweigand@de.ibm.com>
2400
2401 * config/s390/s390.c (s390_split_branches): Revert 2005-08-12 change.
2402 (s390_register_info): Ignore clobbered_regs information for fixed
2403 registers, and only fixed registers.
2404 (s390_init_frame_layout): Remove redundant call.
2405
7cd5c075
GP
24062005-08-12 Gerald Pfeifer <gerald@pfeifer.com>
2407
c414ac1d 2408 * doc/invoke.texi (C++ Dialect Options): Add dynamic_cast to
7cd5c075
GP
2409 description of -Wold-style-casts.
2410
7b8acc34
AK
24112005-08-12 Andreas Krebbel <krebbel1@de.ibm.com>
2412 Jakub Jelinek <jakub@redhat.com>
2413
2414 * config/s390/linux.h (TARGET_THREAD_SSP_OFFSET): Define.
2415 * config/s390/s390-protos.h (s390_get_thread_pointer): Prototype added.
2416 * config/s390/s390.c (print_operand): New output modifier 'G' added.
2417 (get_thread_pointer): Renamed to s390_get_thread_pointer.
2418 * config/s390/s390.md (stack_protect_set, stack_protect_test): If
2419 TARGET_THREAD_SSP_OFFSET is defined, change operands[1] to
2420 (MEM:P (PLUS:P (tp, TARGET_THREAD_SSP_OFFSET))).
2421 (UNSPEC_SP_SET, UNSPEC_SP_TEST): New constants.
2422 ("stack_protect_set", "stack_protect_test"): New expanders.
2423 ("stack_protect_setsi", "stack_protect_setdi", "stack_protect_testsi",
2424 "stack_protect_testdi"): New insn definitions.
2425
4700982d
AK
24262005-08-12 Andreas Krebbel <krebbel1@de.ibm.com>
2427
2428 * config/s390/s390.md ("*movdf_31"): Changed constraint from P to K.
2429
3c60bed5
PB
24302005-08-12 Paul Brook <paul@codesourcery.com>
2431
2432 * config/arm/lib1funcs.asm: Error if __ARM_ARCH__ not set.
2433
f83a336d
AK
24342005-08-12 Andreas Krebbel <krebbel1@de.ibm.com>
2435
2436 * config/s390/predicates.md (setmem_operand): New predicate.
2437 (shift_count_operand): Accept ANDs with special constants as
2438 operand.
2439 * config/s390/s390.c (print_shift_count_operand): Skip ANDs
2440 with special constants.
2441 * config/s390/s390.md ("setmem_long", "*setmem_long"): Replaced
2442 shift_count_operand with setmem_operand.
2443
c4d50129
AK
24442005-08-12 Andreas Krebbel <krebbel1@de.ibm.com>
2445
2446 * config/s390/s390.c (s390_extract_part, s390_single_part):
2447 Type cast added.
2448 (s390_const_ok_for_constraint_p): Added SImode to the N constraint.
2449 (s390_output_mi_thunk): Don't use lg on 31 bit.
2450 * config/s390/s390.md ("*movdi_31", "*movdf_31"): Added lmy and stmy.
2451 ("*llgt_sisi" and splitter): Replaced TARGET_64BIT with TARGET_ZARCH.
2452
b5c67a49
AK
24532005-08-12 Andreas Krebbel <krebbel1@de.ibm.com>
2454
2455 * config/s390/s390.c (CONST_OK_FOR_J, CONST_OK_FOR_K): New macros.
2456 (s390_select_ccmode, s390_rtx_costs, legitimate_reload_constant_p,
2457 s390_init_frame_layout, s390_emit_prologue, s390_emit_epilogue,
2458 s390_output_mi_thunk): Replaced uses of CONST_OK_FOR_CONSTRAINT_P
2459 with one of the new macros.
2460
dc4477f5
AK
24612005-08-12 Andreas Krebbel <krebbel1@de.ibm.com>
2462
c414ac1d 2463 * config/s390/s390.c (s390_split_branches, s390_init_frame_layout):
dc4477f5
AK
2464 Don't set save_return_addr_p.
2465 (s390_register_info): Make clobbered_regs not depending on
2466 save_return_addr_p.
2467
ec92bd4b
KK
24682005-08-12 Kaz Kojima <kkojima@gcc.gnu.org>
2469
2470 * gcc.c (LINK_SSP_SPEC): Remove space before a trailing }.
2471 (LINK_COMMAND_SPEC): Add space after %(link_ssp).
2472
8c2efff7
JW
24732005-08-11 James E. Wilson <wilson@specifix.com>
2474
2475 * config/ia64/ia64.h (EXTRA_MEMORY_CONSTRAINT): New.
2476
ea93971a
JJ
24772005-08-11 Jakub Jelinek <jakub@redhat.com>
2478
86bd8ebf
JJ
2479 * dwarf2out.c (add_location_or_const_value_attribute): Prefer
2480 locations gathered by var-tracking in single entry loc_list
2481 over loc_descriptor_from_tree.
2482
ea93971a
JJ
2483 * dwarf2out.c (concat_loc_descriptor): Add can_use_fbreg argument,
2484 pass it down to loc_descriptor.
2485 (loc_descriptor): Pass can_use_fbreg to concat_loc_descriptor.
2486 (containing_function_has_frame_base): Move earlier in the file.
2487 (loc_descriptor_from_tree_1): Use containing_function_has_frame_base
2488 instead of always assuming fbreg can't be used.
2489
dec1f3aa
DE
24902005-08-11 David Edelsohn <edelsohn@gnu.org>
2491
2492 * config/rs6000/altivec.md: Change constraint "m" to "Z".
2493 * config/rs6000/predicates.md (indexed_or_indirect_operand):
2494 Accept address wrapped in AND for Altivec.
2495 * config/rs6000/rs6000.c (rs6000_legitimize_reload_address):
2496 Strip AND wrapping offset address for Altivec.
2497
7fd6694b
RH
24982005-08-11 Richard Henderson <rth@redhat.com>
2499
2500 PR middle-end/23312
2501 * gimplify.c (gimplify_one_sizepos): Check for INTEGER_TYPE
2502 before using TYPE_IS_SIZETYPE.
2503
4ead2a39
RH
25042005-08-11 Richard Henderson <rth@redhat.com>
2505
2506 PR target/22225
2507 * config/alpha/alpha.c (alphaev4_insn_pipe): Add take pipes for
2508 insn types not present on ev4.
2509 (alphaev5_insn_pipe): Similarly.
2510
da8ce8be
RE
25112005-08-11 Richard Earnshaw <richard.earnshaw@arm.com>
2512
2513 PR target/23250
2514 * arm.c (arm_override_options): If the user has selected callee-super-
2515 interworking, then enable normal interworking.
2516
eb2b0cc0
RO
25172005-08-11 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
2518
2519 * config/i386/x86-64.h (ASM_OUTPUT_ALIGNED_BSS): Undef before
2520 redefinition.
2521
b630e240
WZ
25222005-08-11 Wu Zhou <woodzltc@cn.ibm.com>
2523
2524 * doc/rtl.texi: Fix two typos.
2525
cac32996
RG
25262005-08-11 Richard Guenther <rguenther@suse.de>
2527
2528 PR target/23289
2529 * config/i386/i386.c (ix86_function_ok_for_sibcall): Handle
2530 cases where we call to/from functions returning void.
2531
a4faac50
JM
25322005-08-10 James A. Morrison <phython@gcc.gnu.org>
2533
2534 PR c++/23225
2535 * tree.c (build_pointer_type_for_mode): Robustify.
2536
907f033f
JW
25372005-08-10 James E Wilson <wilson@specifix.com>
2538
2539 * defaults.h, config/alpha/alpha.h, config/ia64/ia64.h
2540 (ASM_OUTPUT_ADDR_VEC_ELT): Delete.
2541
2542 * config/alpha/alpha.c (alpha_arg_partial_bytes): Change "(CUM)." to
2543 "cum->".
2544
bb8df8a6
EC
25452005-08-10 Eric Christopher <echristo@apple.com>
2546
2547 * config/rs6000/rs6000.c (mems_ok_for_quad_peep): Rewrite.
2548 * config/rs6000/rs6000.md (*lfq_power2, *stfq_power2): Use
2549 V2DFmode.
2550
4f8dbd34
AP
25512005-08-10 Andrew Pinski <pinskia@physics.uc.edu>
2552
ce31ea84 2553 PR target/21887
4f8dbd34
AP
2554 * config/darwin.c (machopic_indirect_data_reference): Use a new register
2555 for the high part when generating dynamic-no-pic code.
2556
d75e02d6
L
25572005-08-10 H.J. Lu <hongjiu.lu@intel.com>
2558
2559 * config.gcc (i[34567]86-*-linux*): Add i386/t-crtfm to tm-file.
2560 (x86_64-*-linux*): Likewise.
2561
2562 * config/i386/crtfastmath.c: New file.
2563 * config/i386/t-crtfm: Likewise.
2564
2565 * config/i386/linux.h (ENDFILE_SPEC): New.
2566 * config/i386/linux64.h (ENDFILE_SPEC): Likewise.
2567
2568 * config/i386/t-linux64 (EXTRA_MULTILIB_PARTS): Add
2569 crtfastmath.o.
2570
61abee65
DN
25712005-08-10 Dorit Nuzman <dorit@il.ibm.com>
2572
2573 * doc/md.texi: (reduc_smin, reduc_umin, reduc_splus, reduc_uplus):
2574 (vec_shl, vec_shr): Document new operations.
2575 * tree.def (VEC_RSHIFT_EXPR, VEC_LSHIFT_EXPR): Fix comment.
2576
11aac14f
DE
25772005-08-10 David Edelsohn <edelsohn@gnu.org>
2578
2579 * config/rs6000/predicates.md (indexed_or_indirect_address): New.
2580 * config/rs6000/rs6000.md (prefetch): Remove operand 0 mode and
2581 change predicate to indexed_or_indirect_address.
2582
9bd05108
RS
25832005-08-10 Richard Sandiford <richard@codesourcery.com>
2584
2585 * config/arm/lib1funcs.asm (__aeabi_uidiv, __aeabi_idiv): New aliases.
2586 * config/arm/libgcc-bpabi.ver (GCC_3.5): Add __aeabi_idiv,
2587 __aeabi_uidiv, __aeabi_uread4, __aeabi_uread8, __aeabi_uwrite4
2588 and __aeabi_uwrite8.
2589 * config/arm/unaligned-funcs.c: New file.
2590 * config/arm/t-bpabi (LIB2FUNCS_EXTRA): Add unaligned-funcs.c.
2591
defb77dc
PB
25922005-08-09 Paolo Bonzini <bonzini@gnu.org>
2593
2594 * bb-reorder.c (pass_duplicate_computed_gotos, pass_partition_blocks):
2595 Add dump.
2596 * cfglayout.c (pass_insn_locators_initialize): Add dump.
2597 * emit-rtl.c (pass_unshare_all_rtl, pass_remove_unnecessary_notes):
2598 Add dump.
2599 * except.c (pass_convert_to_eh_region_ranges): Add dump.
2600 * final.c (pass_shorten_branches): Add dump.
2601 * flow.c (pass_recompute_reg_usage, pass_remove_death_notes): Add dump.
2602 (pass_life): Rename dump.
2603 (rest_of_handle_flow2): Remove initial verify_flow_info.
2604 * function.c (pass_instantiate_virtual_regs): Add dump.
2605 * integrate.c (pass_initial_value_sets): Add dump.
2606 * jump.c (pass_cleanup_barriers, pass_purge_lineno_notes): Add dump.
2607 * loop-init.c (pass_rtl_loop_init, pass_rtl_loop_done): Rename dump.
2608 (pass_rtl_move_loop_invariants, pass_rtl_unswitch, pass_rtl_doloop,
2609 pass_rtl_unroll_and_peel_loops): Rename dump and add gate.
2610 (gate_rtl_move_loop_invariants, gate_rtl_unswitch, gate_rtl_doloop,
2611 gate_rtl_unrool_and_peel_loops): New.
2612 (rtl_move_loop_invariants, rtl_unswitch, rtl_unrool_and_peel_loops,
2613 rtl_doloop): Do not look at flags.
2614 * mode-switching.c (pass_mode_switching): Add dump.
2615 * recog.c (pass_split_all_insns, pass_split_for_shorten_branches,
2616 pass_split_before_regstack): Add dump.
2617 * regmove.c (pass_stack_adjustments): Add dump.
2618 * tree-optimize.c (pass_fixup_cfg): Add dump.
2619
2a6a63c1
KI
26202005-08-10 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
2621
2622 PR 23309
2623 * config/m32r/m32r.c (m32r_reload_lr): Fix off by one error when
2624 deciding which instruction sequence to use.
2625
0ed414a4
DN
26262005-08-09 Dorit Nuzman <dorit@il.ibm.com>
2627
bb8df8a6 2628 * tree-vect-transform.c (vect_create_epilog_for_reduction): Set
0ed414a4
DN
2629 BIT_FIELD_REF_UNSIGNED for newly created BIT_FIELD_REFs.
2630
9bc15050
RG
26312005-08-09 Richard Guenther <rguenther@suse.de>
2632
2633 * c-common.c (builtin_function_2): Remove.
2634 (def_builtin_1): New function.
2635 (c_common_nodes_and_builtins): Use def_builtin_1 to
2636 build builtin functions.
2637
07da68fd
JZ
26382005-08-09 Jie Zhang <jie.zhang@analog.com>
2639
2640 * config/bfin/uclinux.h (NO_IMPLICIT_EXTERN_C): Define.
2641 * config/bfin/elf.h (NO_IMPLICIT_EXTERN_C): Define.
2642 * config/bfin/bfin.c (bfin_return_in_memory): Update to really match
2643 Visual DSP.
2644
2f133f46
JM
26452005-08-09 James A. Morrison <phython@gcc.gnu.org>
2646
2647 * tree-ssa-loop-niter.c (tree_simplify_using_condition_1): Use
2648 fold_binary instead of fold_build2 since we don't care about the
2649 resulting tree.
2650 (loop_niter_by_eval): Likewise.
2651 (compare_trees): Likewise.
2652 (proved_non_wrapping_p): Likewise.
2653
f14e694e
JM
26542005-08-09 James A. Morrison <phython@gcc.gnu.org>
2655
2656 PR c/23161
2657 PR c/23165
2658 * c-typeck.c (c_finish_if_stmt): Look into STATEMENT_LISTs to see
2659 if the if is really empty.
2660
2ef571e2
SB
26612005-08-09 Steven Bosscher <stevenb@suse.de>
2662
2663 PR tree-optimization/23234
2664 * tree-ssa-math-opts.c (place_reciprocal): New enum.
2665 (execute_cse_reciprocals_1): Replace the 'phi' argument with an
2666 argument of the new enum.
2667 (execute_cse_reciprocals): Add reciprocals for function arguments
2668 on the unique successor edge of the entry block. Update other calls
2669 to execute_cse_reciprocals_1.
2670
a9c5ddf9
RH
26712005-08-08 Richard Henderson <rth@redhat.com>
2672
2673 PR 22439
2674 * gimplify.c (gimplify_one_sizepos): Preserve the original type.
2675
22469409
BW
26762005-08-08 Bob Wilson <bob.wilson@acm.org>
2677
2678 * expr.c (write_complex_part): Return after handling MEM.
2679
2d88fcc2
JC
26802005-08-08 Josh Conner <jconner@apple.com>
2681
2682 PR rtl-optimization/23241
2683 * combine.c (simplify_comparison): Fix error in determining
2684 whether to lift a subreg from comparison.
2685
7a4eca66
DE
26862005-08-08 David Edelsohn <edelsohn@gnu.org>
2687
2688 PR target/18506
2689 * config/rs6000/altivec.md (vec_init<mode>): New.
2690 (vec_set<mode>): New.
2691 (vec_extract<mode>): New.
2692 * config/rs6000/rs6000.c (rs6000_expand_vector_init): New.
2693 (rs6000_expand_vector_set): New.
2694 (rs6000_expand_vector_extract): New.
2695 (rs6000_legitimate_offset_address_p): Offset addresses are valid
2696 for Altivec modes before reload.
2697 (altivec_expand_vec_init_builtin): New.
2698 (get_element_number): New.
2699 (altivec_expand_vec_set_builtin): New.
2700 (altivec_expand_vec_ext_builtin): New.
2701 (altivec_expand_builtin): Expand vec_init, vec_set, and vec_ext
2702 builtins.
2703 (altivec_init_builtins): Init vec_init, vec_set, and vec_ext
2704 builtins.
2705 * config/rs6000/rs6000.h (rs6000_builtins): Add
2706 ALTIVEC_BUILTIN_VEC_INIT_<mode>, ALTIVEC_BUILTIN_VEC_SET_<mode>,
2707 ALTIVEC_BUILTIN_VEC_EXT_<mode>.
2708 * config/rs6000/rs6000-protos.h: Declare new functions.
2709
47efdea4
JH
27102005-08-08 Jan Hubicka <jh@suse.cz>
2711
2712 * i386.c (legitimate_pic_address_disp_p): Refuse GOTOFF in 64bit mode.
2713 (legitimate_address_p): Refuse GOT and GOTOFF in 64bit mode.
2714 * i386.md (movdi*): Use pic_32bit_operand.
2715 * predicates.md (pic_32bit_operand): New.
2716
f303a996
NS
27172005-08-08 Nathan Sidwell <nathan@codesourcery.com>
2718
2719 PR c++/21166
2720 * stor-layout.c (finalize_type_size): Undo DECL_PACKED when possible.
2721
a5ad7269
JM
27222005-08-07 James A. Morrison <phython@gcc.gnu.org>
2723
2724 * tree-vrp.c (simplify_div_or_mod_using_range): Use build2.
2725 (test_for_singularity): Use fold_build2.
2726
914a6ee8
JDA
27272005-08-07 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2728
2729 * pa64-regs.h (CONDITIONAL_REGISTER_USAGE): Fix loop upper bound.
2730
f18faab7
DS
27312005-08-07 Danny Smith <dannysmith@users.sourceforge.net>
2732
2733 * config/i386/cygming.h (SUBTARGET_ENCODE_SECTION_INFO): Define.
2734 (COMMON_ASM_OP) Define.
2735 * config/i386/i386.c (ix86_in_large_data_p): Add ATTRIBUTE_UNUSED
2736 (ix86_encode_section_info): Likewise.
2737 (TARGET_ENCODE_SECTION_INFO): Conditionally define as
2738 SUBTARGET_ENCODE_SECTION_INFO.
2739
455c08cb
RH
27402005-08-06 Richard Henderson <rth@redhat.com>
2741
2742 PR 21894
2743 * tree-nested.c (convert_local_reference): Save and restore val_only
2744 around component_ref and friends. Clear walk_subtrees by default.
2745
3300bf07
PG
27462005-08-06 Peter O'Gorman <peter@pogma.com>
2747
2748 PR 21366
2749 * gcc.c (process_command): Check the argument to -b has a dash.
2750 * doc/invoke.texi: Update -b and -V docs.
2751
e2ba06d6
JW
27522005-08-06 James E Wilson <wilson@specifix.com>
2753
2754 * config/mips/cross64.h, config/mips/t-cross64: Delete.
2755
3e0a6ca6
MM
27562005-08-06 Michael Matz <matz@suse.de>
2757
2758 * genattrtab.c (write_attr_get, write_attr_case): Use insn_code
2759 member only if only one insn is associated with the value.
2760
2f806f3b
NC
27612005-08-06 Nick Clifton <nickc@redhat.com>
2762
2763 * config/stormy16/stormy16.h (SYMBOL_FLAG_XSTORMY16_BELOW100):
2764 New define.
3e0a6ca6 2765 (ASM_OUTPUT_LABELREF): Delete - it is no longer needed.
2f806f3b
NC
2766 * config/stormy16/stormy16.c (xstormy16_below100_symbol):
2767 Check symbol flags instead of symbol name mangling.
3e0a6ca6 2768 (xstormy16_asm_output_aligned_common): Likewise. Also
2f806f3b
NC
2769 simplify code since the bss100_section cass is the only case
2770 where the below100 code will be triggered.
3e0a6ca6 2771 (xstormy16_encode_section_info): Encode below100 attribute
2f806f3b
NC
2772 using the SYMBOL_FLAG_XSTORMY16_BELOW100 instead of mangling
2773 the name.
3e0a6ca6 2774 (xstormy16_strip_name_encoding): Delete - this function is no
2f806f3b 2775 longer needed.
3e0a6ca6 2776 (TARGET_STRIP_NAME_ENCODING): Undefine.
2f806f3b
NC
2777 * config/stormy16/stormy16-protos.h: Delete prototype for
2778 xstormy16_strip_name_encoding.
2779
a4d05547
KH
27802005-08-06 Kazu Hirata <kazu@codesourcery.com>
2781
2782 * Makefile.in, cfgexpand.c, cfgloop.h, cfgloopmanip.c,
2783 config.gcc, ipa-cp.c, ipa-prop.c, ipa-prop.h, reg-stack.c,
2784 tree-ssa-structalias.c, tree-vrp.c, value-prof.c, vec.h,
2785 config/linux.h, config/alpha/alpha.h, config/alpha/linux.h,
2786 config/alpha/predicates.md, config/arc/arc.h,
2787 config/arm/arm.h, config/arm/ieee754-df.S,
2788 config/arm/ieee754-sf.S, config/bfin/bfin.c,
2789 config/bfin/bfin.h, config/c4x/c4x.h, config/crx/crx.c,
2790 config/fr30/fr30.h, config/frv/frv.h, config/h8300/h8300.h,
2791 config/i386/i386.h, config/ia64/ia64.c, config/ia64/ia64.h,
2792 config/m68hc11/m68hc11.h, config/mips/mips.c,
2793 config/mips/mips.h, config/mips/openbsd.h,
2794 config/mn10300/mn10300.h, config/pa/pa.c, config/pa/pa.h,
2795 config/pdp11/pdp11.h, config/rs6000/linux-unwind.h,
2796 config/rs6000/rs6000.c, config/rs6000/rs6000.h,
2797 config/s390/s390.c, config/sh/sh.c, config/sh/sh.h,
2798 config/sparc/linux.h, config/sparc/linux64.h,
2799 config/sparc/sparc.h, config/v850/v850.h, config/vax/vax.h,
2800 doc/extend.texi, doc/gcov.texi, doc/install.texi,
2801 doc/invoke.texi, doc/rtl.texi, doc/tm.texi: Fix comment/doc
2802 typos. Follow spelling conventions.
2803
591baeb0
JM
28042005-08-06 Joseph S. Myers <joseph@codesourcery.com>
2805
2806 PR c/23113
2807 * stmt.c (warn_if_unused_value): Check TREE_NO_WARNING at start.
2808 Don't handle NOP_EXPR, CONVERT_EXPR and NON_LVALUE_EXPR
2809 specially. Check for side effects only for COND_EXPR.
2810 * c-typeck.c (c_finish_stmt_expr): Mark statement expression
2811 return with TREE_NO_WARNING.
2812
f7a064b5
RS
28132005-08-06 Richard Sandiford <richard@codesourcery.com>
2814
2815 PR rtl-optimization/23233
2816 * loop.c (combine_movables): Require the modes to be the same.
2817 (move_movables): Remove handling of cases where the replacement
2818 had a different mode to the original.
2819
b17775ab
JM
28202005-08-05 James A. Morrison <phython@gcc.gnu.org>
2821
2822 PR tree-optimization/23128
2823 * tree-vrp.c (vrp_int_const_binop): Check if unsigned addition or
2824 subtraction wrap, and set TREE_OVERFLOW if they do.
2825
bb1ecfe8
RH
28262005-08-05 Richard Henderson <rth@redhat.com>
2827
2828 PR 21728
2829 * tree-cfg.c (remove_bb): Transmute DECL_NONLOCAL labels into
2830 FORCED_LABEL labels.
2831
50aa8e71
R
28322005-08-05 J"orn Rennecke <joern.rennecke@st.com>
2833
2834 PR middle-end/23135
2835 * reload.c (find_reloads_subreg_address): Pass down TYPE
2836 unchanged. Change all callers except find_reloads_toplev.
2837
b01896cc
MM
28382005-08-05 Michael Matz <matz@suse.de>
2839
2840 * genattrtab.c (current_alternative_string): Remove.
2841 (SIMPLIFY_ALTERNATIVE): Ditto.
2842 (attr_alt_bit_p): Ditto.
2843 (alternative_name): Make const char *.
2844 (evaluate_eq_attr): Remove use of above things.
2845 (simplify_test_exp): Ditto.
2846 (simplify_test_exp <EQ_ATTR>): Guard for insn_code < 0 .
2847 (simplify_test_exp <AND>): Correct typo (test 'right' not 'left').
2848
3f94bdec
JW
28492005-08-04 James E Wilson <wilson@specifix.com>
2850
2851 * config/ptx4.h, config/sol2.h, config/arm/freebsd.h,
2852 config/arm/linux-elf.h, config/frv/frv.h, config/i386/freebsd.h,
2853 config/i386/freebsd64.h, config/i386/netware.h, config/i386/sco5.h,
2854 config/ia64/freebsd.h, config/rs6000/sysv4.h, config/sparc/freebsd.h
2855 (LINK_SPEC): Delete useless %{Wl,*:%*} item.
2856
460f84ed
RH
28572005-08-04 Richard Henderson <rth@redhat.com>
2858
2859 PR 21529
2860 * params.def (PARAM_SRA_MAX_STRUCTURE_COUNT): New.
2861 * params.h (SRA_MAX_STRUCTURE_COUNT): New.
2862 * tree-sra.c (decide_block_copy): Use it. Disable element copy
2863 if we'd have to instantiate too many members.
2864
5a910e43
RH
28652005-08-04 Richard Henderson <rth@redhat.com>
2866
2867 PR 21291
2868 * tree-outof-ssa.c (coalesce_asm_operands): New.
2869 (coalesce_ssa_name): Use it. Split out ...
2870 (coalesce_phi_operands, coalesce_result_decls): ... these.
2871
27c37000
PB
28722005-08-04 Paul Brook <paul@codesourcery.com>
2873
2874 * read-rtl.c (read_quoted_string): Break if EOF.
2875
5808968e
AP
28762005-08-04 Andrew Pinski <pinskia@physics.uc.edu>
2877
2878 * tree.h (fold_build1): Change to macro and call fold_build1_stat.
2879 (fold_build2): Likewise.
2880 (fold_build3): Likewise.
2881 (fold_build1_stat): New function prototype.
2882 (fold_build2_stat): Likewise.
2883 (fold_build3_stat): Likewise.
2884 * fold-const.c (fold_build1): Rename to ..
2885 (fold_build1_stat): this. Add MEM_STAT_DECL. Pass the mem stats
2886 through to build1_stat.
2887 (fold_build2): Rename to ..
2888 (fold_build2_stat): this. Add MEM_STAT_DECL. Pass the mem stats
2889 through to build2_stat.
2890 (fold_build3): Rename to ..
2891 (fold_build3_stat): this. Add MEM_STAT_DECL. Pass the mem stats
2892 through to build3_stat.
2893
d70eadf7 28942005-08-04 David Edelsohn <edelsohn@gnu.org>
6d62ac14 2895 Ian Lance Taylor <ian@airs.com>
d70eadf7
DE
2896
2897 * function.c (assign_stack_local_1): Do not correct stack slot
2898 address if allocation size is smaller than mode size.
2899
c4f548b8
DN
29002005-08-04 Diego Novillo <dnovillo@redhat.com>
2901
2902 PR 22037
2903 * tree-cfg.c (replace_uses_by): Call mark_new_vars_to_rename.
2904 (tree_merge_blocks): Propagate anything allowed by
2905 may_propagate_copy.
2906 Clarify documentation.
2907 * passes.c (execute_todo): If cleanup_tree_cfg invalidated the
2908 SSA form, schedule an update if necessary.
2909
2b7c3273
GP
29102005-08-04 Gerald Pfeifer <gerald@pfeifer.com>
2911
2912 * doc/install.texi (Binaries): Remove broken link to
2913 Sinix/Reliant Unix binaries.
2914
b755446c
RH
29152005-08-03 Richard Henderson <rth@redhat.com>
2916
2917 PR 23221
2918 * function.c (stack_protect_epilogue): Export.
2919 * tree.h (stack_protect_epilogue): Declare.
2920 * calls.c (expand_call): Call it.
2921
7904f95f
EC
29222005-08-03 Eric Christopher <echristo@apple.com>
2923
2924 * gcc.c (LINK_SSP_SPEC): Add fstack-protector-all.
2925 * config/darwin.h (LINK_COMMAND_SPEC): Add link_ssp
2926 spec.
2927
d783b2a2
JH
29282005-08-04 Jan Hubicka <jh@suse.cz>
2929
2930 * profile.c (branch_prob): Split edges with goto locus on them
2931 to get proper line counts.
2932 * tree-cfg.c (make_cond_expr_edges): Record user goto locuses, if any.
2933
53366450
PB
29342005-08-03 Paul Brook <paul@codesourcery.com>
2935
2936 * function.c (assign_parms): Round current_function_args_size
2937 to PARM_BOUNDARY, not STACK_BOUNDARY.
2938
e81d37df
GK
29392005-08-03 Geoffrey Keating <geoffk@apple.com>
2940
2941 * config/i386/i386.c (x86_elf_aligned_common)
2942 (x86_output_aligned_bss): Don't try to use symbols that aren't defined.
2943
279072c8
ZD
29442005-08-03 Zdenek Dvorak <dvorakz@suse.cz>
2945
2946 PR tree-optimization/23157
2947 * tree-scalar-evolution.c (scev_const_prop): Unshare trees
2948 before emitting them.
2949
9d2b0e12
VR
29502005-08-03 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
2951
2952 PR tree-optimization/19899
2953 * Makefile.in (tree-scalar-evolution.o): Add real.h.
2954 * tree-scalar-evolution.c: Include real.h.
2955 (add_to_evolution): Build constant -1 of correct type.
2956
178df94f
JH
29572005-08-03 Jan Hubicka <jh@suse.cz>
2958
2959 * cfgloop.h (DLTHE_FLAG_COMPLETTE_PEEL): New flag.
2960 * cfgloopmanip.c (duplicate_loop_to_header_edge): Special case
2961 profile updating for complette unrolling.
2962 * loop-unroll.c (peel_loop_completely): Use it.
2963 * tree-ssa-loop-ivcanon.c (try_unroll_loop_completely): Likewise.
2964 (tree_unroll_loops_completely): Disable code growing unrolling of cold
2965 loops.
2966
4164b2fb
PB
29672005-08-03 Paul Brook <paul@codesourcery.com>
2968
2969 * combine.c (can_change_dest_mode): New function.
2970 (try_combine, simplify_set): Use it.
2971
4e2b3c87
EB
29722005-08-03 Eric Botcazou <ebotcazou@adacore.com>
2973
2974 * config/ia64/hpux.h (MEMBER_TYPE_FORCES_BLK): Only force
2975 TFmode to BLKmode.
2976
1d7887ca
GP
29772005-08-03 Gerald Pfeifer <gerald@pfeifer.com>
2978
2979 * doc/install.texi (Specific): Adjust link to openavr.org.
2980 (Specific): Remove broken reference to GCC 2.8.1 for OS/2.
2981 (Binaries): Adjust HP-UX Porting Center link.
2982 (Binaries): Adjust Free Software Foundation ordering link.
1d7887ca 2983
c7f59e9c
AP
29842005-08-03 Andrew Pinski <pinskia@physics.uc.edu>
2985
2986 * convert.c (convert_to_integer): Use fold_build1 instead of
2987 build1 when converting an integer to an integer.
2988
65030b76
RH
29892005-08-02 Richard Henderson <rth@redhat.com>
2990
2991 * combine.c (combine_instructions): Don't use reg_equal/equiv
2992 results if the mode doesn't match.
2993
6d1ab63a
MM
29942005-08-02 Mark Mitchell <mark@codesourcery.com>
2995
2996 * config/i386/t-mingw32 (NATIVE_SYSTEM_HEADER_DIR): Set it.
2997 * doc/fragments.texi (NATIVE_SYSTEM_HEADER_DIR): Document it.
2998
6d90db3a
RH
29992005-08-02 Richard Henderson <rth@redhat.com>
3000
3001 PR 23196
7904f95f 3002 * explow.c (memory_address): Remove special-case for
6d90db3a
RH
3003 virtual_stack_vars_rtx and virtual_incoming_args_rtx.
3004
78234a86
DN
30052005-08-02 Diego Novillo <dnovillo@redhat.com>
3006
3007 PR 23164
3008 * tree-cfgcleanup.c (cleanup_tree_cfg): Do not limit the
3009 number of calls to cleanup_tree_cfg_1.
3010
5a006700
MR
30112005-08-02 Martin Reinecke <martin@mpa-garching.mpg.de>
3012
3013 * doc/invoke.texi: document file extensions .F90 and .F95
3014
237504fc
RG
30152005-08-02 Richard Guenther <rguenther@suse.de>
3016
3017 * fold-const.c (tree_expr_nonnegative_p): frexp(x, &e) is
3018 positive if its first argument is positive.
3019
e63c84d8
RG
30202005-08-02 Richard Guenther <rguenther@suse.de>
3021
3022 PR tree-optimization/23177
3023 * tree-ssa-operands.c (get_tmr_operands): Use get_expr_operands
3024 on TMR_TAG.
3025
08303d5b
JM
30262005-08-02 James A. Morrison <phython@gcc.gnu.org>
3027
3028 PR tree-optimization/23129
3029 * tree-vrp.c (extract_range_from_binary_expr): Set value range to
3030 varying for divisions with anti-ranges.
3031
5e5a504e
JH
30322005-08-02 Jan Hubicka <jh@suse.cz>
3033
3034 * tree-ssa-dom.c (thread_across_edge): Remove updating here.
3035 * tree-ssa-threadupdate.c (thread_block): Add it here.
3036
4dbdb061
JW
30372005-08-01 James E Wilson <wilson@specifix.com>
3038
3039 * config/mips/mips.c (mips_encode_section_info, mips_attribute_table,
3040 TARGET_ENCODE_SECTION_INFO, TARGET_ATTRIBUTE_TABLE): New.
3041 * config/mips/mips.h (SYMBOL_FLAG_LONG_CALL, SYMBOL_REF_LONG_CALL_P):
3042 New.
3043 * config/mips/predicates.md (const_call_insn_operand): Add check for
3044 SYMBOL_REF_LONG_CALL_P.
3045 * doc/extend.texi (long_call): Document the new attribute.
3046
9e254451
ILT
30472005-08-01 Ian Lance Taylor <ian@airs.com>
3048 Richard Henderson <rth@redhat.com>
3049
3050 * Makefile.in (RTL_BASE_H): Add real.h.
3051 * real.h (REAL_VALUE_FROM_CONST_DOUBLE): Use structure copy
3052 instead of memcpy.
3053 * emit-rtl.c (const_double_from_real_value): Likewise; use rtx.u.rv
3054 directly.
3055 * rtl.c (rtl_check_failed_code_mode): New.
3056 * rtl.h (struct rtx_def): Add u.rv.
3057 (XCMWINT, XCNMPRV): New.
3058 (CONST_DOUBLE_LOW, CONST_DOUBLE_HIGH): Use XCMWINT.
3059 (CONST_DOUBLE_REAL_VALUE): Use XCNMPRV; constify.
3060
5671655e
RH
30612005-08-01 Richard Henderson <rth@redhat.com>
3062
75735872
RH
3063 * dwarf2out.c (mem_loc_descriptor): Use XEXP, not SUBREG_REG,
3064 with auto-inc codes.
3065
5671655e
RH
3066 * config/alpha/predicates.md (and_operand): Test mode of CONST_DOUBLE.
3067
72ce3d4a
JH
30682005-08-01 Jan Hubicka <jh@suse.cz>
3069
3070 * i386-protos.h (asm_preferred_eh_data_format): Declare.
3071 * i386.c: Include dwarf2.h
3072 (asm_preferred_eh_data_format): New.
3073 * i386.h (ASM_PREFERRED_EH_DATA_FORMAT): Move offline.
3074
23d28bfe
ILT
30752005-08-01 Ian Lance Taylor <ian@airs.com>
3076
3077 * config/host-linux.c (linux_gt_pch_get_address): Add new name
3078 randomize_va_space for virtual address randomization control.
3079
d6e14e8f
SB
30802005-08-01 Steven Bosscher <stevenb@suse.de>
3081
3082 * common.opt (flag_ipa_cp): Put in right place to maintain
3083 alphabetic sort.
3084
5ded7254
JH
30852005-08-01 Jan Hubicka <jh@suse.cz>
3086
3087 * profile.c (compute_value_histograms): Fix thinko.
3088 * value-prof.c: Include toplev.h
3089 (check_counter): New function.
3090 (tree_divmod_fixed_value_transform, tree_mod_pow2_value_transform,
3091 tree_mod_subtract_transform): Add sanity check.
3092
a8f82ec4
RG
30932005-08-01 Richard Guenther <rguenther@suse.de>
3094
3095 PR tree-optimization/23133
3096 * tree-ssa-math-opts.c (execute_cse_reciprocals): Walk
3097 current functions parameter decls to find defs to cse
3098 reciprocals of.
3099
ac264fef
RG
31002005-08-01 Richard Guenther <rguenther@suse.de>
3101
3102 PR tree-optimization/23109
3103 * tree-ssa-math-opts.c (execute_cse_reciprocals_1):
3104 If trapping math is in effect, use post-dominator information
3105 to check if we'd in any case reach a trapping point before
3106 doing the reciprocal insertion.
3107 (execute_cse_reciprocals): Compute post-dominators, if necessary.
3108 * tree-ssa-loop-im.c (determine_invariantness_stmt): RDIV
3109 expressions are invariant only if trapping math is not in effect.
3110
57fb5341
RL
31112005-08-01 Razya Ladelsky <razya@il.ibm.com>
3112
5a006700
MR
3113 * cgraph.h (update_call_expr, cgraph_copy_node_for_versioning,
3114 cgraph_function_versioning): New declarations.
3115 * cgraphunit.c: Add include to ipa-prop.h.
3116 (update_call_expr, cgraph_copy_node_for_versioning,
3117 cgraph_function_versioning): New functions.
3118 * integrate.c (copy_decl_for_inlining): Remove.
3119 * ipa-prop.h (ipa_replace_map): New struct.
3120 (struct ipa_node): Add ipcp_orig_node, count_scale, new fields.
3121 * ipa-cp.c (ipcp_method_orig_node, ipcp_method_is_cloned,
3122 ipcp_method_set_orig_node, ipcp_cloned_create, ipcp_method_get_scale,
3123 ipcp_method_set_scale, ipcp_method_compute_scale, ipcp_after_propagate,
3124 ipcp_iterate_stage, ipcp_method_scale_print,
3125 ipcp_profile_mt_count_print, ipcp_profile_cs_count_print,
3126 ipcp_profile_edge_print, ipcp_profile_bb_print , ipcp_profile_print,
3127 ipcp_replace_map_create, ipcp_redirect, ipcp_update_callgraph,
3128 ipcp_update_bb_counts, ipcp_update_profiling,
3129 ipcp_update_edges_counts): New functions.
3130 (ipcp_method_cval_init): Remove restriction regarding local methods.
3131 (ipcp_init_stage): Add ipcp_method_compute_scale.
3132 (ipcp_insert_stage): Add versioning.
3133 (ipcp_structures_print): Add ipcp_method_scale_print.
3134 (ipcp_driver): Dump profiling info.
3135 * Makefile.in: Remove integrate.h dependency from tree-inline.o.
3136 Add ipa-prop.h dependency to tree-inline.o and cgraphunit.o.
3137 * tree-inline.c: Remove include to integrate.h, Add include ipa-prop.h.
3138 (struct inline_data): Add versioning_p, ipa_info, new fields.
3139 (remap_decl, mark_local_for_remap_r, setup_one_parameter,
3140 declare_return_variable): Replace calls to copy_decl_for_inlining with
3141 copy_decl_for_dup.
3142 (copy_body_r, copy_bb, copy_cfg_body, copy_tree_r, inlining_p): Add
3143 versioning support.
3144 (copy_decl_for_dup): Rename from copy_decl_for_inlining.
3145 Add argument VERSIONING.
3146 (copy_arguments_for_versioning, copy_static_chain,
3147 function_versionable_p, tree_versionable_function_p,
3148 tree_function_versioning, replace_ref_tree): New functions.
3149 * tree-inline.h: Include varray.h.
3150 (tree_versionable_function_p, tree_function_versioning,
3151 tree copy_decl_for_dup): New declarations.
57fb5341
RL
3152
31532005-08-01 Razya Ladelsky <razya@il.ibm.com>
3154
5a006700
MR
3155 * ipa-cp.c: New file. Contains IPCP specific functionality.
3156 * ipa-prop.h: New file. Contains structures/definitions that can be
3157 used by several interprocedural data flow optimizations (and also IPCP).
3158 * ipa-prop.c: New file.
3159 * Makefile.in: Add ipa-cp.c, ipa-prop.h, ipa-prop.c.
3160 * common.opt: Add ipa-cp flag.
3161 * timevar.def: Add IPCP optimization.
3162 * tree-optimize.c (init_tree_optimization_passes): Schedule
3163 pass_ipa_cp.
3164 * tree-pass.h (pass_ipa_cp): Declare.
57fb5341 3165
569b7f6a
KH
31662005-08-01 Kazu Hirata <kazu@codesourcery.com>
3167
3168 * dwarf2out.c, fold-const.c, ipa-type-escape.c,
3169 loop-invariant.c, predict.c, predict.def, reload1.c, reorg.c,
3170 tree-sra.c, config/arm/arm.c, config/crx/crx.c,
3171 config/i386/i386.c, config/mips/mips.h,
3172 config/rs6000/rs6000.h, config/sh/sh.c,
3173 config/stormy16/stormy16.c: Fix comment typos.
3174
5922c215
JM
31752005-08-01 Joseph S. Myers <joseph@codesourcery.com>
3176
3177 PR c/22311
3178 * c-typeck.c (build_binary_op): Use common_type wrapper on
3179 shortened types.
3180 (common_type): Update comment.
3181
a3f4b7d8
SB
31822005-07-31 Steven Bosscher <stevenb@suse.de>
3183
3184 PR target/23095
3185 * common.opt (flag_gcse_after_reload): Don't initialize to 2.
3186 (flag_rerun_cse_after_loop): Initialize this to 2 instead.
3187 * postreload-gcse.c (hash_scan_set): Do not consider stack regs.
3188
baf7a0d3
JH
31892005-07-31 Jan Hubicka <jh@suse.cz>
3190
3191 * pretty-print.h (pp_widest_integer): New macro.
3192 * tree-pretty-print.c (dump_bb_header): Print BB frequencies and
3193 counts.
3194
7dcbf659
JH
31952005-07-31 Jan Hubicka <jh@suse.cz>
3196
3197 * output.h (enum section_category): Export from varasm.c
3198 (categorize_decl_for_section): Likewise.
3199 * varasm.c (enum section_category): Kill.
3200 (categorize_decl_for_section): Make global.
3201 * i386-protos.h (x86_output_aligned_bss, x86_elf_aligned_common):
3202 Declare.
3203 * i386.c (ix86_section_threshold): New static variable.
3204 (ix86_in_large_data_p, ix86_encode_section_info,
3205 x86_64_elf_unique_section,
3206 x86_64_elf_select_section): New functions.
3207 (TARGET_ENCODE_SECTION_INFO): Define
3208 (override_options): Enable medium model for PIC.
3209 (ix86_expand_prologue): Expand gen_set_got_rex64.
3210 (legitimate_constant_p): Handle new UNSPECs.
3211 (legitimate_pic_address_disp_p): Likewise.
3212 (legitimize_pic_address): Lower MEDIUM model addressing.
3213 * i386.h (PIC_OFFSET_TABLE_REGNUM): Set for medium model PIC.
3214 (enum cmodel): Add MEDIUM_PIC.
3215 (SYMBOL_REF_FAR_ADDR_P): New macro.
3216 (SYMBOL_FLAG_FAR_ADDR): New flag.
3217 * i386.md (movdi): Support medium model.
3218 (set_got_rex64): New pattern.
3219 * i386.opt (mlarge-data-threshold): New flag.
3220 * predicates.md (zext_operand/sext_operand): Deal with medium model.
3221 * x86-64.h (ASM_OUTPUT_ALIGNED_BSS): Use x86_output_aligned_bss.
3222 (ASM_OUTPUT_ALIGNED_COMMON, TARGET_ASM_SELECT_SECTION,
3223 TARGET_ASM_UNIQUE_SECTION): New.
3224
3225 * invoke.texi (-mlarge_data_threshold): Document
3226
0bde02b3
JH
32272005-07-31 Jan Hubicka <jh@suse.cz>
3228
3229 * tree-outof-ssa.c (coalesce_ssa_name): Use coalesce_cost.
3230 (coalesce_vars): Likewise.
3231 * tree-ssa-live.c (coalesce_cost): New.
3232 (build_tree_conflict_graph): Use coalesce_cost.
3233 * tree-ssa-live.h (coalesce_cost): Declare.
3234
a4ccc336
RE
32352005-07-30 Richard Earnshaw <richard.earnshaw@arm.com>
3236
3237 * arm.md (all peepholes for post-increment operations): Delete.
3238 (strqi_preinc, strqi_predec, loadqi_preinc, loadqi_predec)
3239 (loadqisi_preinc, loadqisi_predec, strsi_preinc, strsi_predec)
3240 (loadsi_preinc, loadsi_predec, strqi_shiftpreinc, strqi_shiftpredec)
3241 (loadqi_shiftpreinc, loadqi_shiftpredec, strsi_shiftpreinc)
3242 (strsishift_predec, loadsi_shiftpreinc, loadsi_shiftpredec): Delete.
3243
06581725
JM
32442005-07-30 James A. Morrison <phython@gcc.gnu.org>
3245
3246 * fold-const.c (tree_expr_nonnegative_p): Always return true for
3247 non-integral types.
3248
0cbc4d77 32492005-07-29 Wolfgang Bangerth <bangerth@dealii.org>
d6e14e8f 3250
0cbc4d77
WB
3251 PR target/22582
3252 * doc/invoke.texi: Document -rdynamic.
d6e14e8f 3253
91d975b8
JM
32542005-07-30 Joseph S. Myers <joseph@codesourcery.com>
3255
3256 PR c/23143
3257 * c-parser.c (c_parser_parms_list_declarator): Call
3258 mark_forward_parm_decls.
3259 * c-decl.c (merge_decls): Only check DECL_IN_SYSTEM_HEADER for
3260 decls with visibility structure.
3261
f26b8ec9
PB
32622005-07-30 Paul Brook <paul@codesourcery.com>
3263
3264 * config/arm/arm.c (arm_coproc_mem_operand): Fix inaccurate comment.
3265
a14b88bb
PB
32662005-07-30 Paul Brook <paul@codesourcery.com>
3267
3268 * config/arm/arm-protos.h (arm_canonicalize_comparison): Update
3269 prototype.
3270 * config/arm/arm.c (arm_canonicalize_comparison): Use correct limit
3271 value for mode.
3272 * config/arm/arm.h (CANONICALIZE_COMPARISON): Pass mode argument.
3273
7c47d6e9
JM
32742005-07-29 Joseph S. Myers <joseph@codesourcery.com>
3275
3276 PR c/529
3277 * c-decl.c (warn_if_shadowing): Don't check for PARM_DECL in
3278 nested function declarators.
3279 (pushdecl): Don't call warn_if_shadowing for PARM_DECL.
3280 (grokparms): Call warn_if_shadowing for parameters used within the
3281 parameter list.
3282 (store_parm_decls_newstyle): Call warn_if_shadowing for parameters
3283 not used within the parameter list.
3284 (store_parm_decls_oldstyle): Call warn_if_shadowing for parameters.
3285
3bc751bd
JH
32862005-07-30 Jan Hubicka <jh@suse.cz>
3287
3288 * expr.c (expand_expr_real_1): Do not load mem targets into register.
3289 * i386.c (ix86_fixup_binary_operands): Likewise.
3290 (ix86_expand_unary_operator): Likewise.
3291 (ix86_expand_fp_absneg_operator): Likewise.
3292 * optabs.c (expand_vec_cond_expr): Validate dest.
3293
bc1594c1
JM
32942005-07-29 Joseph S. Myers <joseph@codesourcery.com>
3295
3296 PR c/21720
3297 * real.c (real_from_string): Also set last bit if there is a
3298 nonzero hex digit beyond GCC's internal precision after ".".
3299
3aca4bff
DE
33002005-07-29 David Edelsohn <edelsohn@gnu.org>
3301
3302 * config/rs6000/altivec.md: Convert UNSPEC numerical values to
3303 define_constants. Change duplicate values to unassigned numbers.
3304 Change UNSPEC_SUBS to UNSPEC_VSUBS.
3305 (*altivec_vspltsf): New.
3306 (altivec_vperm_v4sf): Delete.
3307 (altivec_vperm_<mode>): Use mode macro V.
3308 (altivec_vsldoi_<mode>): Convert to mode macro pattern.
3309 (altivec_predicate_v4sf): Delete.
3310 (altivec_predicate_<mode>): Use mode macro V.
3311 (*altivec_lvesfx): New.
3312 (*altivec_stvesfx): New.
3313 (vec_realign_load_v4sf): Delete.
3314 (vec_realign_load_<mode>): Use mode macro V.
3315 * config/rs6000/rs6000.c (generate_set_vrsave): Use
3316 UNSPECV_SET_VRSAVE.
3317
b28250ab
MM
33182005-07-29 Mark Mitchell <mark@codesourcery.com>
3319
3320 PR bootstrap/23131
3321 * configure.ac (SYSTEM_HEADER_DIR): Avoid setting to empty
7904f95f 3322 string.
b28250ab
MM
3323 * configure: Regenerated.
3324
eae50c87
PB
33252005-07-29 Paul Brook <paul@codesourcery.com>
3326
3327 * doc/install.texi: Add link to GFortran binaries wiki page.
3328
79dad081
DU
33292005-07-29 David Ung <davidu@mips.com>
3330
3331 * config/mips/mips.c (mips_cpu_info_table): Add 5kf to the table.
3332 (mips_rtx_cost_data): Add costs for 5kc and 5kf.
3333 * config/mips/mips.h (processor_type): Add PROCESSOR_5KF.
3334 * config/mips/mips.md (cpu): Add 5kf name.
3335 (includes): Includes 5k.md.
3336 * config/mips/5k.md: New DFA pipeline for the 5kc/5kf.
3337 * doc/invoke.texi (MIPS Options): Updated cpu name supported with
7904f95f 3338 -march flag.
79dad081 3339
89e80dd4
DN
33402005-07-29 Diego Novillo <dnovillo@redhat.com>
3341
3342 PR 22550
3343 * tree-cfgcleanup.c (cleanup_tree_cfg_1): Extract from ...
3344 (cleanup_tree_cfg): ... here.
3345 Call cleanup_tree_cfg_1 until there are no more cleanups to
3346 do.
3347
d2f3ffba
JM
33482005-07-29 James A. Morrison <phython@gcc.gnu.org>
3349
3350 * tree-vrp.c (compare_range_with_value): Return true or false
3351 for ~[VAL_1, VAL_2] OP VAL if VAL_1 <= VAL <= VAL_2 for NE_EXPR and
3352 EQ_EXPR respectively.
3353
536fa7b7
KH
33542005-07-29 Kazu Hirata <kazu@codesourcery.com>
3355
3356 * cfg.c, tree-complex.c, config/frv/frv.c, config/i386/i386.c:
3357 Fix comment typos.
3358
6a2cf9dc
DN
33592005-07-29 Diego Novillo <dnovillo@redhat.com>
3360
3361 * tree-ssa-dom.c (struct opt_stats_d): Add field num_iterations.
3362 (tree_ssa_dominator_optimize): Increment it.
3363 (dump_dominator_optimization_stats): Print it.
3364
abf86bf2
RE
33652005-07-29 Richard Earnshaw <richard.earnshaw@arm.com>
3366 Steven Bosscher <stevenb@suse.de>
3367
3368 PR rtl-optimization/23117
3369 * sched-rgn.c (add_branch_dependences): Handle COND_EXEC correctly
3370 when head == tail. Tidy comment.
3371
37cf6116
RH
33722005-07-28 Richard Henderson <rth@redhat.com>
3373
3374 * cse.c (exp_equiv_p): Special case CONST_DOUBLE.
3375 * cselib.c (rtx_equal_for_cselib_p): Likewise.
3376 * jump.c (rtx_renumbered_equal_p): Likewise.
3377 * loop.c (rtx_equal_for_loop_p): Tidy and special case PC, CC0,
3378 CONST_INT and CONST_DOUBLE.
3379 (rtx_equal_for_prefetch_p): Likewise, plus LABEL_REF.
3380 * reload.c (operands_match_p): Special case CONST_INT and
3381 CONST_DOUBLE; check mode earlier.
3382
13b22d3a
JM
33832005-07-29 Joseph S. Myers <joseph@codesourcery.com>
3384
3385 PR c/22240
3386 * c-typeck.c (convert_for_assignment): Do not check
3387 DECL_IN_SYSTEM_HEADER on NULL fundecl.
3388
ca8bdb78
JM
33892005-07-29 Joseph S. Myers <joseph@codesourcery.com>
3390
3391 PR c/22192
3392 * c-typeck.c (composite_type): Prefer constant size arrays to
3393 VLAs.
3394
b608d27a
JM
33952005-07-29 Joseph S. Myers <joseph@codesourcery.com>
3396
3397 PR c/21720
3398 * real.c (real_from_string): Set last bit if there is a nonzero
3399 hex digit beyond GCC's internal precision.
3400
a560c83a
RH
34012005-07-28 Richard Henderson <rth@redhat.com>
3402
3403 PR rtl-opt/22619
3404 * cfgcleanup.c (try_forward_edges): Watch out for end of
3405 insn chain.
3406
66f33c03
JW
34072005-07-28 James E Wilson <wilson@specifixinc.com>
3408
3409 PR c/23106
3410 * doc/invoke.texi (Wstrict-aliasing=2): Fix misleading wording.
3411
c5a4444c
JH
34122005-07-28 Jan Hubicka <jh@suse.cz>
3413
8a76829c
JH
3414 * Makefile.in (rtl-profile.o): Kill all traces of it.
3415 * common.opt (fspeculative-prefetching, ftree-based-profiling): Kill.
3416 * coverage.h (rtl_coverage_counter_ref): Kill.
3417 * opts.c (flag_speculative_prefetching_set): Kill.
3418 (flag_loop_optimize_set): New.
3419 (common_handle_option): Disable loop optimizer when profiling;
3420 do not handle speculative prefetching.
3421 * passes.c (init_optimization_passes): Replace pass_profiling combo
3422 by branch_prob pass.
3423 * profile.c (compute_value_histograms): Update for simplified value
3424 profiles.
3425 (rtl_register_profile_hooks): Kill.
3426 (pass_profiling): Kill.
3427 (rest_of_handle_branch_prob): Do not profile.
3428 * toplev.c (process_options): Remove speculative prefetching.
3429 * toplev.h (flag_tree_based_profiling): Kill.
3430 * tree-profile.c (prepare_instrumented_value,
3431 tree_gen_interval_profiler, tree_gen_pow2_profiler,
3432 tree_gen_one_value_profiler, do_tree_profiling): Update for
3433 simplified datastructures.
3434 * value-prof.c: Add comment that speculative prefetching was dropped;
3435 update rest of file for simplified datastructures.
3436 (NOPREFETCH_RANGE_MIN, NOPREFETCH_RANGE_MAX,
3437 rtl_divmod_values_to_profile, insn_prefetch_values_to_profile,
3438 find_mem_reference_1, find_mem_reference_2, find_mem_reference,
3439 rtl_values_to_profile, rtl_divmod_fixed_value, rtl_mod_pow2,
3440 rtl_mod_subtract, gen_speculative_prefetch,
3441 rtl_divmod_fixed_value_transform, rtl_mod_pow2_value_transform,
3442 rtl_mod_subtract_transform, speculative_prefetching_transform): Kill.
3443 (gate_handle_value_profile_transformations,
3444 rest_of_handle_value_profile_transformations,
3445 pass_value_profile_transformations): Kill.
3446 * value-prof.h (histogram_value_t): Remove IL based unions.
3447 (rtl_register_value_prof_hooks, rtl_register_profile_hooks,
3448 rtl_profile_hooks): Remove hooks.
3449
3450 * invoke.texi (-ftree-based-profiling, -fspeculative-prefetching): Kill.
3451
c5a4444c
JH
3452 * cgraph.c (cgraph_clone_edge): New UPDATE_ORIGINAL argument.
3453 (cgraph_clone_node): Likewise.
3454 * cgraph.h (cgraph_clone_edge): Update prototype.
3455 (cgraph_clone_node): Likewise.
3456 * ipa-inline.c (cgraph_clone_inlined_nodes): Update call of
3457 cgraph_clone_node.
3458 (lookup_recursive_calls): Consider profile.
3459 (cgraph_decide_recursive_inlining): Fix updating; use new
3460 probability argument; use profile.
3461 * params.def (PARAM_MIN_INLINE_RECURSIVE_PROBABILITY): New.
3462 * tree-inline.c (copy_bb): Update clal of clone_edge.
3463 * tree-optimize.c (tree_rest_of_compilation): UPdate cal of clone_node.
3464
3465 * invoke.texi (min-inline-recursive-probability): Document.
3466
ccf548a7
GP
34672005-07-28 Gerald Pfeifer <gerald@pfeifer.com>
3468
3469 * doc/install.texi (Configuration): Update Valgrind homepage.
3470
2c97f8e4
RH
34712005-07-28 Richard Henderson <rth@redhat.com>
3472
407ab83b 3473 PR middle-end/21362
2c97f8e4
RH
3474 * cfgrtl.c (rtl_merge_blocks): Call maybe_remove_eh_handler on
3475 labels we want to delete.
3476 (cfg_layout_merge_blocks): Likewise.
3477
b188ebb1
RH
34782005-07-28 Richard Henderson <rth@redhat.com>
3479
3480 PR target/17692
d6e14e8f
SB
3481 * config/i386/i386.c (ix86_split_sse_movcc): Emit DELETED note
3482 when expanding to nothing.
b188ebb1 3483
facc20ee
JC
34842005-07-28 Josh Conner <jconner@apple.com>
3485
3486 * ipa-inline.c (update_caller_keys): Fix estimated_growth caching.
3487 (cgraph_decide_inlining_of_small_functions): Likewise.
3488
9de21a23
JC
34892005-07-28 Josh Conner <jconner@apple.com>
3490
3491 * ipa-inline.c (cgraph_edge_badness): Update comments. Invert shift
3492 direction of badness if negative.
3493 (cgraph_default_inline_p): Add reason to parameters, and assign it
3494 a value.
3495 (cgraph_decide_inlining_of_small_functions): New parameter in call
3496 to cgraph_default_inline_p.
3497 (cgraph_decide_inlining_incrementally): Likewise.
3498 * cgraphunit.c (decide_is_function_needed): Likewise.
3499 * cgraph.h (cgraph_default_inline_p): Likewise.
3500
206048bd
VR
35012005-07-28 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
3502
3503 * builtins.c: Fix comment typo(s).
3504 * genautomata.c: Likewise.
3505 * gimplify.c: Likewise.
3506 * tree-dfa.c: Likewise.
3507 * tree-flow-inline.h: Likewise.
3508 * tree-into-ssa.c: Likewise.
3509 * tree-ssa-alias.c: Likewise.
3510 * tree-ssa-ccp.c: Likewise.
3511 * tree-ssa-copy.c: Likewise.
3512 * tree-ssa-dce.c: Likewise.
3513 * tree-ssa-dom.c: Likewise.
3514 * tree-ssa-operands.c: Likewise.
3515 * tree-tailcall.c: Likewise.
3516 * tree-vectorizer.c: Likewise.
3517 * tree-vrp.c: Likewise.
3518 * tree.c: Likewise.
3519
d579f20b
JL
35202005-07-28 Jeff Law <law@redhat.com>
3521
d6e14e8f
SB
3522 * tree-vrp.c (test_for_singularity): Extracted from ...
3523 (simplify_cond_using_ranges): Attempt to simplify a relational
3524 test to NE_EXPR. Dump information when a COND_EXPR is simplified.
d579f20b 3525
5bb1823d
DN
35262005-07-28 Dorit Nuzman <dorit@il.ibm.com>
3527
3528 PR tree-optimization/22506
3529 * tree-vectorizer.c (update_phi_nodes_for_guard2): Skip loop-closed
3530 phis whose argument is constant.
3531
b92ba6ff
R
35322005-07-28 J"orn Rennecke <joern.rennecke@st.com>
3533
3534 PR rtl-optimization/18992
3535 Back out this patch:
3536 2003-10-08 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
3537 PR optimization/12142
3538 * cse.c (count_reg_usage): In a SET with a REG SET_DEST, count the
3539 uses of the register in the SET_SRC. Remove unnecessary argument.
3540
3541 Replace it with this:
3542 * cse.c (count_reg_usage): In INSN, JUMP_INSN and CALL_INSN cases,
3543 if flag_non_call_exceptions is set and the insn may trap, pass
3544 pc_rtx as dest for recursion.
3545 In SET_SRC part of SET case, if dest is already set, pass it down
3546 unchanged.
3547
09bac500
JH
35482005-07-28 Jan Hubicka <jh@suse.cz>
3549
3550 * cfg.c (update_bb_profile_for_threading): Use RDIV.
3551 (scale_bbs_frequencies_int): Likewise, assert for possible overflow.
3552 (scale_bbs_frequencies_gcov_type): Be more curefull about overflows and
3553 roundoff errors.
3554 * tree-cfg.c (tree_duplicate_sese_region): Use counts for updating
3555 profile when available.
3556
35572005-07-28 Jan Beulich <jbeulich@novell.com>
a71aef0b
JB
3558
3559 * config/ia64/ia64.c (ia64_load_pair_ok): New.
3560 (ia64_print_operand): Describe and handle 'X'.
3561 (ia64_register_move_cost): Also handle FP_REGS.
3562 (ia64_preferred_reload_class): Likewise.
3563 (ia64_secondary_reload_class): Likewise.
3564 (ia64_dependencies_evaluation_hook): New local variable c. Initialize
3565 it. Also check for ITANIUM_CLASS_FLDP.
3566 * config/ia64/ia64.h (FP_REGNO_P): New.
3567 (HARD_REGNO_MODE_OK): Remove explusion of TImode.
3568 (reg_class): Add FP_REGS.
3569 (REG_CLASS_NAMES): Adjust for it.
3570 (REG_CLASS_CONTENTS): Likewise.
3571 (REGNO_REG_CLASS): Use FP_REGS where appropriate.
3572 (REG_CLASS_FROM_LETTER): Handle 'x'.
3573 (CLASS_MAX_NREGS): Handle FP_REGS.
3574 (MEMORY_MOVE_COST): Likewise.
3575 * config/ia64/ia64.md (itanium_class): Add fldp.
3576 (type): Handle fldp.
3577 (movti_internal): More allowable operand combinations. Use ldfp8 when
3578 splitting unnecessary. Remove predicable attribute. Adjust
3579 itanium_class attribute.
3580 (smuldi3_highpart): Remove outdated comment.
3581 (mulditi3, umulditi3, rotlti3): New expanders.
3582 (addti3, subti3, mulditi3_internal, umulditi3_internal, negti2, rotlti3_internal): New insns.
3583 (absti2): Disabled new insn for future reference.
3584 Respective new splitters.
3585 * config/ia64/itanium1.md (1_fldp, 1b_fldp): New insn reservations.
3586 * config/ia64/itanium2.md (2_fldp, 2b_fldp): Likewise.
3587 * config/ia64/ia64-protos.h (ia64_load_pair_ok): New.
3588
77d1d8e0
JM
35892005-07-25 James A. Morrison <phython@gcc.gnu.org>
3590
3591 PR rtl-optimization/23047
3592 * simplify-rtx.c (simplify_const_relational_operation): Respect
3593 flag_wrapv for comparisons with ABS.
3594
ff08cbee
JM
35952005-07-27 James A. Morrison <phython@gcc.gnu.org>
3596
3597 PR tree-optimization/22493
3598 * tree-vrp.c (extract_range_from_unary_expr): Deal with -fwrapv and
3599 VR_ANTI_RANGEs properly for NEGATE_EXPRs and ABS_EXPRs.
3600
38c28a25
AH
36012005-07-27 Aldy Hernandez <aldyh@redhat.com>
3602
3603 * config/frv/frv.opt (moptimize-membar): New.
3604
3605 * doc/invoke.texi: Document -moptimize-membar and its inverse.
3606
3607 * config/frv/frv.h: Remove machine_function definition.
3608
d6e14e8f
SB
3609 * config/frv/frv.c (struct frv_io): New.
3610 (struct machine_function): Moved from frv.h. Add has_membar_p.
3611 (frv_same_doubleword_p, frv_io_fixed_order_p, frv_io_union)
3612 (frv_extract_membar, frv_io_check_address, frv_io_handle_set)
3613 (frv_io_handle_use_1, frv_io_handle_use, frv_optimize_membar_local)
3614 (frv_optimize_membar_global, frv_optimize_membar): New functions.
3615 (frv_reorg): Call frv_optimize_membar when appropriate.
3616 (bdesc_loads, bdesc_stores): Use the membar code as the icode field.
3617 (frv_expand_builtin): Adjust calls accordingly.
3618 (frv_io_address_cookie): New function.
3619 (frv_expand_load_builtin, frv_expand_store_builtin): Emit a normal
3620 load or store rather than a special insn. Add ccnstant address and
3621 io-type operands to the membar.
38c28a25
AH
3622 (frv_ifcvt_modify_tests): Unsign regno.
3623 (frv_ifcvt_modify_tests): Same.
3624
3625 * config/frv/frv.md: Remove UNSPEC_BUILTIN_{LOAD,STORE}. Change
3626 UNSPEC_OPTIONAL_MEMBAR constant.
3627 (builtin_read_<mode>): Delete.
3628 (builtin_write_<mode>): Delete.
3629 ("optional_membar_<mode>"): Add operand.
3630
3631 * testsuite/gcc.target/frv/all-builtin-read8.c: Delete.
3632 * testsuite/gcc.target/frv/all-builtin-read16.c: Delete.
3633 * testsuite/gcc.target/frv/all-builtin-read32.c: Delete.
3634 * testsuite/gcc.target/frv/all-builtin-read64.c: Delete.
3635 * testsuite/gcc.target/frv/all-builtin-write8.c: Delete.
3636 * testsuite/gcc.target/frv/all-builtin-write16.c: Delete.
3637 * testsuite/gcc.target/frv/all-builtin-write32.c: Delete.
3638 * testsuite/gcc.target/frv/all-builtin-write64.c: Delete.
3639 * testsuite/gcc.target/frv/all-read-write-1.c: New.
3640
47c504ea
KK
36412005-07-28 Kaz Kojima <kkojima@gcc.gnu.org>
3642
3643 * df.c (df_uses_record): Handle SCRATCH.
3644
ef11c839
SB
36452005-07-28 Steven Bosscher <stevenb@suse.de>
3646
3647 PR debug/20161
3648 * passes.c (rest_of_decl_compilation): If decl is a type and
3649 we have encountered errors, don't emit debug information.
3650
1eb68dca 36512005-07-27 Kenneth Zadeck <zadeck@naturalbridge.com>
ef11c839 3652
1eb68dca 3653 * params.def: Fixed comment.
7904f95f 3654
10252a62
BH
36552005-07-27 Bjoern Haase <bjoern.m.haase@web.de>
3656
3657 PR target/19885
3658 * config/avr/avr.c (TARGET_ASM_ALIGNED_SI_OP): Add.
3659 (TARGET_ASM_UNALIGNED_HI_OP): Add.
3660 (TARGET_ASM_UNALIGNED_SI_OP): Add.
3661
e4598783
SB
36622005-07-27 Steven Bosscher <stevenb@suse.de>
3663
3664 PR c++/22003
3665 * varasm.c (assemble_start_function): Don't do anything that may
3666 require a CFG if the current function is a thunk.
3667
a9fdd472
GK
36682005-07-25 Geoffrey Keating <geoffk@apple.com>
3669
3670 * doc/install.texi (Prerequisites): Mention that perl is needed
3671 to do export control in libstdc++ targetting Darwin.
3672
2bd1e239
SB
36732005-07-27 Steven Bosscher <stevenb@suse.de>
3674
3675 PR rtl-optimization/17808
3676 * sched-deps.c (sched_get_condition): Enable #if 0'ed code.
3677 (sched_insns_conditions_mutex_p): Split out from...
3678 (add_dependence): ...here. But don't call it from here.
3679 (add_dependence_list): Check sched_insns_conditions_mutex_p
3680 before calling add_dependence.
3681 (add_dependence_list_and_free): Likewise.
3682 (fixup_sched_groups): Likewise.
3683 (sched_analyze_1): Likewise.
3684 (sched_analyze_2): Likewise (and replace a "0" with REG_DEP_TRUE).
3685 (sched_analyze): Likewise.
3686 (sched_analyze_insn): Likewise.
3687 * sched-ebb.c (add_deps_for_risky_insns): Likewise.
3688 * sched-rgn.c (add_branch_dependences): Likewise. Also, add
3689 dependencies on all COND_EXEC insns to jumps ending basic blocks
3690 when doing intrablock scheduling.
3691 * sched-int.h (sched_insns_conditions_mutex_p): Add prototype.
3692
880031e1
JL
36932005-07-27 Jeff Law <law@redhat.com>
3694
3695 * tree-vrp.c (vrp_meet): Intersect the equivalency sets when
3696 meeting a VR_ANTI_RANGE with a VR_RANGE. When intersecting
3697 equivalency sets, correctly handle the case were vr0 has an
3698 equivalency set, but vr1 does not.
3699
b940ce0e
DN
37002005-07-27 Dorit Nuzman <dorit@il.ibm.com>
3701
3702 PR tree-optimization/23073
7904f95f 3703 * tree-vect-analyze.c (vect_analyze_data_refs_alignment): Call
b940ce0e
DN
3704 vect_print_dump_info before fprintf.
3705
26c40640
ZD
37062005-07-27 Zdenek Dvorak <dvorakz@suse.cz>
3707
3708 PR tree-optimize/22348
3709 * tree-ssa-loop-niter.c (number_of_iterations_cond):
3710 Fold the partial computation.
3711
3ac01fde
ZD
37122005-07-27 Zdenek Dvorak <dvorakz@suse.cz>
3713
3714 PR tree-optimization/22325
3715 * tree-flow.h (compute_phi_arg_on_exit, force_expr_to_var_cost):
3716 Declare.
3717 * tree-scalar-evolution.c (scev_const_prop): Add generic final
3718 value replacement.
3719 * tree-ssa-loop-ivopts.c (force_expr_to_var_cost): Split from ...
3720 (force_var_cost): ... this function.
3721 (compute_phi_arg_on_exit): Export.
3722
77fcaf4b
ZD
37232005-07-27 Zdenek Dvorak <dvorakz@suse.cz>
3724
3725 PR tree-optimization/20773
3726 * tree-ssa-loop-ch.c (copy_loop_headers): Select the correct latch
3727 edge.
3728
c11b0231
RG
37292005-07-27 Richard Guenther <rguenther@suse.de>
3730
3731 * tree-ssa-structalias.c (push_fields_onto_fieldstack):
3732 Avoid pushing again if current struct contains only
3733 fields we decomposed.
3734
57a73709
JH
37352005-07-27 Jan Hubicka <jh@suse.cz>
3736
093c2329
JH
3737 PR tree-optimization/22574
3738 * cgraph.c (cgraph_function_body_availability): Unanalyzed bodies are
3739 not available.
3740
23504559
JH
3741 * tree-tailcall.c (decrease_profile): New function.
3742 (eliminate_tail_call): Use it.
3743
57a73709
JH
3744 * cgraphunit.c (cgraph_function_and_variable_visibility): Set
3745 visibility flags correctly in whole program mode.
3746
b5395c33
SE
37472005-07-26 Steve Ellcey <sje@cup.hp.com>
3748
3749 PR rtl-optimization/22472
3750 * config/pa/pa.h (HARD_REGNO_RENAME_OK): Define.
3751
86979811
SB
37522005-07-26 Steven Bosscher <stevenb@suse.de>
3753
3754 PR tree-optimization/22504
3755 * tree-complex.c (expand_complex_addition): Use 'code' instead
3756 of MINUS_EXPR for (VARYING, ONLY_IMAG) and (ONLY_IMAG, VARYING).
3757
faf9ab98
AH
37582005-07-26 Aldy Hernandez <aldyh@redhat.com>
3759
3760 * config.gcc (cpu_type): Add frv case.
3761 (with_cpu): Add frv400-*-*linux* and frv550-*-*linux* cases.
3762 (supported_defaults): Add fr550 case.
3763
31521cd4
DN
37642005-07-26 Diego Novillo <dnovillo@redhat.com>
3765
3766 PR 22591
3767 * tree-ssa-alias.c (may_alias_p): Remove shortcut that tests
3768 whether a pointer of type T * may point to objects of type T *.
3769
45499411
DD
37702005-07-26 DJ Delorie <dj@redhat.com>
3771
3772 * configure: Regenerate.
3773
576a4795
DJ
37742005-07-26 Dale Johannesen <dalej@apple.com>
3775
3776 * postreload-gcse.c (alloc_mem): Start CUID numbering at 1.
3777
526635cb
MM
37782005-07-26 Mark Mitchell <mark@codesourcery.com>
3779
3780 * doc/install.texi (--with-build-sysroot): Fix grammatical error.
3781 Clarify use of "build" in name.
3782
c14ff86e
AH
37832005-07-26 Aldy Hernandez <aldyh@redhat.com>
3784
3785 * doc/extend.texi (Raw read/write Functions): New section.
3786 * testsuite/gcc.target/frv/all-builtin-read8.c: New.
3787 * testsuite/gcc.target/frv/all-builtin-read16.c: New.
3788 * testsuite/gcc.target/frv/all-builtin-read32.c: New.
3789 * testsuite/gcc.target/frv/all-builtin-read64.c: New.
3790 * testsuite/gcc.target/frv/all-builtin-write8.c: New.
3791 * testsuite/gcc.target/frv/all-builtin-write16.c: New.
3792 * testsuite/gcc.target/frv/all-builtin-write32.c: New.
3793 * testsuite/gcc.target/frv/all-builtin-write64.c: New.
3794 * config/frv/frv.c: Add bdesc_loads global.
3795 Add bdesc_stores global.
3796 (frv_init_builtins): Add support for __builtin_{read/write}*.
3797 (frv_volatile_memref): New.
3798 (frv_expand_load_builtin): New.
3799 (frv_expand_store_builtin): New.
3800 * config/frv/frv.h (frv_builtins): Add FRV_BUILTIN_SCAN,
3801 FRV_BUILTIN_READ8, FRV_BUILTIN_READ16, FRV_BUILTIN_READ32,
3802 FRV_BUILTIN_READ64, FRV_BUILTIN_WRITE8, FRV_BUILTIN_WRITE16,
3803 FRV_BUILTIN_WRITE32, FRV_BUILTIN_WRITE64.
3804 * config/frv/frv.md (unspecs): Add UNSPEC_BUILTIN_LOAD,
3805 UNSPEC_BUILTIN_STORE, UNSPEC_OPTIONAL_MEMBAR.
3806 (builtin_read_<mode>): New.
3807 (builtin_write_<mode>): New.
3808 (builtin_write64): New.
3809 (optional_membar_<mode>): New.
3810
db487452
R
38112005-07-26 J"orn Rennecke <joern.rennecke@st.com>
3812
3813 * emit-rtl.c (gen_lowpart_common): Compare size of MODE in bits
3814 (rather than units) against HOST_BITS_PER_WIDE_INT.
3815
783455db
KH
38162005-07-26 Kazu Hirata <kazu@codesourcery.com>
3817
3818 * ipa-pure-const.c, ipa-reference.c, ipa-reference.h,
3819 ipa-type-escape.c, ipa-type-escape.h, ipa-utils.c,
3820 ipa-utils.h, treestruct.def, config/crx/crx-protos.h,
3821 config/crx/crx.c, config/crx/crx.h, config/crx/crx.md: Update
3822 FSF address.
3823
a4174ebf
KH
3824 * calls.c, fold-const.c, ipa-reference.c, ipa-type-escape.c,
3825 tree-ssa-reassoc.c, tree-ssa-structalias.c, vec.h,
3826 config/crx/crx.c, config/m32c/m32c.c, config/m32c/m32c.h: Fix
3827 comment typos.
3828 * doc/c-tree.texi, doc/tree-ssa.texi: Fix typos.
3829
46c0a59d
RG
38302005-07-26 Richard Guenther <rguenther@suse.de>
3831
3832 PR tree-optimization/22486
3833 * fold-const.c (fold_unary): Fold away useless component
3834 references of the form (T *)&T.x, if the address
3835 doesn't change.
3836
3e2844cb
JW
38372005-07-25 James E Wilson <wilson@specifixinc.com>
3838
3839 * dwarf2out.c (add_call_src_coords_attributes): New.
3840 (gen_inlined_subroutine_die): Call it.
3841 (maybe_emit_file, init_file_table): Add comments.
3842 (prune_unused_types_walk_attribs): Pass DW_AT_call_file through
3843 maybe_emit_file.
3844 * tree-inline.c (remap_block): Copy BLOCK_SOURCE_LOCATION.
3845 (expand_call_inline): Set BLOCK_SOURCE_LOCATION.
3846 * tree.h (BLOCK_SOURCE_LOCATION): New.
3847 (struct tree_block): New field locus.
3848
9275de65
AS
38492005-07-26 Andreas Schwab <schwab@suse.de>
3850
3851 PR rtl-optimization/23043
3852 * postreload-gcse.c (eliminate_partially_redundant_load): Fix typo
3853 when allocating a struct unoccr.
3854
5306ec31
RH
38552005-07-25 Richard Henderson <rth@redhat.com>
3856
3857 PR 22626
3858 * tree-complex.c (gate_no_optimization): True if errors.
3859 * Makefile.in (tree-complex.o): Update dependencies.
3860
bfa653b3
AH
38612005-07-25 Aldy Hernandez <aldyh@redhat.com>
3862
3863 * config/frv/predicates.md (integer_register_operand): Use
3864 GPR_AP_OR_PSEUDO_P.
3865
43e364dd
AP
38662005-07-25 Andrew Pinski <pinskia@physics.uc.edu>
3867
3868 PR tree-opt/22484
3869 * tree-ssa-ccp.c (fold_stmt_inplace): Strip useless type conversions
3870 after fold.
3871 * tree-ssa-propagate.c (set_rhs): Reject invalid conditional operands.
3872
c72f711f
AP
38732005-07-25 Andrew Pinski <pinskia@physics.uc.edu>
3874
3875 * tree-ssa-reassoc.c (reassociate_expr): Allow scaler floating point
3876 types when flag_unsafe_math_optimizations is true.
3877
160633c6
MM
38782005-07-25 Mark Mitchell <mark@codesourcery.com>
3879
3880 * gcc.c (option_map): Add --sysroot.
3881 (process_command): Handle --sysroot.
3882 (display_help): Document it.
3883 * doc/cppopts.tex (-isysroot): Document.
3884 * doc/invoke.texi (--sysroot): Document.
3885 * doc/install.texi (--with-build-sysroot): Document.
3886
3887 * Makefile.in (inhibit_libc): New variable.
3888 (INHIBIT_LIBC_CFLAGS): Likewise.
3889 (LIBGCC2_CFLAGS): Include
3890 $(INHIBIT_LIBC_CFLAGS).
3891 (CRTSTUFF_CFLAGS): Include $(INHIBIT_LIBC_CFLAGS).
3892 ($(T)crtbegin.o): Do not use @inhibit_libc@.
3893 ($(T)crtend.o): Likewise.
3894 ($(T)crtbeginS.o): Do not use @inhibit_libc@.
3895 ($(T)crtendS.o): Likewise.
3896 ($(T)crtbeginT.o): Do not use @inhibit_libc@.
3897 ($(T)crtendT.o): Likewise.
3898 (stmp-fixinc): Do not complain about missing headers if
3899 inhibit_libc.
3900 * configure.ac (inhibit_libc): Set it to true/false.
3901 (--with-build-sysroot): New option. Use it to set
7904f95f 3902 SYSTEM_HEADER_DIR.
160633c6
MM
3903 * configure: Regenerated.
3904
1490f93a
MH
39052005-07-25 Manfred Hollstein <mh@suse.com>
3906
3907 * calls.c (store_one_arg): Fix unsigned comparison warning.
3908
76e20664
SB
39092005-07-25 Serge Belyshev <belyshev@depni.sinp.msu.ru>
3910
3911 PR other/22337
3912 * ggc-zone.c (ggc_alloc_zone_stat): Do not use CHUNK_OVERHEAD.
3913 (ggc_print_statistics): Initialize variable before use.
3914
5c97e2de
RG
39152005-07-25 Richard Guenther <rguenther@suse.de>
3916
3917 * tree-dfa.c (mark_new_vars_to_rename): Protect against
3918 calling with a PHI_NODE argument.
3919
3920 * tree-flow-inline.h (overlap_subvar): Protect against
3921 possible overflow.
3922
7fefc172
PB
39232005-07-25 Paolo Bonzini <bonzini@gnu.org>
3924
3925 * aclocal.m4 (gcc_AC_CHECK_TOOL): Add /bin to default directory.
3926 * configure: Regenerate.
3927
86a07404
IR
39282005-07-25 Ira Rosen <irar@il.ibm.com>
3929
3930 * expr.c (highest_pow2_factor): Make extern.
3931 * tree-data-ref.c (ptr_decl_may_alias_p): New function.
3932 (ptr_ptr_may_alias_p, may_alias_p, record_ptr_differ_p,
3933 record_array_differ_p, array_ptr_differ_p): Likewise.
3934 (base_object_differ_p): Rename (from array_base_name_differ_p). Support
3935 additional cases. Call the above functions.
3936 (base_addr_differ_p): Moved from tree-vect-analyze.c. Call
3937 base_object_differ_p when there are two base objects. Otherwise, compare
3938 base address and offset. Call may_alias_p.
3939 (dump_data_reference): Use a correct field name.
3940 (analyze_array): Make static. Initialize new data-ref fields.
3941 (analyze_indirect_ref): New function.
7904f95f
EC
3942 (init_data_ref): Initialize new data-ref fields.
3943 (strip_conversion): Moved from tree-vect-analyze.c.
7fefc172
PB
3944 (analyze_offset_expr, get_ptr_offset, address_analysis,
3945 object_analysis): Likewise.
86a07404 3946 (analyze_offset): New function.
86979811 3947 (create_data_ref): Likewise.
86a07404
IR
3948 (initialize_data_dependence_relation): Call base_addr_differ_p. Compare
3949 dimensions for ARRAY_REFs only.
3950 (build_classic_dist_vector): Make static.
3951 (access_functions_are_affine_or_constant_p): Call macro to get the
3952 address of access functions.
3953 (compute_all_dependences): Add new parameter
7904f95f 3954 compute_self_and_read_read_dependences. Compute self and read-read
86a07404
IR
3955 dependences if it is true.
3956 (find_data_references_in_loop): Call create_data_ref. Initialize new
3957 data-ref fields.
3958 (compute_data_dependences_for_loop): Add new parameter
3959 compute_self_and_read_read_dependences. Remove parameter nb_loops,
7fefc172
PB
3960 compute nb_loops. Call compute_all_dependences,
3961 build_classic_dist_vector and build_classic_dir_vector with correct
3962 parameters.
3963 (analyze_all_data_dependences): Call compute_data_dependences_for_loop
3964 with correct parameters. Compare dimensions for ARRAY_REFs only.
86a07404
IR
3965 (free_data_refs): Call macro to free access functions.
3966 * tree-data-ref.h (struct first_location_in_loop): New structure. Move
3967 fields from stmt_vinfo.
3968 (struct base_object_info): New structure.
7904f95f 3969 (struct data_reference): Move fields to base_object_info. Add fields
86a07404 3970 first_location and object_info for above structures. Move fields from
7fefc172
PB
3971 stmt_info: memtag, ptr_info, subvars, misalignment. Add new field
3972 aligned_to. Add macros to access the new fields.
86a07404
IR
3973 Update functions declarations.
3974 * tree-flow.h (is_aliased_with): Declare.
3975 * tree-loop-linear.c (linear_transform_loops): Call
3976 compute_data_dependences_for_loop with correct parameters.
3977 * tree-ssa-alias.c (is_aliased_with): New function.
86979811 3978 * tree-vect-analyze.c (vect_get_ptr_offset): Remove.
86a07404
IR
3979 (vect_analyze_offset_expr, vect_base_addr_differ_p): Likewise.
3980 (vect_analyze_data_ref_dependence): Get ddr. Remove call to
3981 vect_base_addr_differ_p, compute_subscript_distance and
3982 build_classic_dist_vector. Add printings. Check absolute value of
3983 distance.
7fefc172
PB
3984 (vect_analyze_data_ref_dependences): Go through ddrs instead of
3985 data-refs.
86a07404
IR
3986 (vect_compute_data_ref_alignment): Get the fields of data-ref instead of
3987 stmt. Check aligned_to. Check if the base is aligned. Remove conversion
3988 to bytes. Add printing.
7fefc172
PB
3989 (vect_compute_data_refs_alignment): Go through loads and stores in one
3990 loop.
86a07404
IR
3991 (vect_enhance_data_refs_alignment, vect_analyze_data_refs_alignment,
3992 vect_analyze_data_ref_access): Likewise.
3993 (vect_analyze_pointer_ref_access): Remove.
3994 (vect_address_analysis, vect_object_analysis): Likewise.
3995 (vect_analyze_data_refs): Call compute_data_dependences_for_loop to find
3996 and analyze data-refs in the loop.
7fefc172
PB
3997 * tree-vect-transform.c (vect_create_addr_base_for_vector_ref): Get the
3998 fields of data-ref instead of stmt. Add init to the offset from the
3999 base.
86a07404
IR
4000 (vect_create_data_ref_ptr): Get the fields of data-ref instead of stmt.
4001 (vect_update_init_of_dr): Likewise.
4002 (vect_update_inits_of_drs): Go through loads and stores in one loop.
7fefc172
PB
4003 * tree-vectorizer.c (new_stmt_vec_info): Remove initialization of
4004 removed fields.
86a07404
IR
4005 (new_loop_vec_info): Initialize new fields.
4006 (destroy_loop_vec_info): Free new fields.
4007 (vect_strip_conversion): Remove.
4008 * tree-vectorizer.h (enum verbosity_levels): Add new verbosity level.
4009 (struct _loop_vec_info): Unify data_ref_writes and data_ref_reads into
7904f95f 4010 datarefs. Add new field ddrs.
86a07404
IR
4011 Add macros for the new fields access.
4012 (struct _stmt_vec_info): Remove: base_address, initial_offset, step,
4013 base_aligned_p, misalignment, memtag, ptr_info and subvars.
4014 Remove their macros.
4015 * tree.h (highest_pow2_factor): Declare.
4016
0dc42b03
JJ
40172005-07-25 Jakub Jelinek <jakub@redhat.com>
4018
4019 * calls.c (store_one_arg): Check for sibling call MEM arguments
4020 from already clobbered incoming argument area.
4021
104f8784
KG
40222005-07-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4023
4024 * c-common.c (check_missing_format_attribute): New.
4025 * c-common.h (check_missing_format_attribute): Likewise.
4026 * c-typeck.c (convert_for_assignment): Use it.
4027
1b8452d0
AS
40282005-07-24 Andreas Schwab <schwab@suse.de>
4029
4030 * config/m68k/m68k.md ("extendqidi2"): When source is an address
4031 register use a word move. Correct operand of ext.w in 68000 code.
4032
2b402955
MM
40332005-07-23 Mark Mitchell <mark@codesourcery.com>
4034
4035 * dwarf2out.c (gen_variable_die): Treat un-emitted COMDAT
4036 variables as declarations, rather than definitions.
4037
c8af1197
IR
40382005-07-24 Ira Rosen <irar@il.ibm.com>
4039
86979811
SB
4040 PR tree-optimization/22526
4041 * tree-vectorizer.c (slpeel_tree_peel_loop_to_edge): Match the type
4042 of the zero node.
c8af1197 4043
1b135aa5
FXC
40442005-07-24 Francois-Xavier Coudert <coudert@clipper.ens.fr>
4045
4046 * builtins.def: Add DEF_EXT_C99RES_BUILTIN to define builtins
4047 that C99 reserve for future use. Use it to define clog10,
4048 clog10f and clog10l.
4049
ac0f3f39
KG
40502005-07-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4051
4052 * Makefile.in (STRICT2_WARN): Add -Wmissing-format-attribute.
4053 * configure.ac: Check for -Wmissing-format-attribute.
7904f95f 4054
ac0f3f39
KG
4055 * configure: Regenerate.
4056
db753fa1
RH
40572005-07-23 Richard Henderson <rth@redhat.com>
4058
4059 PR tree-optimization/22623
4060 * tree-complex.c (set_component_ssa_name): Use replace_ssa_name_symbol.
4061
28f155be
GB
40622005-07-23 Giovanni Bajo <giovannibajo@libero.it>
4063
4064 PR target/22577
4065 * config/pa/pa.c (reloc_needed): Updated for VECs inside CONSTRUCTOR.
4066
db857e7d
KG
40672005-07-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4068
4069 * Makefile.in (C_TREE_H): Update dependencies.
4070 * c-tree.h: Include toplev.h.
4071 * diagnostic.h (diagnostic_set_info): Add format attribute.
4072 * rtl-error.c (diagnostic_for_asm): Likewise.
4073
118ea793
CF
40742005-07-23 Chao-ying Fu <fu@mips.com>
4075
4076 * config/mips/mips-dsp.md: New file.
4077 * config/mips/mips-modes.def (V4QI, V2HI, CCDSP): New modes.
4078 * config/mips/mips.c (mips_function_type): Add types for DSP builtin
4079 functions.
4080 (mips_builtin_type): Add MIPS_BUILTIN_DIRECT_NO_TARGET and
4081 MIPS_BUILTIN_BPOSGE32.
4082 (mips_expand_builtin_direct): Add one parameter to indicate that
4083 builtin functions need to return a value.
4084 (mips_expand_builtin_bposge): New for expanding "bposge" builtin
4085 functions.
4086 (mips_regno_to_class): Add classes for 12 new DSP registers.
4087 (mips_subword): Change to check four HI registers.
4088 (mips_output_move): Output move to and from 6 new DSP accumulators.
4089 (override_options): Make sure -mdsp and -mips16 are not used together.
4090 Map 'A' to DSP_ACC_REGS and 'a' to ACC_REGS. Enable DSP accumulators
4091 for machine modes.
4092 (mips_conditional_register_usage): Disable 6 new DSP accumulators
4093 when !TARGET_DSP.
4094 (print_operand): Add 'q' for printing DSP accumulators.
4095 (mips_cannot_change_mode_class): Check ACC_REGS.
4096 (mips_secondary_reload_class): Check ACC_REGS.
4097 (mips_vector_mode_supported_p): Enable V2HI and V4QI when TARGET_DSP.
4098 (mips_register_move_cost): Check ACC_REGS.
4099 (CODE_FOR_mips_addq_ph, CODE_FOR_mips_addu_qb, CODE_FOR_mips_subq_ph)
4100 (CODE_FOR_mips_subu_qb): New code-aliasing macros.
4101 (DIRECT_NO_TARGET_BUILTIN, BPOSGE_BUILTIN): New macros.
4102 (dsp_bdesc): New array.
4103 (bdesc_arrays): Add DSP builtin function table.
4104 (mips_prepare_builtin_arg): Check predicate again after
4105 copy_to_mode_reg.
4106 (mips_expand_builtin): Add one more parameter to
4107 mips_expand_builtin_direct. Expand MIPS_BUILTIN_DIRECT_NO_TARGET and
4108 MIPS_BUILTIN_BPOSGE32.
4109 (mips_init_builtins): Initialize new function types.
4110 (mips_expand_builtin_direct): Check if builtin functions need to
4111 return a value and pass operands properly.
4112 (mips_expand_builtin_bposge): New function.
4113 * config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Add __mips_dsp.
4114 (ASM_SPEC): Map -mdsp to -mdsp in GAS.
4115 (FIRST_PSEUDO_REGISTER): Increase to 188.
4116 (FIXED_REGISTERS, CALL_USED_REGISTERS, CALL_REALLY_USED_REGISTERS):
4117 Update for 12 new DSP registers.
4118 (DSP_ACC_REG_FIRST, DSP_ACC_REG_LAST, DSP_ACC_REG_NUM, AC1HI_REGNUM)
4119 (AC1LO_REGNUM, AC2HI_REGNUM, AC2LO_REGNUM, AC3HI_REGNUM, AC3LO_REGNUM):
4120 (DSP_ACC_REG_P, ACC_REG_P, ACC_HI_REG_P): New macros.
4121 (reg_class): Add DSP_ACC_REGS and ACC_REGS.
4122 (REG_CLASS_NAMES): Add names for DSP_ACC_REGS and ACC_REGS.
4123 (REG_CLASS_CONTENTS): Update for DSP_ACC_REGS, ACC_REGS and ALL_REGS.
4124 (REG_ALLOC_ORDER): Update for 12 new DSP registers.
4125 (mips_char_to_class): Add 'A' for DSP_ACC_REGS and 'a' for ACC_REGS.
4126 (UIMM6_OPERAND, IMM10_OPERAND): New macros.
4127 (EXTRA_CONSTRAINT_Y): Add YA and YB extra constraints.
4128 (REGISTER_NAMES): Add names for 12 new DSP registers.
4129 * config/mips/mips.md: Include mips-dsp.md.
4130 (UNSPEC_ADDQ, UNSPEC_ADDQ_S, UNSPEC_SUBQ, UNSPEC_SUBQ_S, UNSPEC_ADDSC)
4131 (UNSPEC_ADDWC, UNSPEC_MODSUB, UNSPEC_RADDU_W_QB, UNSPEC_ABSQ_S)
4132 (UNSPEC_PRECRQ_QB_PH, UNSPEC_PRECRQ_PH_W, UNSPEC_PRECRQ_RS_PH_W)
4133 (UNSPEC_PRECRQU_S_QB_PH, UNSPEC_PRECEQ_W_PHL, UNSPEC_PRECEQ_W_PHR)
4134 (UNSPEC_PRECEQU_PH_QBL, UNSPEC_PRECEQU_PH_QBR, UNSPEC_PRECEQU_PH_QBLA)
4135 (UNSPEC_PRECEQU_PH_QBRA, UNSPEC_PRECEU_PH_QBL, UNSPEC_PRECEU_PH_QBR)
4136 (UNSPEC_PRECEU_PH_QBLA, UNSPEC_PRECEU_PH_QBRA, UNSPEC_SHLL)
4137 (UNSPEC_SHLL_S, UNSPEC_SHRL_QB, UNSPEC_SHRA_PH, UNSPEC_SHRA_R)
4138 (UNSPEC_MULEU_S_PH_QBL, UNSPEC_MULEU_S_PH_QBR, UNSPEC_MULQ_RS_PH)
4139 (UNSPEC_MULEQ_S_W_PHL, UNSPEC_MULEQ_S_W_PHR, UNSPEC_DPAU_H_QBL)
4140 (UNSPEC_DPAU_H_QBR, UNSPEC_DPSU_H_QBL, UNSPEC_DPSU_H_QBR)
4141 (UNSPEC_DPAQ_S_W_PH, UNSPEC_DPSQ_S_W_PH, UNSPEC_MULSAQ_S_W_PH)
4142 (UNSPEC_DPAQ_SA_L_W, UNSPEC_DPSQ_SA_L_W, UNSPEC_MAQ_S_W_PHL)
4143 (UNSPEC_MAQ_S_W_PHR, UNSPEC_MAQ_SA_W_PHL, UNSPEC_MAQ_SA_W_PHR)
4144 (UNSPEC_BITREV, UNSPEC_INSV, UNSPEC_REPL_QB, UNSPEC_REPL_PH)
4145 (UNSPEC_CMP_EQ, UNSPEC_CMP_LT, UNSPEC_CMP_LE, UNSPEC_CMPGU_EQ_QB)
4146 (UNSPEC_CMPGU_LT_QB, UNSPEC_CMPGU_LE_QB, UNSPEC_PICK, UNSPEC_PACKRL_PH)
4147 (UNSPEC_EXTR_W, UNSPEC_EXTR_R_W, UNSPEC_EXTR_RS_W, UNSPEC_EXTR_S_H)
4148 (UNSPEC_EXTP, UNSPEC_EXTPDP, UNSPEC_SHILO, UNSPEC_MTHLIP, UNSPEC_WRDSP)
4149 (UNSPEC_RDDSP): New constants.
4150 (*movdi_32bit): Change 'x' to 'a' for ACC_REGS.
4151 (*movsi_internal): Change 'x' to 'a' for ACC_REGS. Add an
4152 A<-d alternative.
4153 * config/mips/mips.opt (-mdsp): New option.
4154 * config/mips/predicates.md (const_uimm6_operand, const_imm10_operand)
4155 (reg_imm10_operand): New predicates.
4156 * doc/extend.texi (MIPS DSP Built-in Functions): New section.
4157 * doc/invoke.texi (-mdsp): Document new option.
4158
d2fcbf6f
DD
41592005-07-22 DJ Delorie <dj@redhat.com>
4160
4161 * c-objc-common.c (c_cannot_inline_tree_fn): Add warning control
4162 to warning calls.
4163 * tree-inline.c (inlinable_function_p): Likewise.
4164
9881e3e5
MM
41652005-07-22 Mark Mitchell <mark@codesourcery.com>
4166
4167 PR debug/21828
4168 * toplev.c (check_global_declarations): Do not mark undefined
4169 variables as DECL_IGNORED_P.
4170 * varasm.c (first_global_object_name): GTY it.
4171 (weak_global_object_name): Likewise.
4172 (notice_global_symbol): Use ggc_strdup, not xstrdup, when creating
4173 a string to go into {weak,first}_global_object_name.
4174
1a8d0d41
DD
41752005-07-22 DJ Delorie <dj@redhat.com>
4176
4177 * c-format.c (check_function_format): Change warning control
4178 option from OPT_Wattribute to OPT_Wmissing_format_attribute.
4179
17c7e33e
DN
41802005-07-22 Diego Novillo <dnovillo@redhat.com>
4181
4182 * tree-ssa-alias.c (count_ptr_derefs): Do not consider
4183 &PTR->FLD a dereference of PTR.
4184 * tree-ssa-structalias.c (update_alias_info): Consider &PTR->FLD
4185 a potential dereference of PTR.
4186
45002e59
R
41872005-07-22 J"orn Rennecke <joern.rennecke@st.com>
4188
191e1ff2
R
4189 PR rtl-optimization/20370
4190 * ifcvt.c (dead_or_predicable): Before calling propagate_block,
4191 call allocate_reg_info if necessary.
4192
475a3eef
R
4193 PR rtl-optimization/21848
4194 * calls.c (emit_library_call_value_1): For const functions, add
4195 USEs of the stack slots to CALL_INSN_FUNCTION_USAGE.
4196
29c1846b
R
4197 PR rtl-optimization/22445
4198 * cselib.c (target.h): Include.
4199 (rtx_equal_for_cselib_p): Allow commutative matches.
4200 (cselib_hash_rtx): Don't use MODE for CONST_INT hashing.
4201 Remove MODE parameter. Changed all callers.
4202
45002e59
R
4203 PR rtl-optimization/22258
4204 * combine.c (likely_spilled_retval_1, likely_spilled_retval_p):
4205 New functions.
4206 (try_combine): Use likely_spilled_retval_p.
4207
db869733
PW
42082005-07-22 Paul Woegerer <paul.woegerer@nsc.com>
4209
4210 * config.gcc: Add crx-elf support.
4211
4212 * doc/contrib.texi: Mention crx.
4213 * doc/extend.texi: Document crx extensions.
4214 * doc/install.texi: Document crx install.
4215 * doc/invoke.texi: Document crx options.
4216 * doc/md.texi: Document crx constraints.
4217
4218 * config/crx/crx-protos.h: New file.
4219 * config/crx/crx.c: New file.
4220 * config/crx/crx.h: New file.
4221 * config/crx/crx.md: New file.
4222 * config/crx/crx.opt: New file.
4223 * config/crx/t-crx: New file.
7904f95f 4224
32cafd73
MH
42252005-07-22 Manfred Hollstein <mh@suse.com>
4226
4227 * tree-ssa-structalias.c (merge_graph_nodes): Fix uninitialised
4228 warnings.
4229 (int_add_graph_edge): Likewise.
4230 (collapse_nodes): Likewise.
4231 (process_unification_queue): Likewise.
4232
ee184c4d 42332005-07-22 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
86979811 4234 Laurent GUERBY <laurent@guerby.net>
ee184c4d 4235
86979811 4236 PR tree-optimization/22336
7904f95f 4237 * function.c (record_block_change): Check for
86979811 4238 cfun->ib_boundaries_block.
7904f95f 4239
b49ceb45
JM
42402005-07-21 James A. Morrison <phython@gcc.gnu.org>
4241
4242 * fold-const.c (fold_unary): Don't strip signed nops from ABS_EXPRs.
4243 (tree_expr_nonnegative_p): Return try for TYPE_UNSIGNED.
4244
30c54de9
DD
42452005-07-21 DJ Delorie <dj@redhat.com>
4246
4247 * toplev.c (warn_deprecated_use): Add warning control to warning
4248 call.
c303630a
DD
4249 * c-typeck.c (parser_build_binary_op): Likewise.
4250 (c_finish_if_stmt): Likewise.
30480ec4
DD
4251 * c-common.c (check_function_sentinel): Likewise.
4252 (check_nonnull_arg): Likewise.
30c54de9 4253
95a8c155
RH
42542005-07-21 Richard Henderson <rth@redhat.com>
4255
4256 PR tree-opt/22504
4257 * tree-complex.c (complex_ssa_name_components): New.
4258 (cvc_lookup): Allow entry not found.
4259 (create_components): Remove.
4260 (create_one_component_var, get_component_var): New.
4261 (get_component_ssa_name, set_component_ssa_name): New.
4262 (extract_component): Use get_component_ssa_name.
4263 (update_complex_components): Use set_component_ssa_name.
4264 (update_complex_components_on_edge): Likewise.
4265 (update_phi_components): Create new PHI nodes directly, instead
4266 of adding insns to edges.
4267 (tree_lower_complex): Allocate and free complex_variable_components
4268 and complex_ssa_name_components here.
4269
c05a0766 42702005-07-20 Daniel Berlin <dberlin@dberlin.org>
7904f95f 4271
c05a0766
DB
4272 * alias.c (nonoverlapping_component_refs_p): Use TYPE_MAIN_VARIANT,
4273 revert to returning false.
4274
de343c8d
UB
42752005-07-21 Uros Bizjak <uros@kss-loka.si>
4276
86979811
SB
4277 PR target/21149
4278 * config/i386/i386.md (sse_movhlps): Fix vec_select values.
de343c8d 4279
5acc26ef
UB
42802005-07-21 Uros Bizjak <uros@kss-loka.si>
4281
4282 PR target/22576
4283 * config/i386/i386.md (cmpxf): Change operand constraints
4284 to "nonmemory_operand".
4285
61cb44fe
AP
42862005-07-21 Andrew Pinski <pinskia@physics.uc.edu>
4287
4288 * config/i386/i386.md (trap): Use "".word/t0x0b0f" instead of ud2.
4289
e2fe73f6
AP
42902005-07-21 Andrew Pinski <pinskia@physics.uc.edu>
4291
4292 PR middle-end/21180
4293 * fold-const.c (fold_build1): Add checksum for the operands.
7904f95f 4294 (fold_build2): Likewise.
e2fe73f6
AP
4295 (fold_build3): Likewise.
4296
9d24eb54
AP
42972005-07-21 Andrew Pinski <pinskia@physics.uc.edu>
4298
4299 PR middle-end/19055
4300 * fold-const.c (fold_binary): Transform "(X | Y) ^ X" to "Y & ~ X".
4301
b2e0afa0
PB
43022005-07-21 Paolo Bonzini <bonzini@gnu.org>
4303
4304 * common.opt (-fforward-propagate): Committed by mistake,
4305 removed.
4306
2e48874f
VR
43072005-07-21 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
4308
4309 * reg-stack.c: Fix comment typo(s).
4310 * tree-ssa-operands.c: Likewise.
4311 * tree-vectorizer: Likewise.
4312
889d8465
NC
43132005-07-21 Nick Clifton <nickc@redhat.com>
4314
4315 * config/sh/symbian.c: Replace C++ style line comments with C
4316 style line comments.
86979811 4317 (symbian_add_attribute): Do not use a ? operator on the LHS of
889d8465 4318 an assignment.
86979811 4319 (sh_symbian_handle_dll_attribute): Change the type of the
889d8465
NC
4320 method vector to "VEC(tree,gc)*" and use vector accessor
4321 macros to walk over the elements.
86979811
SB
4322 (symbian_export_vtable_and_rtti_p): Likewise.
4323 (symbian_class_needs_attribute_p): Likewise.
889d8465 4324
2fab365e
PB
43252005-07-21 Paolo Bonzini <bonzini@gnu.org>
4326
4327 PR target/22085
4328 * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Do not
4329 initialize targetm.resolve_overloaded_builtin here.
4330 (altivec_expand_overloaded_builtin): Make it non-static.
4331 * config/rs6000/rs6000-protos.h
4332 (altivec_expand_overloaded_builtin): New prototype.
4333 * config/rs6000/rs6000.h (REGISTER_TARGET_PRAGMAS): Initialize
4334 targetm.resolve_overloaded_builtin here.
4335 * config/rs6000/darwin.h (REGISTER_TARGET_PRAGMAS): Likewise.
4336
f9cc1a70 43372005-07-21 Paolo Bonzini <bonzini@gnu.org>
86979811 4338 Zdenek Dvorak <dvorakz@suse.cz>
f9cc1a70
PB
4339
4340 PR tree-optimization/19210
4341 * common.opt (Wunsafe-loop-optimizations, funsafe-loop-optimizations):
4342 New.
4343 * Makefile.in (tree-ssa-loop-niter.o): Depend intl.o.
4344 * loop-iv.c (get_simple_loop_desc): If -funsafe-loop-optimizations,
4345 rely on unproven assumptions.
4346 * predict.c (predict_loops): Adjust call to number_of_iterations_exit.
4347 * tree-flow.h (number_of_iterations_exit): Add final parameter.
4348 * tree-scalar-evolution.c (number_of_iterations_in_loop): Adjust call
4349 to number_of_iterations_exit.
4350 * tree-ssa-loop-ivcanon.c (empty_loop_p): Likewise.
4351 * tree-ssa-loop-ivopts.c (niter_for_exit): Likewise.
4352 * tree-ssa-loop-niter.c (find_loop_niter,
4353 estimate_numbers_of_iterations_loop): Likewise.
4354 (number_of_iterations_exit): Honor the new options.
4355 * doc/invoke.texi (Wunsafe-loop-optimizations,
4356 funsafe-loop-optimizations): Document them.
4357
cb83c2ec
RS
43582005-07-21 Richard Sandiford <richard@codesourcery.com>
4359
4360 PR rtl-optimization/22167
4361 * gcse.c (hoist_code): Fix hoist_exprs[] check.
4362
5e5cbbfb
AN
43632005-07-20 Adam Nemet <anemet@lnxw.com>
4364
4365 * config/rs6000/lynx.h: Mark __do_global_ctors_aux and
4366 __do_global_dtors_aux longcall.
4367
c2acaf06
KH
43682005-07-20 Kazu Hirata <kazu@cs.umass.edu>
4369
4370 * gensupport.c (old_preds): Don't reference PREDICATE_CODES.
4371 (old_special_pred_table): Don't reference
4372 SPECIAL_MODE_PREDICATES.
4373 * system.h (PREDICATE_CODES, SPECIAL_MODE_PREDICATES): Poison.
4374 * config/arc/arc.h: Don't mention PREDICATE_CODES.
4375 * config/sh/predicates.h: Don't mention
4376 SPECIAL_MODE_PREDICATES.
4377 * doc/tm.texi (PREDICATE_CODES, SPECIAL_MODE_PREDICATES):
4378 Remove.
4379
38b2d076
DD
43802005-07-20 DJ Delorie <dj@redhat.com>
4381
4382 * config.gcc: Add m32c-elf support.
4383
4384 * doc/contrib.texi: Mention m32c.
4385 * doc/extend.texi: Document m32c extensions.
4386 * doc/install.texi: Mention m32c.
4387 * doc/invoke.texi: Document m32c options.
4388 * doc/md.texi: Document m32c constraints.
4389
4390 * config/m32c/addsub.md: New file.
4391 * config/m32c/bitops.md: New file.
4392 * config/m32c/cond.md: New file.
4393 * config/m32c/jump.md: New file.
4394 * config/m32c/m32c-lib1.S: New file.
4395 * config/m32c/m32c-lib2.c: New file.
4396 * config/m32c/m32c-modes.def: New file.
4397 * config/m32c/m32c-pragma.c: New file.
4398 * config/m32c/m32c-protos.h: New file.
4399 * config/m32c/m32c.abi: New file.
4400 * config/m32c/m32c.c: New file.
4401 * config/m32c/m32c.h: New file.
4402 * config/m32c/m32c.md: New file.
4403 * config/m32c/m32c.opt: New file.
4404 * config/m32c/minmax.md: New file.
4405 * config/m32c/mov.md: New file.
4406 * config/m32c/muldiv.md: New file.
4407 * config/m32c/predicates.md: New file.
4408 * config/m32c/prologue.md: New file.
4409 * config/m32c/shift.md: New file.
4410 * config/m32c/t-m32c: New file.
4411
50b69666
KK
44122005-07-20 Kaz Kojima <kkojima@gcc.gnu.org>
4413
4414 * config/sh/sh.md (UNSPEC_SP_SET, UNSPEC_SP_TEST): New constants.
4415 (stack_protect_set, stack_protect_test): New expanders.
86979811 4416 (stack_protect_set_si, stack_protect_set_si_media,
50b69666 4417 stack_protect_set_di_media, stack_protect_test_si,
86979811 4418 stack_protect_test_si_media, stack_protect_test_di_media):
50b69666
KK
4419 New insns.
4420
71b50543
AP
44212005-07-20 Andrew Pinski <pinskia@physics.uc.edu>
4422
4423 * c-typeck.c (output_init_element): Don't copy the INTEGER_CST.
4424
4db8040c
JM
44252005-07-20 James A. Morrison <phython@gcc.gnu.org>
4426
4427 * tree.h (tree_expr_nonzero_p): Export.
4428 * fold-const.c (tree_expr_nonzero_p): Likewise.
4429 Return true for CALL_EXPRs that are alloca calls.
4430 (fold_binary): Use omit_one_operand when checking EQ_EXPRs or NE_EXPRs
4431 against zero.
4432 * tree-flow.h (expr_computes_nonzero): Remove.
4433 * tree-vrp.c (expr_computes_nonzero): Remove.
86979811 4434 (vrp_expr_computes_nonzero): Use tree_expr_nonzero_p.
4db8040c
JM
4435 (extract_range_from_unary_expr): Likewise.
4436 * tree-ssa-dom.c (record_equivalences_from_stmt): Use
4437 tree_expr_nonzero_p.
4438
6d459e2b
BS
44392005-07-20 Bernd Schmidt <bernd.schmidt@analog.com>
4440
09350e36
BS
4441 * config/bfin/bfin-protos.h (legitimize_pic_address): Don't declare.
4442 * config/bfin/bfin.c (legitimize_pic_address): Now static. Take
4443 extra arg "picreg" and use it instead of pic_offset_table_rtx.
4444 All callers changed.
4445 (frame_related_constant_load): New arg "related" which controls
4446 setting of RTX_FRAME_RELATED_P. All callers changed.
4447 (bfin_load_pic_reg): New function, broken out of bfin_expand_prologue.
4448 (bfin_expand_prologue): Add stack limit checking.
4449 * config/bfin/bfin.md (trapifcc): New pattern.
4450
05905337
BS
4451 * config/bfin/bfin.c: Include "langhooks.h".
4452 (def_builtin): Go through lang_hooks to call builtin_function.
4453
6d459e2b
BS
4454 * config/bfin/bfin-protos.h (bfin_longcall_p): Declare.
4455 * config/bfin/predicates.md (symbol_ref_operand): New.
4456 (call_insn_operand): Delete. All callers changed to use
4457 register_no_elim_operand.
4458 * config/bfin/bfin.c (init_cumulative_args): Initialize the new
4459 call_cookie field.
4460 (function_arg): Use it to generate the call's operand 2.
4461 (bfin_longcall_p): New function.
4462 (bfin_expand_call): Extra arg "cookie". All callers and declaration
4463 changed. Emit extra USE in the pattern. Use bfin_longcall_p to
4464 determine if the address needs to be in a REG.
4465 (bfin_handle_longcall_attribute): New function.
4466 (bfin_attribute_table): Add "longcall" and "shortcall".
4467 * config/bfin/bfin.h (CALL_NORMAL, CALL_LONG, CALL_SHORT): New macros.
4468 (CUMULATIVE_ARGS): New member call_cookie.
4469 (PREDICATE_CODES): Add symbol_ref_operand.
4470 * config/bfin/bfin.md (call, call_value, sibcall, sibcall_value): Add
4471 extra USE to the pattern.
4472 (call_symbol, sibcall_symbol, call_value_symbol, sibcall_value_symbol):
4473 New patterns, split off call_insn, sibcall_insn, call_value_insn and
4474 sibcall_value_insn; now the new patterns handle direct calls and the
4475 old ones indirect calls.
4476 * doc/extend.texi: Mention Blackfin in longcall/shortcall docs.
4477
67135ef4
ZD
44782005-07-20 Zdenek Dvorak <dvorakz@suse.cz>
4479
4480 * doc/trouble.texi: Update section on handling of empty loops.
4481
fdda361d
KH
44822005-07-20 Kazu Hirata <kazu@codesourcery.com>
4483
4484 * config.gcc: Remove support for sparc-*-openbsd*,
4485 i860-*-sysv4*, ip2k-*-elf, ns32k-*-netbsdelf*,
4486 ns32k-*-netbsd*.
4487 * config.host: Remove support for i860-*-sysv4* as a host.
4488 * config/i860/*, config/ip2k/*, config/ns32k/*,
4489 config/sparc/openbsd.h, config/sparc/t-openbsd: Remove.
4490 * doc/install.texi, doc/invoke.texi, doc/md.texi: Don't
4491 mention obsolete ports.
4492
96a2347e
KK
44932005-07-20 Kaz Kojima <kkojima@gcc.gnu.org>
4494
4495 * config/sh/sh.c (regno_reg_class): Add GENERAL_REGS for
4496 soft frame pointer.
4497 (sh_expand_prologue): Use hard_frame_pointer_rtx instead
4498 of frame_pointer_rtx.
4499 (sh_expand_epilogue): Likewise.
4500 (sh_set_return_address): Likewise.
4501 (initial_elimination_offset): Use HARD_FRAME_POINTER_REGNUM
4502 instead of FRAME_POINTER_REGNUM if needed. Add elimination
4503 offsets from FRAME_POINTER_REGNUM.
4504 * config/sh/sh.h (SH_REGISTER_NAMES_INITIALIZER): Add sfp.
4505 (sh_register_names): Add initializer for sfp.
4506 (GENERAL_OR_AP_REGISTER_P): Permit FRAME_POINTER_REGNUM.
4507 (VALID_REGISTER_P): Likewise.
4508 (FIRST_PSEUDO_REGISTER): Update.
4509 (DWARF_FRAME_REGISTERS): Define.
4510 (FIXED_REGISTERS, CALL_USED_REGISTERS): Add sfp.
4511 (HARD_FRAME_POINTER_REGNUM): Define.
4512 (FRAME_POINTER_REGNUM): Redefine.
4513 (ELIMINABLE_REGS): Never eliminate to FRAME_POINTER_REGNUM,
4514 but HARD_FRAME_POINTER_REGNUM instead. Add eliminations
4515 from FRAME_POINTER_REGNUM.
4516 (CAN_ELIMINATE): Use HARD_FRAME_POINTER_REGNUM instead of
4517 FRAME_POINTER_REGNUM.
4518 (REG_CLASS_CONTENTS): Add sfp.
4519 (REG_ALLOC_ORDER): Likewise.
4520 (FRAME_GROWS_DOWNWARD): Set to 1. Update comment.
4521 (GO_IF_LEGITIMATE_ADDRESS): Use hard_frame_pointer_rtx instead
4522 of frame_pointer_rtx.
4523 (LEGITIMIZE_RELOAD_ADDRESS): Likewise.
4524
1ade5842
JM
45252005-07-19 James A. Morrison <phython@gcc.gnu.org>
4526
4527 * fold-const.c (tree_expr_nonnegative_p): Only return true for
4528 ABS_EXPR when flag_wrapv is false because of INT_MIN.
4529 (tree_expr_nonzero_p): Always call tree_expr_nonzero_p on the argument
4530 of an ABS_EXPR.
4531 (fold_unary): Always fold ABS_EXPR<ABS_EXPR<x>> into
4532 ABS_EXPR<x>.
4533
4038c495
GB
45342005-07-20 Giovanni Bajo <giovannibajo@libero.it>
4535
4536 Make CONSTRUCTOR use VEC to store initializers.
4537 * c-common.c (complete_array_type): Update to cope with VEC in
4538 CONSTRUCTOR_ELTS.
4539 * c-pretty-print.c (pp_c_initializer_list): Use pp_c_constructor_elts.
4540 (pp_c_constructor_elts): New function.
4541 * c-pretty-print.h (pp_c_constructor_elts): Declare.
4542 * c-typeck.c (build_function_call, build_c_cast, digest_init,
4543 struct constructor_stack, struct initializer_stack,
4544 constructor_elements, push_init_level, pop_init_level,
4545 add_pending_init, find_init_member, output_init_element): Update to
4546 cope with VEC in CONSTRUCTOR_ELTS.
4547 * coverage.c (build_fn_info_value, build_ctr_info_value,
4548 build_gcov_info): Likewise.
4549 * expr.c (categorize_ctor_elements_1, store_constructor,
4550 expand_expr_real_1): Likewise.
4551 * fold-const.c (fold_ternary): Likewise.
4552 * gimplify.c (gimplify_init_ctor_preeval, zero_sized_field_decl,
4553 gimplify_init_constructor, gimplify_expr): Likewise.
4554 * tree-dump.c (dequeue_and_dump): Likewise.
4555 * tree-inline.c (copy_tree_r): Add code to duplicate a CONSTRUCTOR
4556 node.
4557 * tree-pretty-print.c (dump_generic_node): Update to cope with VEC in
4558 CONSTRUCTOR_ELTS.
4559 * tree-sra.c (generate_element_init_1): Likewise.
4560 * tree-ssa-ccp.c (fold_const_aggregate_ref): Likewise.
4561 * tree-ssa-operands.c (get_expr_operands): Likewise.
4562 * tree-vect-generic.c (expand_vector_piecewise): Likewise.
4563 * tree-vect-transform.c (vect_get_vec_def_for_operand):
4564 (get_initial_def_for_reduction): Likewise.
4565 * tree-vn.c (set_value_handle, get_value_handle): CONSTURCTOR uses
4566 value handle in annotations.
4567 * tree.c (tree_node_kind, tree_code_size, make_node_stat,
4568 tree_node_structure): Add support for constr_kind.
4569 (build_vector_from_ctor, build_constructor_single,
4570 build_constructor_from_list): New functions.
4571 (build_constructor): Update to take a VEC instead of a TREE_LIST.
4572 (simple_cst_equal, iterative_hash_expr, initializer_zerop, walk_tree):
4573 Update to cope with VEC in CONSTRUCTOR_ELTS.
4574 * tree.def (CONSTRUCTOR): Make it a tcc_exceptional node.
4575 * tree.h (FOR_EACH_CONSTRUCTOR_VALUE, FOR_EACH_CONSTRUCTOR_ELT,
4576 CONSTRUCTOR_APPEND_ELT): New macros.
4577 (struct constructor_elt, struct tree_constructor): New data types.
4578 (union tree_node): Add tree_constructor field.
4579 * treestruct.def: Define TS_CONSTRUCTOR.
4580 * varasm.c (const_hash_1, compare_constant, copy_constant,
4581 compute_reloc_for_constant, output_addressed_constants,
4582 initializer_constant_valid_p, output_constant,
4583 array_size_for_constructor, output_constructor): Update to cope with
4584 VEC in CONSTRUCTOR_ELTS.
4585 * vec.h (VEC_empty, VEC_copy): New macros.
4586
f37d7c60
DP
45872005-07-19 Devang Patel <dpatel@apple.com>
4588
4589 * dbxout.c (dbxout_type): Check Objective-C++ lang.
7904f95f 4590
af62f6f9
RH
45912005-07-19 Richard Henderson <rth@redhat.com>
4592
4593 PR tree-opt/22278
4594 * gimplify.c (gimplify_expr): Use main variant type for the temp
4595 destination for a discarded volatile read.
4596 * tree-ssa.c (tree_ssa_useless_type_conversion_1): Don't elide
4597 casts between non-void types that change volatility.
4598
b9b8dde3
DD
45992005-07-15 DJ Delorie <dj@redhat.com>
4600
4601 * toplev.h: Add comment about the first parameter for warning().
4602 * errors.h: Likewise.
4603
4604 * c.opt (Wpragmas): New.
4605 * doc/invoke.texi: Document it.
7904f95f 4606
b9b8dde3
DD
4607 * function.c (do_warn_unused_parameter): Add warning control to
4608 warning call.
4609 * c-decl.c (warn_if_shadowing): Likewise.
4610 * c-lex.c (cb_def_pragma): Likewise.
4611 * c-pragma.c (GCC_BAD, GCC_BAD2): Likewise.
4612 (pop_alignment): Likewise.
4613 (handle_pragma_pack): Likewise.
4614 (apply_pragma_weak): Likewise.
4615 (handle_pragma_weak): Likewise.
4616 (handle_pragma_redefine_extname): Likewise.
4617 (add_to_renaming_pragma_list): Likewise.
4618 (handle_pragma_extern_prefix): Likewise.
4619 (maybe_apply_renaming_pragma): Likewise.
4620 (handle_pragma_visibility): Likewise.
7904f95f 4621
b9b8dde3
DD
4622 * config/c4x/c4x-c.c (BAD): Likewise.
4623 (c4x_parse_pragma): Likewise.
4624 * config/ia64/ia64-c.c (ia64_hpux_handle_builtin_pragma): Likewise.
4625 * config/rs6000/rs6000-c.c (SYNTAX_ERROR): Likewise.
4626 (rs6000_pragma_longcall): Likewise.
4627 * config/v850/v850-c.c (pop_data_area): Likewise.
4628 (ghs_pragma_section): Likewise.
4629 (ghs_pragma_section): Likewise.
4630 (ghs_pragma_interrupt): Likewise.
4631 (ghs_pragma_starttda): Likewise.
4632 (ghs_pragma_startsda): Likewise.
4633 (ghs_pragma_startzda): Likewise.
4634 (ghs_pragma_endtda): Likewise.
4635 (ghs_pragma_endsda): Likewise.
4636 (ghs_pragma_endzda): Likewise.
4637
6a9a79a8
DB
46382005-07-19 Danny Berlin <dberlin@dberlin.org>
4639 Kenneth Zadeck <zadeck@naturalbridge.com>
4640
4641 * Makefile.in: Removed tree-promote-statics.c
4642 * tree-promote-statics.c: Removed.
4643 * common.opt: Removed flag-promote-statics.
4644 * opts.c: Ditto.
7904f95f 4645 * passes.c: Removed tree-promote-statics pass.
6a9a79a8
DB
4646 * tree-pass.h: Ditto.
4647 * timevar.def: Removed TV_PROMOTE_STATICS.
4648
4649
0219cf3d
GP
46502005-07-19 Gerald Pfeifer <gerald@pfeifer.com>
4651
4652 * config.gcc: Add support for *-*-freebsd7, *-*-freebsd8,
4653 and *-*-freebsd9.
4654 * config/freebsd-spec.h (FBSD_TARGET_OS_CPP_BUILTINS): Ditto.
7904f95f 4655
7876a414
KG
46562005-07-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4657
4658 PR c/22476
4659 * c-common.c (check_function_arguments): Call
4660 'check_function_format' if either -Wformat or
4661 -Wmissing-format-attribute are specified.
4662 * c-format.c (check_function_format): Check -Wformat before
4663 calling 'check_format_info'.
4664 * c-opts.c (c_common_post_options): Don't warn for
4665 -Wmissing-format-attribute without -Wformat.
4666 * c-typeck.c (convert_for_assignment): Detect additional cases for
4667 -Wmissing-format-attribute.
4668 * doc/invoke.texi (-Wmissing-format-attribute): Document new
4669 behavior.
4670
98ea7437
RG
46712005-07-19 Richard Guenther <rguenther@suse.de>
4672
4673 * config/i386/i386.md (lrint<mode>2): Use temporary
4674 instead of clobbering non-existent memory.
4675
89a0b917
NC
46762005-07-19 Nick Clifton <nickc@redhat.com>
4677
4678 * config/avr/avr.c (legitimate_address_p): Fix debugging print
4679 statement to avoid displaying ASCII control characters.
4680
dfea6c85
BE
46812005-07-19 Ben Elliston <bje@au.ibm.com>
4682
4683 * bt-load.c (link_btr_uses): Fix uninitialised warnings.
4684 * cfganal.c (find_edge_index): Ditto.
4685 * combine.c (combine_instructions): Ditto.
4686 * ddg.c (create_scc): Ditto.
4687 (find_successors): Ditto.
4688 (find_predecessors): Ditto.
4689 (find_nodes_on_paths): Ditto.
4690 (longest_simple_path): Ditto.
4691 * flow.c (update_life_info): Ditto.
4692 (count_or_remove_death_notes): Ditto.
4693 (clear_log_links): Ditto.
4694 * modulo-sched.c (generate_reg_moves): Ditto.
4695 (find_max_asap): Ditto.
4696 (find_max_hv_min_mob): Ditto.
4697 (find_max_dv_min_mob): Ditto.
4698 * sbitmap.c (sbitmap_first_set_bit): Ditto.
4699 * sched-rgn.c (extract_edgelst): Ditto.
4700 * tree-into-ssa.c (prepare_names_to_update): Ditto.
4701 (dump_update_ssa): Ditto.
4702 (ssa_names_to_replace) Ditto.
4703 (switch_virtuals_to_full_rewrite): Ditto.
4704 (update_ssa): Ditto.
4705 * tree-vect-transform.c (vect_create_epilog_for_reduction): Ditto.
4706
b9d33488
DB
47072005-07-18 Daniel Berlin <dberlin@dberlin.org>
4708
4709 Fix PR tree-optimization/22483
7904f95f 4710
b9d33488
DB
4711 * tree-complex.c (create_components): Use
4712 safe_referenced_var_iterator and FOR_EACH_REFERENCED_VAR_SAFE.
4713 * tree-flow-inline.h (fill_referenced_var_vec): New function.
4714 * tree-flow.h (safe_referenced_var_iterator): New structure.
4715 (FOR_EACH_REFERENCED_VAR_SAFE): New macro.
4716 * tree-ssa-alias.c (setup_pointers_and_addressables): Use
4717 safe_referenced_var iterator.
4718 (add_type_alias): Ditto.
4719
9fa26457
SB
47202005-07-19 Steven Bosscher <stevenb@suse.de>
4721
4722 * loop-init.c (rest_of_handle_loop2): Remove.
4723 (rtl_loop_init, rtl_loop_done, rtl_move_loop_invariants,
4724 rtl_unswitch, rtl_unroll_and_peel_loops, rtl_doloop): New functions.
4725 (pass_rtl_loop_init, pass_rtl_loop_done,
4726 pass_rtl_move_loop_invariants, pass_rtl_unswitch,
4727 pass_rtl_unroll_and_peel_loops, pass_rtl_doloop): New passes.
4728 * tree-ssa-loop.c (pass_loop, pass_loop_init, pass_loop_done,
4729 pass_unswitch): Rename to pass_tree_loop, pass_tree_loop_init,
4730 pass_tree_loop_done, and pass_tree_unswitch.
4731 (gate_loop): Rename to gate_tree_loop.
4732 * passes.c (init_optimization_passes): Update for renamed tree
4733 loop passes. Add the new loop2 passes as subpasses of loop2.
4734 * tree-pass.h: Add extern declarations for the new loop2 subpasses.
4735 Update for the renamed tree loop passes.
4736
7825308e
ILT
47372005-07-18 Ian Lance Taylor <ian@airs.com>
4738
4739 PR middle-end/22057
4740 * tree-cfgcleanup.c (cleanup_tree_cfg): Only remove forwarder
4741 blocks when optimizing.
4742
2928d0f8
SE
47432005-07-18 Steve Ellcey <sje@cup.hp.com>
4744
4745 * common.opt (frename-registers): Initialize to 2.
4746 (fweb): Ditto.
4747 (fgcse-after-reload): Ditto.
4748 * toplev.c (AUTODETECT_FLAG_VAR_TRACKING): Rename to AUTODETECT_VALUE.
4749 (process_options): Only change flag_web, flag_rename_registers,
4750 and flag_rerun_cse_after_loop if not explicitly set by user.
4751
28356f52
JB
47522005-07-18 Jan Beulich <jbeulich@novell.com>
4753
4754 * config/i386/i386.c (ix86_expand_branch, ix86_expand_setcc,
4755 ix86_expand_carry_flag_compare, ix86_expand_int_movcc): Handle TImode
4756 in 64-bit mode the same as DImode in 32-bit mode.
4757 (ix86_expand_ashl_const, ix86_split_ashl, ix86_split_ashr,
4758 ix86_split_lshr): Likewise. Rename to no longer refer to a specific
7904f95f 4759 mode. Add new mode parameter.
28356f52
JB
4760 * config/i386/i386.h (CONST_OK_FOR_LETTER_P): Describe and handle 'O'.
4761 * config/i386/i386.md (cmpti, addti3, subti3, negti2, ashlti3, ashrti3,
4762 x86_64_shift_adj): New expanders.
4763 (*addti3_1, *subti3_1, *negti2_1, ashlti3_1, *ashlti3_2, ashrti3_1,
4764 *ashrti3_2, lshrti3_1, *lshrti3_2, x86_64_shld, x86_64_shrd): New
4765 insns.
4766 Respective new splitters. Use renamed shift splitter helpers in 32-bit
4767 DImode shift splitters.
4768 * config/i386/i386-protos.h (ix86_split_ashl, ix86_split_ashr,
4769 ix86_split_lshr): Renamed from ix86_split_[al]sh[rl]di. Added new
4770 mode parameter.
4771
422edd6f
JB
47722005-07-18 Jan Beulich <jbeulich@novell.com>
4773
4774 * i386.md (movdi_extzv_1): New.
4775 (zero_extendhidi2): Combine alternatives and never force use of
4776 REX64 prefix.
4777 (zero_extendqidi2): Likewise. Don't restrict input selection.
4778
c625053b
DB
47792005-07-17 Daniel Berlin <dberlin@dberlin.org>
4780
4781 Fix PR tree-optimization/22531
4782 * tree-ssa-pre.c (do_eustores): Make sure LHS is a decl for the
4783 moment.
4784
3b1355f3
DB
47852005-07-17 Daniel Berlin <dberlin@dberlin.org>
4786
4787 * tree-promote-statics.c (pass_promote_statics): Change dump file
4788 name.
4789
47902005-07-17 Daniel Berlin <dberlin@dberlin.org>
45159bf6
DB
4791
4792 * tree-optimize.c (init_tree_optimization_passes): Add
4793 pass_eliminate_useless_stores pass.
4794 * tree-pass.h (pass_eliminate_useless_stores): New pass structure.
4795 * tree-ssa-pre.c (is_copy_stmt): New function.
4796 (follow_copies_till_vuse): Ditto.
4797 (do_eustores): Ditto.
7904f95f
EC
4798 (gate_eustores): Ditto.
4799
7544a87f
RH
48002005-07-16 Richard Henderson <rth@redhat.com>
4801
4802 * gcc.c (MFWRAP_SPEC): Don't wrap pthread_join or pthread_exit.
4803
bf0d50f1
KZ
48042005-07-16 Danny Berlin <dberlin@dberlin.org>
4805 Kenneth Zadeck <zadeck@naturalbridge.com>
4806
4807 * Makefile.in: Added rules for ipa-pure-const.c, ipa-reference.c,
4808 ipa-reference.h, ipa-utils.c, ipa-utils.h, ipa-type-escape.c,
4809 ipa-type-escape.h, tree-promote-statics.c
4810 * ipa-pure-const.c, ipa-reference.c, ipa-reference.h, ipa-utils.c,
7904f95f 4811 ipa-utils.h, ipa-type-escape.c, ipa-type-escape.h,
bf0d50f1
KZ
4812 tree-promote-statics.c: new files.
4813 * alias.c: (nonlocal_mentioned_p_1, nonlocal_mentioned_p,
4814 nonlocal_referenced_p_1, nonlocal_referenced_p, nonlocal_set_p_1,
4815 int nonlocal_set_p, mark_constant_function): Deleted.
7904f95f 4816 (rest_of_handle_cfg): Removed call to mark_constant_function.
86979811 4817 (nonoverlapping_component_refs_p): Added calls to support
7904f95f 4818 type based aliasing.
86979811 4819 * tree-ssa-alias.c (may_alias_p,
bf0d50f1
KZ
4820 compute_flow_insensitive_aliasing): Ditto.
4821 * calls.c (flags_from_decl_or_type): Removed reference to
7904f95f 4822 cgraph_rtl_info.
86979811 4823 * c-typeck.c (convert_arguments): Make builtins tolerant of having
bf0d50f1
KZ
4824 too many arguments. This is necessary for Spec 2000.
4825 * cgraph.h (const_function, pure_function): Removed.
7904f95f 4826 * common.opt: Added "fipa-pure-const", "fipa-reference",
bf0d50f1
KZ
4827 "fipa-type-escape", and "ftree-promote-static".
4828 * opts.c: Ditto.
7904f95f 4829 * passes.c: Added ipa and tree-promote-statics passes.
bf0d50f1
KZ
4830 * timevar.def: Added TV_IPA_PURE_CONST, TV_IPA_REFERENCE,
4831 TV_IPA_TYPE_ESCAPE, and TV_PROMOTE_STATICS.
bf0d50f1 4832 * tree-dfa.c (referenced_var_lookup_if_exists): New function.
7904f95f 4833 * tree-flow.h: Added exposed sra calls and addition of
bf0d50f1
KZ
4834 reference_vars_info field for FUNCTION_DECLS.
4835 * tree-pass.h: Added passes.
4836 * tree-sra.c: (sra_init_cache): New function.
4837 (sra_insert_before, sra_insert_after) Made public.
4838 (type_can_be_decomposed_p): Renamed from type_can_be_decomposed_p
4839 and made public.
4840 * tree-ssa-alias.c (dump_alias_stats): Added stats for type based
4841 aliasing. (may_alias_p): Added code to use type escape analysis to
4842 improve alias sets.
4843 * tree-ssa-operands.c (add_call_clobber_ops): Added parameter and
4844 code to prune clobbers of static variables based on information
4845 produced in ipa-reference pass. Changed call clobbering so that
4846 statics are not marked as clobbered if the call does not clobber
4847 them.
4848
b6e0bdbd
DB
48492005-07-16 Daniel Berlin <dberlin@dberlin.org>
4850
4851 * tree-ssa-structalias.c (need_to_solve): Need to check for preds,
4852 too.
4853
ff8f80f2 48542005-07-16 Eric Botcazou <ebotcazou@libertysurf.fr>
2c00bd42
EB
4855
4856 * doc/install.texi (*-*-solaris2*): Document recommended version
4857 of GNU binutils and mention GNU linker problem on Solaris 10.
4858
0b359b01
JM
48592005-07-16 Joseph S. Myers <joseph@codesourcery.com>
4860
4861 PR c/22421
4862 * c-decl.c (c_build_bitfield_integer_type): New function.
4863 (finish_struct): Call it.
4864 * c-pretty-print.c (pp_c_type_specifier): Handle bit-field types.
4865
8fcef540
KG
48662005-07-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4867
4868 * c-typeck.c (digest_init): Call 'convert_for_assignment'
4869 before returning.
4870
84fc24e8
JH
48712005-07-16 Jan Hubicka <jh@suse.cz>
4872
4873 * cfg.c (update_bb_profile_for_threading): Fix profile updating.
4874 (scale_bbs_frequencies_int): Watch roundoff errors.
4875 * predict.c (return_prediction): Initialize return_stmt.
4876
3258272f
JH
48772005-07-16 Jan Hubicka <jh@suse.cz>
4878
4879 * profile.c (rest_of_handle_branch_prob): Fix handling of estimation
4880 after RTL profiling.
4881
01c0a9fa
AP
48822005-07-11 Andrew Pinski <pinskia@physics.uc.edu>
4883
4884 PR middle-end/22398
4885 * fold-const.c (build_range_check): Convert high/low to etype
4886 if we are only comparing against exp.
4887
27811bfe
DB
48882005-07-13 Daniel Berlin <dberlin@dberlin.org>
4889
4890 Fix PR tree-optimization/22376
4891 * tree-ssa-structalias.c (build_constraint_graph): We really meant
4892 special var here.
4893 (need_to_solve): New function.
4894 (compute_points_to_sets): Use it.
7904f95f 4895
2b151cb2
JH
48962005-07-15 Jan Hubicka <jh@suse.cz>
4897
4898 * cfg.c (update_bb_profile_for_threading): More diagnostic.
4899 * tree-ssa-threadupdate.c (redirect_edges): Update profile of dup_block.
4900
0691d1d4
RG
49012005-07-15 Richard Guenther <rguenther@suse.de>
4902
4903 * c-common.c (handle_flatten_attribute): New function.
4904 Add flatten function attribute.
4905 * doc/extend.texi: Document flatten function attribute.
4906 * Makefile.in (ipa-inline.o): Depend on hashtab.h.
4907 * ipa-inline.c (cgraph_find_cycles, cgraph_flatten_node):
4908 New functions.
4909 (cgraph_decide_inlining): Handle functions with flatten
4910 attribute.
4911
9f0076e5
DE
49122005-07-14 David Edelsohn <edelsohn@gnu.org>
4913
4914 * config/rs6000/rs6000.md (UNSPEC_SYNC, UNSPEC_LWSYNC,
4915 UNSPEC_ISYNC, UNSPEC_SYNC_OP, UNSPEC_ATOMIC, UNSPEC_CMPXCHG,
4916 UNSPEC_XCHG, UNSPEC_AND): New.
4917 (UNSPECV_ATOMIC, UNSPECV_SYNC, UNSPECV_SYNC_OP, UNSPECV_CMPXCHG,
4918 UNSPECV_LWSYNC, UNSPECV_ISYNC): Delete.
4919 * config/rs6000/sync.md (FETCHOP): New code macro.
4920 (fetchop_name, fetchop_pred, fetchopsi_constr, fetchopdi_constr):
4921 New code attrs.
4922 (memory_barrier, sync_internal): Use unspec instead of unspec_volatile.
4923 (sync_compare_and_swap<mode>): Same.
4924 (sync_lock_test_and_set<mode>): Same.
4925 (sync_<fetchop><mode>, sync_nand<mode>): Only use rs6000_emit_sync
4926 for QImode and HImode, and not PPC405.
4927 (sync_old_<fetchop><mode>, sync_old_nand<mode>): Same.
4928 (sync_new_<fetchop><mode>, sync_new_nand<mode>): Same.
4929 (sync_<fetchop>{si,di}_internal): New.
4930 (sync_nand{si,di}_internal): New.
4931 (sync_old_<fetchop>{si,di}_internal): New.
4932 (sync_old_nand{si,di}_internal): New
4933 (sync_new_<fetchop>{si,di}_internal): New.
4934 (sync_new_nand{si,di}_internal): New.
4935 (atomic_and{si,di}): New.
4936 (sync_new_nand{si,di}_internal): New.
4937 (atomic_and{si,di}): New.
4938 (sync_add<mode>_internal): Delete.
4939 (sync_addshort_internal): Use unspec instead of unspec_volatile.
4940 (sync_sub<mode>_internal): Delte.
4941 (sync_subshort_internal): New.
4942 (sync_andsi_internal): Use unspec instead of unspec_volatile.
4943 (sync_anddi_internal): Delete.
4944 (sync_boolsi_internal): Use unspec instead of unspec_volatile.
4945 (sync_booldi_internal): Delete.
4946 (sync_boolc<mode>_internal): Delete.
4947 (sync_boolcshort_internal): Use unspec instead of unspec_volatile.
4948 (sync_boolc<mode>_internal2): Delete.
4949 (sync_boolcc<mode>_internal): Delete.
4950 (isync, lwsync): Use unspec instead of unspec_volatile.
4951 * config/rs6000/rs6000.c (rs6000_emit_sync): Implement MINUS.
4952 Revert UNSPEC_VOLATILE.
4953 (rs6000_split_atomic_op): New.
4954 * config/rs6000/rs6000-protos.h (rs6000_split_atomic_op): Declare.
4955
06277571
EC
49562005-07-14 Eric Christopher <echristo@redhat.com>
4957
4958 * config/mips/mips.c (mips_canonicalize_comparison): Cast
4959 argument of trunc_int_for_mode to unsigned HOST_WIDE_INT.
4960
b838c72b
EC
49612005-07-14 Eric Christopher <echristo@redhat.com>
4962
4963 * config/s390/t-tpf (SHLIB_MAPFILES): Remove.
4964
3c341936
SB
49652005-07-14 Steven Bosscher <stevenb@suse.de>
4966
4967 PR tree-optimization/22230
4968 * tree-vrp.c (extract_range_from_binary_expr): Fix logics thinko in
4969 the computation of the four cross productions for "range op range".
4970
704b6cb5 49712005-07-14 Alexandre Oliva <aoliva@redhat.com>
86979811 4972 Ulrich Weigand <uweigand@de.ibm.com>
704b6cb5
AO
4973
4974 PR target/20126
4975 * loop.c (loop_givs_rescan): Do not ICE if unable to reduce an IV
4976 in some insn.
4977
a771c4b3
UW
49782005-07-14 Ulrich Weigand <uweigand@de.ibm.com>
4979
4980 * config/s390/s390.h (TARGET_TPF_PROFILING): Add default definition.
4981
6f3113ed
SE
49822005-07-14 Steve Ellcey <sje@cup.hp.com>
4983
4984 * config/ia64/ia64.c (ia64_output_dwarf_dtprel): Support ILP32 mode.
4985
cb1119b7
RG
49862005-07-14 Richard Guenther <rguenther@suse.de>
4987
4988 PR middle-end/22347
4989 * config/i386/i386-protos.h (ix86_function_value): Change
4990 prototype to match new target hook.
4991 * config/i386/i386.c (ix86_value_regno): Change prototype
4992 to take extra type argument.
4993 (TARGET_FUNCTION_VALUE): Define.
4994 (ix86_function_ok_for_sibcall): Pass extra argument to
4995 ix86_value_regno, check return slot rtx for exact match.
4996 (ix86_function_value): Take extra parameter. Dispatch to
4997 ix86_value_regno with fndecl/fntype as provided.
4998 (ix86_value_regno): Handle extra type argument.
4999 * config/i386/i386.h (FUNCTION_VALUE): No longer define.
5000
5001 * testsuite/gcc.target/i386/sseregparm-3.c: New testcase.
5002 * testsuite/gcc.target/i386/sseregparm-4.c: New testcase.
5003 * testsuite/gcc.target/i386/sseregparm-5.c: New testcase.
5004 * testsuite/gcc.target/i386/sseregparm-6.c: New testcase.
5005 * testsuite/gcc.target/i386/sseregparm-7.c: New testcase.
5006
1d636cc6
RG
50072005-07-14 Richard Guenther <rguenther@suse.de>
5008
5009 * Makefile.in (explow.o, reg-stack.o): Depend on target.h.
5010 * calls.c (expand_call): Pass fntype to hard_function_value.
5011 (emit_library_call_value_1): Likewise.
5012 * explow.c: Include target.h.
5013 (hard_function_value): Take extra argument, the fntype.
5014 Use new target hook for function_value.
5015 * expr.h (hard_function_value): Change prototype.
5016 * function.c (aggregate_value_p): Pass 0 as fntype to
5017 hard_function_value.
5018 (assign_parms): Use new target hook for function_value.
5019 Pass 0 as fntype to hard_function_value.
5020 (expand_function_end): Likewise.
5021 * reg-stack.c: Include target.h.
5022 (stack_result): Use new target hook for function_value.
5023 * target-def.h: New target hook function_value.
5024 * target.h: Likewise.
5025 * targhooks.c (default_function_value): New function.
5026 * targhooks.h (default_function_value): Declare.
5027
09d8cc0e
ILT
50282005-07-13 Ian Lance Taylor <ian@airs.com>
5029
5030 * config/mips/mips.h (CLZ_DEFINED_VALUE_AT_ZERO): Define.
5031
df1f6f31
JH
50322005-07-14 Jan Hubicka <jh@suse.cz>
5033
5034 * tree-dfa.c (dump_variable): Use default_def function.
5035 * tree-ssa-alias.c (dump_points_to_info): Likewise.
5036 * tree-ssa.c (verify_use): Likewise.
5037 * tree-ssanames.c (release_ssa_name): Likewise.
5038 * tree-tailcall.c (eliminate_tail_call): Likewise.
5039 (tree_optimize_tail_calls_1): Likewise.
5040 * tree-vrp.c (get_value_range): Likewise.
5041
9ef0b1bd
BE
50422005-07-14 Ben Elliston <bje@au.ibm.com>
5043
5044 * gcc.c (main): Compare language[0] with '*' when iterating over
5045 the infiles.
5046
69950452
AS
5047