OSDN Git Service

* optabs.c (no_conflict_move_test): Check if a result of a
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2005-09-27  J"orn Rennecke <joern.rennecke@st.com>
2
3         * optabs.c (no_conflict_move_test): Check if a result of a
4         to-be-moved insn would be clobbered by an originally
5         preceding insn.
6
7 2005-09-27  Jeff Law  <law@redhat.com>
8
9         * passes.c (init_optimization_passes): Replace copy propagation
10         passes immediately after DOM with phi-only copy propagation
11         pases.  Add phi-only copy propagation pass after first DOM pass.
12         * tree-pass.h (pass_phi_only_copy_prop): Declare.
13         * tree-ssa-copy.c (init_copy_prop): Accept new PHI_ONLY argument.
14         If true, then mark all non-control statements with DONT_SIMULATE_AGAIN.
15         (execute_copy_prop): Accept new PHI_ONLY argument.  Pass it along
16         to init_copy_prop.  Callers updated.
17         (do_phi_only_copy_prop): New function.
18         (pass_phi_only_copy_prop): New pass descriptor.
19
20 2005-09-27  Nick Clifton  <nickc@redhat.com>
21
22         * libgcc2.c (__popcount_tab): Remove redundant prototype.
23
24 2005-09-26  Jason Merrill  <jason@redhat.com>
25
26         PR c++/13764
27         * c-common.c (finish_fname_decls): Use append_to_statement_list_force.
28
29         * doc/invoke.texi: Clarify documentation of -fno-enforce-eh-specs.
30
31 2005-09-26  James E Wilson  <wilson@specifix.com>
32
33         * config/ia64/crtbegin.asm, config/ia64/crtend.asm: Remove glibc
34         copyright.  Add gcc copyright plus libgcc exception.
35         * config/ia64/crtfastmath.asm: Remove glibc copyright.  Add gcc
36         copyright.
37         * config/ia64/lib1funcs.asm: Add gcc copyright plus libgcc exception.
38
39 2005-09-26  Jeff Law  <law@redhat.com>
40
41         * tree-ssa-dom.c (tree_ssa_dominator_optimize): Be more selective
42         about when to iterate.
43
44 2005-09-23  Fariborz Jahanian <fjahanian@apple.com>
45
46         PR target/23847
47         * config/rs6000/rs6000.c (rs6000_function_value): Parallel pattern
48         for __complex__ double in -mcpu=G5 mode.
49
50 2005-09-26  Sebastian Pop  <pop@cri.ensmp.fr>
51
52         PR tree-optimization/23942
53         * Makefile.in (SCEV_H): Depends on PARAMS_H.
54         * tree-scalar-evolution.c: Include params.h.
55         (t_bool): New enum.
56         (follow_ssa_edge, follow_ssa_edge_in_rhs,
57         follow_ssa_edge_in_condition_phi_branch,
58         follow_ssa_edge_in_condition_phi, follow_ssa_edge_inner_loop_phi): 
59         Change return type to t_bool.  Use a parameter to limit the size of
60         trees that are walked before stopping 
61         (analyze_evolution_in_loop): Initialize the limit to 0.
62         (follow_ssa_edge): Give up by returning t_dont_know if the limit 
63         exceeds PARAM_SCEV_MAX_EXPR_SIZE.
64
65 2005-09-26  Uros Bizjak  <uros@kss-loka.si>
66
67         PR middle-end/23831
68         * simplify-rtx.c (simplify_immed_subreg) [MODE_INT]: Skip
69         simplification if elem_bitsize > 2 * HOST_BITS_PER_WIDE_INT.
70
71 2005-09-26    Fariborz Jahanian <fjahanian@apple.com>
72
73         * combine.c (make_extraction): Check for valid use of subreg.
74
75 2005-09-26  Uros Bizjak  <uros@kss-loka.si>
76
77         PR target/24055
78         * config/i386/i386.md ("*fistdi2_1"): New pattern.
79         ("*fist<mode>2_1"): Use only HImode and SImode register operands.
80         ("fist<mode>2_with_temp"): Use only register operands.
81
82 2005-09-26  J"orn Rennecke <joern.rennecke@st.com>
83
84         * rtlanal.c (reg_used_between_p): Don't check for CLOBBERs in
85         CALL_INSN_FUNCTION_USAGE.
86
87 2005-09-26  Richard Guenther  <rguenther@suse.de>
88
89         PR middle-end/15855
90         * gcse.c: Include hashtab.h, define ldst entry hashtable.
91         (pre_ldst_expr_hash, pre_ldst_expr_eq): New functions.
92         (ldst_entry): Use the hashtable instead of list-walking.
93         (find_rtx_in_ldst): Likewise.
94         (free_ldst_entry): Free the hashtable.
95         (compute_ld_motion_mems): Create the hashtable.
96         (trim_ld_motion_mems): Remove entry from hashtable if
97         removing it from list.
98         (compute_store_table): Likewise^2.
99         (store_motion): Free hashtable in case we did not see
100         any stores.
101
102 2005-09-25  Kazu Hirata  <kazu@codesourcery.com>
103
104         * fold-const.c (fold_binary): Use op0 and op1 instead of arg0
105         and arg1 if we are passing them to fold_build2.
106
107 2005-09-25  Dan Nicolaescu  <dann@ics.uci.edu>
108
109         PR 23828
110         * config/i386/i386.c (ix86_function_regparm): Fix the test for
111         a nested function.
112
113 2005-09-25  Richard Henderson  <rth@redhat.com>
114
115         * config/alpha/alpha.c (tls_symbolic_operand_1): Trust
116         SYMBOL_REF_TLS_MODEL to be correct.
117
118 2005-09-24  Richard Henderson  <rth@redhat.com>
119
120         * ipa-type-escape.c (discover_unique_type): Remove dead code at
121         end of function.  Reindent.
122
123 2005-09-24  Ian Lance Taylor  <ian@airs.com>
124
125         * convert.c (convert_to_integer): Don't test for ENUMERAL_TYPE in
126         NEGATE_EXPR/BIT_NOT_EXPR case.
127
128 2005-09-24  Richard Henderson  <rth@redhat.com>
129
130         * c-common.c (handle_mode_attribute): When not modifying in place,
131         create subtypes for enumerations.
132         (sync_resolve_return): Use TYPE_MAIN_VARIANT.
133         * gimplify.c (create_tmp_from_val): Likewise.
134
135 2005-09-24  Alexandre Oliva  <aoliva@redhat.com>
136
137         * config/i386/i386.md (*tls_global_dynamic_64,
138         *tls_local_dynamic_base_64): Add missing mode to call.
139         (tls_global_dynamic_64, tls_local_dynamic_base_64): Likewise.
140
141 2005-09-24  Jan Hubicka  <jh@suse.cz>
142
143         * cgraph.c (cgraph_clone_edge): Make the scale gcov_type.
144         (cgraph_clone_node): Likewise.
145         * cgraph.h (cgraph_clone_edge): Update prototype.
146         (cgraph_mark_inline_edge, cgraph_clone_inlined_nodes): Remove
147         duplicated prototypes; add updating argument.
148         * cgraphunit.c (verify_cgraph_node): Verify that counts are non-negative.
149         * ipa-inline.c (cgraph_clone_inlined_nodes): Allow clonning without
150         updating profile.
151         (cgraph_mark_inline_edge): Likewise.
152         (cgraph_mark_inline): Update use of cgraph_mark_inline_edge.
153         (cgraph_flatten_node): Likewise.
154         (cgraph_decide_recursive_inlining): Likewise.
155         (cgraph_decide_inlining_of_small_function): Likewise.
156         * tree-optimize.c (tree_rest_of_compilation): Likewise.
157
158 2005-09-23  David Edelsohn  <edelsohn@gnu.org>
159             Pete Steinmetz <steinmtz@us.ibm.com>
160
161         * config/rs6000/rs6000.md (neg-minus-mult): Set type to dmul.
162         (rldic.): Set type to "compare".
163         (rldicr.): Same.
164         (movsf_hardfloat): Set type to mtjmpr for MTCTR/MTLR.  Set type to
165         mfjmpr for MFCTR/MFLR.
166         (movdf_hardfloat64): Same.
167         (movdf_softfloat64): Same.  Correct order of store and move types.
168         (movti_string): Set type to store_ux/load_ux.
169         (load_multiple): Set type to load_ux.
170         (store_multiple): Set type to store_ux.
171         (movmemsi): Set type to store_ux.
172         (output_cbranch direct_return): Set type to jmpreg.
173         (stmw): Set type to store_ux.
174         (lmw): Set type to load_ux.
175         * config/rs6000/40x.md (ppc403-store): Increase latency to 2.
176         * config/rs6000/440.md (ppc440-store): Increase latency to 6.
177         * config/rs6000/603.md (ppc603-store): Occupy LSU for 2 cycles.
178         * config/rs6000/6xx.md (ppc604-store): Increase latency to 3.
179         * config/rs6000/mpc.md (mpccore-store): Increase latency to 2.
180         * config/rs6000/rios1.md (rios1-store): Increase latency to 2.
181         (rios1-fpstore): Increase latency to 3.
182         * config/rs6000/rios2.md (rios2-store): Increase latency to 2.
183         * config/rs6000/rs64.md (rs64a-store): Increase latency to 2.
184
185 2005-09-23  David Edelsohn  <edelsohn@gnu.org>
186             Andrew Pinski  <pinskia@physics.uc.edu>
187
188         * config/rs6000/sync.md (sync_<fetchop_name>si_internal): Change
189         operand2 constraint to "b".
190         (sync_<fetchop_name>di_internal): Same.
191         (sync_old_<fetchop_name>si_internal): Change operand3 constraint
192         to "b".
193         (sync_old_<fetchop_name>di_internal): Same.
194         (sync_new_<fetchop_name>si_internal): Same.
195         (sync_new_<fetchop_name>di_internal): Same.
196
197 2005-09-23  J"orn Rennecke <joern.rennecke@st.com>
198
199         PR middle-end/23991
200         * final.c (insn_default_length, insn_min_length): In !HAVE_ATTR_length
201         case, define as macros.
202
203         PR rtl-optimization/23837
204         *  optabs.c (no_conflict_move_test): Don't set must_stay for a
205         clobber / clobber match between dest and p->first.
206
207         * optabs.c (emit_libcall_block): Use no_conflict_move_test.
208         (no_conflict_move_test): Update comments.
209
210 2005-09-22  Ranjit Mathew  <rmathew@gcc.gnu.org>
211
212         * doc/install.texi: Update URL for Jacks.
213         * doc/sourcebuild.texi: Likewise.
214
215 2005-09-22  David Edelsohn  <edelsohn@gnu.org>
216
217         PR target/24007
218         * config/rs6000/rs6000.md (movsf_hardfloat): Ignore special
219         registers when choosing register preferences.
220         (movdf_hardfloat64): Same.
221
222 2005-09-22  Andreas Krebbel  <krebbel1@de.ibm.com>
223
224         * expmed.c (expand_shift): Don't use the target of the rotate as
225         target for the first expanded shift insn.
226         * testsuite/gcc.dg/20050922-1.c: Testcase added.
227
228 2005-09-21  Zdenek Dvorak  <dvorakz@suse.cz>
229
230         PR tree-optimization/22438
231         * tree-ssa-loop-ivopts.c (rewrite_use_nonlinear_expr): Handle all
232         preserved iv rhs rewriting specially.
233
234 2005-09-21  Daniel Berlin  <dberlin@dberlin.org>
235
236         * tree-data-ref.c (analyze_array_indexes): Only estimate when
237         estimate_only  is true.
238         * tree-flow.h (ref_contains_indirect_ref): New prototype.
239         * tree-flow-inline.h (ref_contains_indirect_ref): Moved from
240         tree-ssa-structalias.c 
241         * tree-ssa-loop-niter.c (infer_loop_bounds_from_undefined): Use
242         ref_contains_indirect_ref.
243         * tree-ssa-structalias.c (ref_contains_indirect_ref): Moved.
244
245 2005-09-21  DJ Delorie  <dj@redhat.com>
246
247         * config/mn10300/mn10300.c (TARGET_DEFAULT_TARGET_FLAGS): Add
248         MASK_PTR_A0D0.
249         (mn10300_return_in_memory): Support variable size types also.
250         (mn10300_pass_by_reference): Likewise.
251         (mn10300_function_value): New.
252         * config/mn10300/mn10300.h (FUNCTION_VALUE): Call the above.
253         (FUNCTION_OUTGOING_VALUE): Likewise.
254         * config/mn10300/mn10300.opt: Add -mreturn-pointer-on-d0.
255         * doc/invoke.texi: Document it.
256
257 2005-09-21  Uros Bizjak  <uros@kss-loka.si>
258
259         PR target/22585
260         * config/i386/i386.c (ix86_prepare_fp_compare_args): Do not
261         force integer op1 into register for XFmode compares.
262
263 2005-09-21  Kazu Hirata  <kazu@codesourcery.com>
264
265         PR middle-end/23971
266         * expmed.c (alg_code): Add alg_impossible.
267         (alg_hash_entry): Add cost.
268         (synth_mult): Record alg_impossible in the hash table if
269         multiplication by a given integer is impossble within the
270         limit.  Speed up using alg_impossible.
271
272 2005-09-20  Daniel Berlin  <dberlin@dberlin.org>
273
274         * tree-ssa-structalias.c (get_constraint_for_component_ref): Add
275         argument.  Allow and set any offset if needs_anyoffset is passed
276         in.
277         (get_constraint_for): Add argument here too.
278         Pass it down.
279         (do_structure_copy): Pass NULL to get_constraint_for.
280         (handle_ptr_arith): Ditto.
281         (find_func_aliases): Ditto.
282
283 2005-09-20  J"orn Rennecke <joern.rennecke@st.com>
284
285         PR rtl-optimization/23898
286         * output.h (get_attr_min_length): Declare.
287         * final.c (get_attr_length_1): New function, broken out of:
288         (get_attr_length).
289         (get_attr_min_length): New function.
290         * bb-reorder.c (copy_bb_p, get_uncond_jump_length): Use it.
291         (duplicate_computed_gotos): Likewise.
292         * genattr.c (insn_min_length): Generate declaration.
293         * genattrtab.c (min_fn, min_attr_value): New functions.
294         (make_length_attrs): Generate insn_min_length.
295
296 2005-09-20  Steve Ellcey  <sje@cup.hp.com>
297
298         * config/pa/pa.c (output_cbranch): Check for zero in operands[2].
299
300 2005-09-20  Richard Henderson  <rth@redhat.com>
301
302         * expr.c (expand_expr_real_1) <INDIRECT_REF>: Allow modifier
303         EXPAND_STACK_PARM.
304
305 2005-09-20  Joseph S. Myers  <joseph@codesourcery.com>
306
307         * c.opt (fextended-identifiers): New.
308         * c-opts.c (c_common_handle_option): Handle
309         -fextended-identifiers.
310         * doc/cpp.texi: Update documentation of extended identifiers.
311         * doc/cppopts.texi (-fextended-identifiers): Document.
312
313 2005-09-20  Jakub Jelinek  <jakub@redhat.com>
314
315         PR tree-optimization/23929
316         * tree-ssa-loop-niter.c (expand_simple_operations): Return immediately
317         if expr is NULL.
318
319         PR tree-optimization/23818
320         * tree-stdarg.c (execute_optimize_stdarg): Call
321         calculate_dominance_info.
322
323 2005-09-20  Daniel Berlin  <dberlin@dberlin.org>
324
325         * tree-data-ref.c (get_number_of_iters_for_loop): New function.
326         (analyze_siv_subscript_cst_affine): Add weak SIV test.
327         (compute_overlap_steps_for_affine_1_2): Use
328         get_number_of_iters_for_loop.
329         (analyze_subscript_affine_affine): Check whether difference is
330         zero first.
331         Use get_number_of_iters_for_loop.
332         Check whether overlap occurs outside of bounds.
333         (analyze_miv_subscript): Use get_number_of_iters_for_loop.
334
335 2005-09-20  Andreas Krebbel  <krebbel1@de.ibm.com>
336
337         * tree-ssa-address.c (create_mem_ref): Put the symbol reference into the
338         base register if possible.
339
340 2005-09-20  Zdenek Dvorak  <dvorakz@suse.cz>
341
342         PR tree-optimization/18463
343         * tree-chrec.c (chrec_convert): Return fold_converted chrec if
344         converting it directly is not possible.
345         (chrec_convert_aggressive): New function.
346         * tree-chrec.h (chrec_convert_aggressive): Declare.
347         * tree-scalar-evolution.c (instantiate_parameters_1, resolve_mixers):
348         Fold chrec conversions aggressively if asked to.
349         (instantiate_parameters): Modified because of changes in
350         instantiate_parameters_1.
351
352 2005-09-19  Richard Henderson  <rth@redhat.com>
353
354         * config/i386/sse.md (reduc_splus_v4sf): Rename from reduc_plus_v4sf.
355         (reduc_splus_v2df): New.
356
357 2005-09-19  Richard Sandiford  <richard@codesourcery.com>
358
359         * config/arm/aof.h (REGISTER_NAMES): Add missing backslash.
360         (ADDITIONAL_REGISTER_NAMES): Add missing comma.  Remove final comma.
361
362 2005-09-19  Richard Henderson  <rth@redhat.com>
363
364         * config/i386/sse.md (vcondu<SSEMODE124>): Rename from
365         vcondu<SSEMODE12>.
366
367 2005-09-19  Richard Henderson  <rth@redhat.com>
368
369         * config/ia64/ia64.c (ia64_expand_widen_sum): New.
370         (ia64_expand_dot_prod_v8qi): New.
371         * config/ia64/ia64-protos.h: Update.
372         * config/ia64/vect.md (pmpy2_r, pmpy2_l, widen_usumv8qi3,
373         widen_usumv4hi3, widen_ssumv8qi3, widen_ssumv4hi3, udot_prodv8qi,
374         sdot_prodv8qi, sdot_prodv4hi): New.
375         (reduc_splus_v2sf): Rename from reduc_plus_v2sf.
376
377 2005-09-19  Richard Henderson  <rth@redhat.com>
378
379         PR 23941
380         * real.c (exact_real_truncate): Return false if the format cannot
381         represent the number as a normal.
382
383         * config/alpha/alpha.c (alpha_rtx_costs) <FLOAT_EXTEND>: Cost 0
384         for a memory source.
385
386 2005-09-19  Dorit Nuzman  <dorit@il.ibm.com>
387
388         * tree-ssa-operands.c (swap_tree_operands): Export.
389         * tree.h (swap_tree_operands): Declare.
390         * tree-vectorizer.c (vect_is_simple_reduction): Remove ATTRIBUTE_UNUSED.
391         Call swap_tree_operands.
392         
393 2005-09-19  Richard Henderson  <rth@redhat.com>
394
395         * tree-flow.h (merge_alias_info): Declare.
396         * tree-ssa-copy.c (merge_alias_info): Export.
397         * tree-vect-transform.c (vect_create_index_for_vector_ref): Remove.
398         (vect_create_data_ref_ptr): Use create_iv directly.
399         (vectorizable_load): Use correct types for integer constants.
400         (vect_generate_tmps_on_preheader): Likewise.
401         (vect_gen_niters_for_prolog_loop): Likewise.
402
403 2005-09-19  Steven Bosscher  <stevenb@suse.de>
404
405         PR rtl-optimization/23943
406         * cse.c (find_best_addr): Never propagate an EXPR_LIST rtx.
407
408 2005-09-18  Jan Hubicka  <jh@suse.cz>
409
410         * calls.c (flags_from_decl_or_type): Do not set ECF_LIBCALL_BLOCK.
411
412 2005-09-18  Eric Botcazou  <ebotcazou@adacore.com>
413
414         * varasm.c (output_constant): Do not abort on conversions to union
415         types between different sizes.
416
417 2005-09-18  Richard Guenther  <rguenther@suse.de>
418
419         PR middle-end/23944
420         * gimplify.c (fold_indirect_ref_rhs): Fix thinko in
421         fallback.
422
423 2005-09-18  Paul Brook  <paul@codesourcery.com>
424
425         * config/m68k/fpgnuib.c (__floatsidf): Don't rely on signed overflow.
426
427 2005-09-17  Richard Henderson  <rth@redhat.com>
428
429         * tree-pass.h, tree-flow.h, tree-ssa-dce.c: Revert last change.
430         * tree-ssa-loop.c (pass_vect_dce): Remove.
431         * passes.c (init_optimization_passes): Add pass_dce as a sub-pass
432         of pass_vectorize.
433
434 2005-09-17  Richard Henderson  <rth@redhat.com>
435
436         * tree-pass.h (pass_vect_dce): Declare.
437         * passes.c (init_optimization_passes): Add it.
438         * tree-flow.h (tree_ssa_dce): Declare.
439         * tree-ssa-dce.c (tree_ssa_dce): Export.
440         * tree-ssa-loop.c (tree_vectorize): Move current_loops check ...
441         (gate_tree_vectorize): ... here.
442         (pass_vect_dce): New.
443
444 2005-09-17  Jan Hubicka  <jh@suse.cz>
445
446         * except.c (struct eh_status): Turn region_array into vec.
447         (expand_resx_expr, collect_eh_region_array, remove_unreachable_regions,
448         convert_from_eh_region_ranges, find_exception_handler_labels, 
449         current_function_has_exception_handlers, assign_filter_values, 
450         build_post_landing_pads, dw2_build_landing_pads,
451         sjlj_find_directly_reachable_regions, sjlj_mark_call_sites,
452         sjlj_emit_dispatch_table, remove_eh_handler, for_each_eh_region,
453         foreach_reachable_handler, can_throw_internal_1,
454         convert_to_eh_region_ranges, verify_eh_tree): Update uses of
455         region_array.
456         (duplicate_eh_region_1): Update region_array.
457         (duplicate_eh_regions): Resize region_array and avoid recomputing.
458
459 2005-09-17  David Edelsohn  <edelsohn@gnu.org>
460
461         PR middle-end/22067
462         * expmed.c (expand_mult): Substitute simple register for op0 when
463         computing max_cost.
464
465 2005-09-17  Richard Henderson  <rth@redhat.com>
466
467         * expr.c (emit_move_via_integer): Add force argument, pass it on
468         to emit_move_change_mode.  Update callers.
469         (emit_move_complex): Pass true to new force argument.
470         * function.c (expand_function_end): Move expand_eh_return call
471         earlier.  Merge sub-word complex values into a pseudo before
472         copying to the return hard register.
473
474 2005-09-17  Eric Botcazou  <ebotcazou@adacore.com>
475
476         * varasm.c (output_constant): Do not abort on VIEW_CONVERT_EXPRs
477         between different sizes.
478
479 2005-09-16  Paolo Bonzini  <bonzini@gnu.org>
480
481         PR 23903
482
483         * passes.c (init_optimization_passes): Register dump files for
484         IPA passes first.
485
486 2005-09-16  Andreas Krebbel  <krebbel1@de.ibm.com>
487
488         * config/s390/s390-protos.h (s390_overlap_p): Prototype added.
489         * config/s390/s390.c (s390_overlap_p): New function.
490         * config/s390/s390.md ("*mvc" peephole2, "*nc" peephole2, "*oc"
491         peephole2, "*xc" peephole2): Added overlap check to the peephole2
492         condition.
493
494 2005-09-16  Richard Guenther  <rguenther@suse.de>
495
496         * ipa-pure-const.c (static_execute): Free auxiliar information.
497         * ipa-type-escape.c (discover_unique_type): Free temporary key.
498         * tree-vrp.c (remove_range_assertions): Free blocks_visited sbitmap.
499
500 2005-09-15  DJ Delorie  <dj@redhat.com>
501
502         * config/m32c/m32c-lib1.S (__m32c_eh_return): Fix typo.
503
504 2005-09-15  Paolo Bonzini  <bonzini@gnu.org>
505
506         * optabs.c (expand_binop): Use swap_commutative_operands_with_target
507         to order operands.
508         (swap_commutative_operands_with_target): New.
509
510 2005-09-15  Daniel Berlin  <dberlin@dberlin.org>
511
512         * tree-data-ref.c (analyze_array_indexes): Add estimate_only
513         parameter.
514         Update callers.
515         (estimate_iters_using_array): New function.
516         * tree-data-ref.h (estimate_iters_using_array): Prototype
517         * tree-ssa-loop-niter.c (infer_loop_bounds_from_undefined):
518         Use estimate_iters_using_array instead of analyze_array.
519         
520 2005-09-15  Eric Botcazou  <ebotcazou@adacore.com>
521
522         * tree-nested.c (get_frame_type): Mark the "non-local frame structure"
523         as addressable.
524
525 2005-09-15  Michael Matz  <matz@suse.de>
526
527         * tree-vrp.c (vrp_int_const_binop <MINUS_EXPR>): Handle 0 - -INF.
528
529 2005-09-14  Daniel Berlin  <dberlin@dberlin.org>
530
531         PR tree-optimization/23835
532         * tree-ssa-alias.c (sort_pointers_by_pt_vars): New function.
533         (create_name_tags): Rewrite to be not O(num_ssa_names^2).
534
535 2005-09-14  Richard Henderson  <rth@redhat.com>
536
537         * config/ia64/vect.md (addv2sf3, subv2sf3): Rewrite as expand.
538         (addv2sf3_1, addv2sf3_2, subv2sf3_1, subv2sf3_2): New.
539
540 2005-09-14  Andrew Pinski  <pinskia@physics.uc.edu>
541
542         * config/i386/i386.c (contains_128bit_aligned_vector_p): Add break
543         in the ARRAY_TYPE case.
544
545 2005-09-14  Eric Botcazou  <ebotcazou@adacore.com>
546
547         * tree.c (substitute_in_expr, case 4): New case, for ARRAY_REF.
548
549 2005-09-14  Uros Bizjak  <uros@kss-loka.si>
550
551         PR middle-end/22480
552         * tree-vect-transform.c (vectorizable_operation): Return false for
553         scalar shift operations and for vector shift operations with
554         non-invariant shift arguments.  Use scalar tree operand op1 as
555         a shift operand when vector shift insn pattern uses scalar shift
556         operand.
557         * Makefile.in (tree-vect-transform.o): Depend on recog.h.
558
559 2005-09-14  Olivier Hainque  <hainque@adacore.com>
560
561         * gimplify.c (gimplify_init_ctor_eval): Don't discard a zero-sized
562         value if it has side-effects.
563
564 2005-09-14  David Edelsohn  <edelsohn@gnu.org>
565
566         PR target/22068
567         * config/rs6000/rs6000.md (muldi3): Add mulli alternative.
568
569 2005-09-14  Alan Modra  <amodra@bigpond.net.au>
570
571         * config/rs6000/linux64.h (DBX_OUTPUT_BRAC): Treat function name
572         passed as NAME as if it were label at start of function code.
573
574 2005-09-13  Kaz Kojima  <kkojima@gcc.gnu.org>
575
576         * config/sh/sh.md (*movv4sf_i): Add general register cases to
577         the constraints.
578
579 2005-09-13  Andrew Pinski  <pinskia@physics.uc.edu>
580
581         * config/rs6000/darwin.md (movdf_low_si): Mark the outgoing r constraint
582         as early clobber.  Rewrite so the PIC register is not implicitly used.
583
584 2005-09-13  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
585
586         * tree.c (annotate_with_file_line): Compare line numbers before
587         file names.
588
589 2005-09-13  Uros Bizjak  <uros@kss-loka.si>
590
591         PR target/23816
592         * config/i386/sse.md (*ieee_sminv4sf3, *ieee_smaxv4sf3)
593         (*ieee_sminv2df3, *ieee_smaxv2df3): New insn patterns.
594
595 2005-09-13  Ian Lance Taylor  <ian@airs.com>
596
597         * loop-doloop.c (doloop_modify): Use GEN_INT to pass an rtx rather
598         than a HOST_WIDEST_INT to gen_doloop_begin.
599
600 2005-09-13  Diego Novillo  <dnovillo@redhat.com>
601
602         * tree-dfa.c (dump_variable): Guard against NULL annotations.
603
604 2005-09-13  Zdenek Dvorak  <dvorakz@suse.cz>
605
606         PR tree-optimize/23817
607         * tree-cfg.c (tree_merge_blocks): Preserve loop closed ssa.
608
609 2005-09-13  Alan Modra  <amodra@bigpond.net.au>
610
611         PR target/23774
612         * config/rs6000/rs6000.md (restore_stack_block): Write the backchain
613         word before changing the stack pointer.  Use gen_frame_mem for MEMs.
614         Use UNSPEC_TIE to prevent insn scheduling reordering the insns.
615         (restore_stack_nonlocal): Likewise.
616         (save_stack_nonlocal): Use template to emit insns, and gen_frame_mem.
617
618 2005-09-12  Ian Lance Taylor  <ian@airs.com>
619
620         PR g++/7874
621         * c.opt (ffriend-injection): New C++ option.
622         * doc/invoke.texi (Option Summary): Mention -ffriend-injection.
623         (C++ Dialect Options): Document -ffriend-injection.
624
625 2005-09-12  Josh Conner  <jconner@apple.com>
626
627         PR middle-end/23237
628         * ipa-reference.c (static_execute): Don't mark variables in
629         named sections TREE_READONLY.
630
631 2005-09-12  Alan Modra  <amodra@bigpond.net.au>
632
633         * config/rs6000/rs6000.c (get_next_active_insn): Simplify test for
634         stack_tie.
635
636 2005-09-12  Andrew Pinski  <pinskia@physics.uc.edu>
637
638         * tree-ssa-dse.c (dse_optimize_stmt): Fix up all of V_MAY_DEF and 
639         V_MUST_DEF instead of just the first_use_p.
640         Don't mark the virtual variables for renaming on the statement which 
641         is being removed.
642         (pass_dse): Remove TODO_update_ssa.
643
644 2005-09-12  J"orn Rennecke <joern.rennecke@st.com>
645
646         PR middle-end/23290
647         * stor-layout.c (compute_record_mode): For records with a single
648         field, actually check the field's mode size against the type size.
649
650         * sh.h (HARD_REGNO_MODE_OK): Allow V4SFmode in general purpose
651         registers for TARGET_SHMEDIA.
652         (enum reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Rename
653         GENERAL_FP_REGS to GENERAL_DF_REGS.  Add GENERAL_FP_REGS as union
654         of GENERAL_REGS and FP_REGS.
655
656 2005-09-12  Bernd Schmidt  <bernd.schmidt@analog.com>
657
658         * config/bfin/bfin.c (legimitize_pic_address): Use gen_const_mem.
659
660 2005-09-12  Alan Modra  <amodra@bigpond.net.au>
661
662         * config/rs6000/rs6000.c (get_next_active_insn): Rewrite using
663         CALL_P, JUMP_P and NONJUMP_INSN_P, so that barriers and labels
664         are omitted.  Exclude stack_tie insn too.
665
666 2005-09-11  David Edelsohn  <edelsohn@gnu.org>
667
668         PR rtl-optimization/23098
669         * config/rs6000/predicates.md (easy_fp_constant): SFmode constant
670         0.0f is easy.
671         * config/rs6000/rs6000.md (movdf splitter): Use
672         const_double_operand predicate for TARGET_POWERPC64.
673         * config/rs6000/rs6000.c (rs6000_legitimize_reload_address): Expand
674         SYMBOL_REF method to ABI_V4.
675
676         * config/rs6000/altivec.md (build_vector_mask_for_load): Use
677         replace_equiv_address.
678         * config/rs6000/rs6000.c (rs6000_emit_eh_reg_restore): Mark MEM as
679         rs6000_sr_alias_set and MEM_NOTRAP.
680         (rs6000_aix_emit_builtin_unwind_init): Use gen_frame_mem().
681
682 2005-09-11  Eric Botcazou  <ebotcazou@adacore.com>
683
684         * tree.c (contains_placeholder_p) <tcc_expression>: Properly
685         handle CALL_EXPR again.
686
687 2005-09-11  Richard Earnshaw  <richard.earnshaw@arm.com>
688
689         * arm/predicates.md (alignable_memory_operand): Delete.
690
691 2005-09-10  Richard Henderson  <rth@redhat.com>
692
693         PR debug/23806
694         * dbxout.c (dbxout_expand_expr): New.
695         (dbxout_symbol): Use it.
696
697 2005-09-10  Richard Earnshaw  <richard.earnshaw@arm.com>
698
699         * arm.c (arm_gen_rotated_half_load): Delete.
700         (vfp_emit_fstmx, arm_set_return_address): Use gen_frame_mem.
701         (emit_multi_reg_push, emit_sfm, arm_expand_prologue)
702         (thumb_set_return_address): Likewise.
703         (thumb_load_double_from_address): Use adjust_address.
704         * arm.md (splits calling arm_gen_rotated_half_load): Delete.
705         (extendhsisi2_mem, movhi_bytes): Use change_address.
706         (movhi): Use widen_memory_access.
707         (reload_out_df): Use replace_equiv_address.
708         * arm-protos.h (arm_gen_rotated_half_load): Delete prototype.
709
710 2005-09-09  Richard Henderson  <rth@redhat.com>
711
712         PR debug/20998
713         * dbxout.c: Include expr.h.
714         (dbxout_global_decl): Don't suppress for DECL_RTL unset.
715         (dbxout_symbol): Handle DECL_VALUE_EXPR.
716         * Makefile.in (dbxout.o): Add EXPR_H.
717
718 2005-09-09  Zdenek Dvorak  <dvorakz@suse.cz>
719
720         PR tree-optimization/23509
721         * tree-cfg.c (replace_uses_by): Use replace_exp.
722         * tree-ssa-loop-ivopts.c (get_ref_tag): Assert that dereferenced
723         pointers have name_mem_tag or type_mem_tag set.
724
725 2005-09-09  Sebastian Pop  <pop@cri.ensmp.fr>
726
727         * tree-chrec.c (evolution_function_is_invariant_rec_p): Use 
728         CHREC_LEFT and CHREC_RIGHT for accessing chrec components instead
729         of wrongly accessing operands.
730
731 2005-09-09  Sebastian Pop  <pop@cri.ensmp.fr>
732
733         * Makefile.in (tree-chrec.o): Depends on SCEV_H.
734         * tree-chrec.c: Include tree-scalar-evolution.h.
735         (chrec_convert): Instantiate the base and step before calling
736         scev_probably_wraps_p that would fail on parametric evolutions.
737         Collect all the fails into a single section failed_to_convert,
738         print a diagnostic, and return chrec_dont_know instead of calling
739         fold_convert.
740         * tree-scalar-evolution.c (loop_closed_phi_def): New.
741         (instantiate_parameters_1): Avoid instantiation of loop closed ssa
742         phi nodes.
743         (scev_const_prop): Don't replace the definition of a loop closed ssa
744         phi node by itself, or by another loop closed ssa phi node.
745         * tree-ssa-loop-niter.c (scev_probably_wraps_p, convert_step): Check
746         that base and step are defined.
747
748 2005-09-09  Richard Guenther  <rguenther@suse.de>
749
750         PR c++/23624
751         * fold-const.c (fold_ternary): Check truth_value_p before
752         calling invert_truthvalue.
753
754 2005-09-09  Nick Clifton  <nickc@redhat.com>
755
756         * Makefile.in (LIBGCC_DEPS): Add libgcc2.h.
757         * libgcc2.c (__clz_tab[], __popcount_tab[]): Set the fixed
758         dimension of these arrays.
759         * libgcc2.h (__clz_tab[], __popcount_tab[]): Add exports of
760         these arrays.
761         * longlong.h: Only provide a prototype for the __clz_tab[] array
762         if this header has not been included from libgcc2.h.
763         * config/stormy16/stormy16-lib2.c: Include libgcc2.h rather than
764         defining own types.
765         Provide prototypes for exported functions.
766         Use the __clz_tab[] and __popcount_tab[] arrays provided by
767         libgcc2.c.
768
769 2005-09-08  Josh Conner  <jconner@apple.com>
770
771         PR c++/21135
772         PR c++/23180
773         * expr.c (expand_expr_addr_expr_1): Don't invoke
774         expand_simple_binop for EXPAND_INITIALIZER.
775
776 2005-09-08  Richard Henderson  <rth@redhat.com>
777
778         PR debug/23190
779         * toplev.c (wrapup_global_declaration_1): Split out ...
780         (wrapup_global_declaration_2): ... from ...
781         (wrapup_global_declarations): ... here.  Return bool.
782         (check_global_declaration_1): Split out ...
783         (check_global_declarations): from here.
784         (emit_debug_global_declarations): New.
785         * toplev.h (wrapup_global_declaration_1, wrapup_global_declaration_2,
786         check_global_declaration_1, emit_debug_global_declarations): Declare.
787         * c-decl.c (c_write_global_declarations_1): Don't create a vector
788         of decls.  Call wrapup_global_declaration_1,
789         wrapup_global_declaration_2, check_global_declaration_1 directly.
790         (c_write_global_declarations_2): New.
791         (ext_block): New.
792         (c_write_global_declarations): Call c_write_global_declarations_2.
793         * langhooks.c (write_global_declarations): Call
794         emit_debug_global_declarations.
795
796         * cgraphunit.c (cgraph_varpool_remove_unreferenced_decls): Don't
797         remove decls that have DECL_RTL_SET_P.
798         * passes.c (rest_of_decl_compilation): Invoke
799         cgraph_varpool_finalize_decl for all but functions.
800
801 2005-09-08  Eric Botcazou  <ebotcazou@libertysurf.fr>
802
803         * tree-vrp.c (extract_range_from_unary_expr): Do not set the range for
804         the result of a conversion if the new min and max cannot be compared.
805
806 2005-09-08  Andreas Krebbel  <krebbel1@de.ibm.com>
807
808         * config/s390/s390.c (s390_sr_alias_set): Variable removed.
809         (override_options): Setting s390_sr_alias_set removed.
810         (save_fpr, save_gprs): Set alias set to vararg or frame.
811         (restore_fpr, restore_gprs, s390_emit_prologue): Replace 
812         s390_sr_alias_set with get_frame_alias_set ().
813         (s390_gimplify_va_arg): Replace s390_sr_alias_set with
814         get_varargs_alias_set ().
815
816 2005-09-08  Andrew Pinski  <pinskia@physics.uc.edu>
817
818         PR objc/20574
819         PR objc/19324
820         * c-parser.c (c_parser_objc_method_definition): If the next
821         token is not "{", error out and don't start the function.
822
823 2005-09-08  Andrew Pinski  <pinskia@physics.uc.edu>
824
825         * tree-vrp.c (extract_range_from_expr): Move the check for non
826         nullness after the check for gimple invariant.
827
828 2005-09-08  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
829
830         * tree.c (host_integerp, tree_low_cst): Correct function comment.
831
832 2005-09-08  Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
833
834         PR target/23747
835         * config/m32r.md (movmemsi_internal): Canonicalize order of
836         operands in PLUS component of template.
837
838 2005-09-07  Andreas Krebbel  <krebbel1@de.ibm.com>
839
840         * reload1.c (fixup_eh_region_note): Remove assertion.
841         (fixup_abnormal_edges): Reverted removal of call to 
842         find_many_sub_basic_blocks made on 2005-08-31.
843
844 2005-09-07  Richard Henderson  <rth@redhat.com>
845
846         * function.c (ARG_POINTER_CFA_OFFSET): Move ...
847         * defaults.h (ARG_POINTER_CFA_OFFSET): ... here.
848         (INCOMING_FRAME_SP_OFFSET): Move from dwarf2out.c.
849         * dwarf2out.c (struct cfa_loc): Change reg to unsigned int,
850         rearrange for better packing.
851         (INCOMING_FRAME_SP_OFFSET): Move to defaults.h.
852         (lookup_cfa_1): Remove inline marker.
853         (cfa_equal_p): Split out of ...
854         (def_cfa_1): ... here.  Use INVALID_REGNUM.
855         (build_cfa_loc): Handle !cfa->indirect.
856         (frame_pointer_cfa_offset): New.
857         (dbx_reg_number): Assert register elimination performed; do
858         leaf register remapping.
859         (reg_loc_descriptor): Avoid calling dbx_reg_number when unused.
860         (eliminate_reg_to_offset): New.
861         (based_loc_descr): Remove can_use_fbreg argument.  Use fbreg only
862         for verifiably local stack frame addresses; re-base to CFA.
863         (mem_loc_descriptor): Remove can_use_fbreg argument.
864         (concat_loc_descriptor, loc_descriptor): Likewise.
865         (containing_function_has_frame_base): Remove.
866         (rtl_for_decl_location): Don't do register elimination or
867         leaf register remapping here.
868         (secname_for_decl): Split out from ..
869         (add_location_or_const_value_attribute): ... here.
870         (convert_cfa_to_loc_list): New.
871         (compute_frame_pointer_to_cfa_displacement): New.
872         (gen_subprogram_die): Use them.
873         * tree.h (frame_base_decl): Remove.
874         * var-tracking.c (frame_base_decl, frame_stack_adjust): Remove.
875         (prologue_stack_adjust): Remove.
876         (vt_stack_adjustments): Use INCOMING_FRAME_SP_OFFSET.
877         (adjust_stack_reference): Re-base memories to arg_pointer_rtx.
878         (set_frame_base_location): Remove.
879         (compute_bb_dataflow, emit_notes_in_bb): Don't call it.
880         (dump_attrs_list, dump_dataflow_set): Use string concatenation.
881         (vt_add_function_parameters): Don't eliminate_regs.
882         (vt_initialize): Don't create frame_base_decl.
883
884 2005-09-07  Eric Botcazou  <ebotcazou@libertysurf.fr>
885
886         * doc/install.texi (*-*-solaris2*): Clarify wording on the recommended
887         version of GNU binutils for 4.x and later.
888
889 2005-09-06  Mark Mitchell  <mark@codesourcery.com>
890
891         * ggc-page.c (ggc_push_context): Remove.
892         (ggc_pop_context): Likewise.
893         * ggc.h (ggc_push_context): Remove.
894         (ggc_pop_context): Likewise.
895
896 2005-09-06  Saurabh Verma  <saurabh.verma@codito.com>
897
898         PR target/8973
899         * config/arc/arc.c (arc_output_function_epilogue): Update flags while
900         returning from an interrupt handler.
901
902 2005-09-06  Saurabh Verma  <saurabh.verma@codito.com>
903
904         PR target/8972
905         * config/arc/arc.c (output_shift): Add check for loop count when
906         optimizing.
907
908 2005-09-06  Steven Bosscher  <stevenb@suse.de>
909
910         * tree-ssa-phiopt.c (conditional_replacement): Construct proper SSA
911         form manually.
912         (abs_replacement): Likewise.
913         (pass_phiopt): Remove TODO_update_ssa.
914
915 2005-09-06  Jakub Jelinek  <jakub@redhat.com>
916
917         PR c/23075
918         * c-typeck.c (c_finish_return): Set TREE_NO_WARNING on RETURN_EXPR
919         if "return with no value, in function returning non-void" warning
920         has been issued.
921         * tree-cfg.c (execute_warn_function_return): Don't look at
922         RETURN_EXPRs with TREE_NO_WARNING set.
923
924         PR target/22362
925         * config/i386/i386.c (ix86_function_regparm): Make sure automatic regparm
926         for internal functions doesn't use registers used by global registers
927         variables.  Use fewer register parameters if there are global register
928         variables.
929
930 2005-09-06  Olivier Hainque  <hainque@adacore.com>
931             Eric Botcazou  <ebotcazou@adacore.com>
932
933         PR middle-end/14997
934         * expr.c (expand_expr_real) <normal_inner_ref>: Force op0 to mem
935         when we would be extracting outside its bit span (bitpos+bitsize
936         larger than its mode), possible with some VIEW_CONVERT_EXPRs from
937         Ada unchecked conversions.
938
939 2005-09-06  Steven Bosscher  <stevenb@suse.de>
940
941         * tree-ssa-pre.c (try_look_through_load): New function.
942         (compute_avail): Use it to try to look through loads for some
943         more useful expressions.
944
945 2005-09-06  Saurabh Verma  <saurabh.verma@codito.com>
946
947         * simplify-rtx.c (simplify_binary_operation_1): Correct the 
948         condition for detecting cases like (a&a) and (a^a).
949
950 2005-09-06  Keith Besaw  <kbesaw@us.ibm.com>
951
952         * common.opt: Add option ftree-vect-loop-version.
953         * params.def: Add --param vect-max-version-checks.
954         * doc/invoke.texi: Document ftree-vect-loop-version and
955         --param vect-max-version-checks.
956         * tree-vectorizer.h (_loop_vec_info): Add ptr_mask and
957         may_misalign_stmts and defines for accessors.
958         * tree-vectorizer.c : (new_loop_vec_info): VEC_alloc for
959         LOOP_VINFO_MAY_MISALIGN_STMTS.
960         (destroy_loop_vec_info): VEC_free for
961         LOOP_VINFO_MAY_MISALIGN_STMTS.
962         * tree-vect-analyze.c (vect_compute_data_ref_alignment):
963         Update documentation.
964         (vect_update_misalignment_for_peel): New.
965         (vect_enhance_data_refs_alignment): Update to choose loop
966         peeling or loop versioning if appropriate for the (potentially)
967         unaligned data references in the loop.
968         (vect_analyze_data_refs_alignment): Remove call to
969         vect_enhance_data_refs_alignment so the checks can be done
970         earlier.
971         (vect_analyze_loop): Add call to vect_enhance_data_refs_alignment
972         and move up call to vect_analyze_data_refs_alignment.
973         * tree-vect-transform.c (vect_create_cond_for_align_checks): New.
974         (vect_transform_loop): Add call to loop_version.
975
976 2005-09-06  Jakub Jelinek  <jakub@redhat.com>
977
978         PR rtl-optimization/23098
979         * cse.c (fold_rtx_mem): Call delegitimize_address target hook.
980         * simplify-rtx.c (constant_pool_reference_p): New function.
981         * rtl.h (constant_pool_reference_p): New prototype.
982         * config/i386/i386.md (pushf split, mov[sdx]f split): Use
983         constant_pool_reference_p in condition and
984         avoid_constant_pool_reference in preparation statements.
985
986 2005-09-06  Andreas Krebbel  <krebbel1@de.ibm.com>
987
988         * gcse.c (try_replace_reg): Disallow REG_EQUAL notes for 
989         STRICT_LOW_PART SETs.
990
991 2005-09-06  Alan Modra  <amodra@bigpond.net.au>
992
993         PR middle-end/21460
994         * except.c (sjlj_emit_function_enter): Find the function begin
995         note even when it's not in first basic block.
996
997 2005-09-06  Kelley Cook  <kcook@gcc.gnu.org>
998
999         * acinclude.m4: Renamed from aclocal.m4.  Delete AM_LANGINFO_CODESET,
1000         AM_PROG_CC_C_O, and AM_AUX_DIR_EXPAND.
1001         * aclocal.m4: Regenerate.
1002
1003 2005-09-05  DJ Delorie  <dj@redhat.com>
1004
1005         * config/m32c/m32c.h (TRAMPOLINE_ALIGNMENT): Correct misspelling
1006         of macro.
1007
1008 2005-09-06  Kazu Hirata  <kazu@codesourcery.com>
1009
1010         * gimplify.c, ipa-prop.h, varasm.c, config/vxlib.c,
1011         config/vxworks.h, config/crx/crx.c, config/ms1/ms1.c,
1012         config/ms1/ms1.md, config/rs6000/rs6000.c: Fix comment typos.
1013         Follow spelling conventions.
1014         * doc/invoke.texi: Follow spelling conventions.
1015
1016 2005-09-05  J"orn Rennecke <joern.rennecke@st.com>
1017
1018         * rtl.h (gen_frame_mem, gen_tmp_stack_mem): Declare.
1019         * emit-rtl.c (gen_frame_mem, gen_tmp_stack_mem): New functions.
1020         * builtins.c (expand_builtin_return_addr): Use gen_frame_mem.
1021
1022 2005-09-05  J"orn Rennecke <joern.rennecke@st.com>
1023
1024         PR target/23683
1025         * sh.c (sh_reorg, emit_load_ptr): Use gen_const_mem.
1026         (output_stack_adjust): Use gen_tmp_stack_mem.
1027         (sh_expand_prologue, sh_expand_epilogue): Use gen_frame_mem.
1028         (sh_set_return_address, sh_allocate_initial_value): Likewise.
1029         (sh_get_pr_initial_val): Likewise.
1030         (sh_builtin_saveregs): Use gen_frame_mem and change_address.
1031         (sh_initialize_trampoline): Likewise.  Also use adjust_address.
1032         * sh.md (divsi_inv_m0): Use gen_const_mem.
1033         (push_fpscr, pop_fpscr, load_ra): Use gen_frame_mem.
1034         (movdf_i4+1): Use gen_tmp_stack_mem.
1035         (reload_outdf+3, reload_outdf+4, fpu_switch+1): Use change_address.
1036         (fpu_switch+2): Likewise.
1037         (movv4sf_i, movv16sf_i): Use adjust_address.
1038         (symGOT_load): Set MEM_NOTRAP_P bit.
1039
1040 2005-09-04  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1041
1042         PR target/23721
1043         * pa.c (emit_move_sequence): Fix typo in last change.
1044
1045 2005-09-03  Jakub Jelinek  <jakub@redhat.com>
1046
1047         PR rtl-optimization/23454
1048         * reorg.c (relax_delay_slots): Only call invert_jump if any_condjump_p
1049         is true.
1050
1051 2005-09-03  Richard Henderson  <rth@redhat.com>
1052             John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1053
1054         PR middle-end/23671
1055         * pa.c (emit_move_sequence): Use replace_equiv_address instead of
1056         gen_rtx_MEM.
1057
1058 2005-09-02  Nicolas Pitre <nico@cam.org>
1059
1060         * config/arm/arm.c (arm_legitimize_address): Limit the value passed
1061         to bit_count to 32 bits.
1062
1063 2005-08-31  Mark Mitchell  <mark@codesourcery.com>
1064
1065         PR c++/23167
1066         * gimplify.c (gimplify_expr): Handle TREE_ADDRESSABLE types when
1067         generating synthetic loads from volatile lvalues.
1068
1069 005-09-02  Nick Clifton  <nickc@redhat.com>
1070
1071         * config/stormy16/stormy16-lib2.c (__popcounthi2, __parityhi2,
1072         __ctzhi2, __clzhi2): New functions.
1073
1074 2005-09-02  Andrew Pinski  <pinskia@physics.uc.edu>
1075
1076         PR middle-end/23547
1077         * tree-nested.c (struct var_map_elt): Mark with GTY.
1078         (struct nesting_info): Mark with GTY.  Mark var_map's param is struct
1079         var_map_elt.
1080         (lookup_field_for_decl): Allocate new element in GC memory.
1081         (lookup_tramp_for_decl): Likewise.
1082         (convert_nl_goto_reference): Likewise
1083         (create_nesting_tree): Allocate info in GC memory. Likewise for
1084         info->var_map.
1085         (free_nesting_tree): Free with ggc_free instead of free.
1086         (root): New static variable.
1087         (lower_nested_functions): Remove root as local variable.  And zero out
1088         root at the end of the function.
1089
1090 2005-09-02  J"orn Rennecke <joern.rennecke@st.com>
1091
1092         PR rtl-optimization/20365
1093         * simplify-rtx.c (simplify_plus_minus_op_data): Change type of neg
1094         to short.  New member ix.
1095         (simplify_plus_minus_op_data_cmp): Break ties using ix member.
1096         (simplify_plus_minus): Initialize ix members before calling qsort.
1097
1098 2005-09-02  Zdenek Dvorak  <dvorakz@suse.cz>
1099
1100         PR tree-optimization/23626
1101         * tree-cfg.c (replace_uses_by): Clean up eh info.
1102
1103 2005-09-01  DJ Delorie  <dj@redhat.com>
1104
1105         * config/m32c/m32c.c (m32c_valid_pointer_mode): Remove stray debug
1106         fprintf.
1107
1108 2005-09-01  David Edelsohn  <edelsohn@gnu.org>
1109
1110         * config/rs6000/rs6000.c (setup_incoming_varargs): Set MEM_NOTRAP_P.
1111         (rs6000_split_multireg_move): Use replace_equiv_address instead of
1112         gen_rtx_MEM.
1113
1114 2005-09-01  Craig Rodrigues  <rodrigc@gcc.gnu.org>
1115
1116         * c-decl.c (diagnose_mismatched_decls):  With -Wredundant-decls,
1117         do not issue warning for a variable definition following
1118         a declaration.
1119
1120 2005-09-01  Richard Henderson  <rth@redhat.com>
1121
1122         PR 23668
1123         * config/i386/i386.c (ix86_expand_vector_init_one_var): Restore
1124         conversion to CONST_VECTOR.
1125
1126 2005-09-01  Richard Henderson  <rth@redhat.com>
1127
1128         PR 23676
1129         * reload1.c (reload_as_needed): Check !CALL_P before calling
1130         fixup_eh_region_note.
1131         * rtlanal.c (may_trap_p): SUBREG by itself cannot trap.
1132
1133 2005-09-01  DJ Delorie  <dj@redhat.com>
1134
1135         * varasm.c (output_constant): Let the target resolve
1136         conversions of addresses to non-default pointer sizes.
1137
1138 2005-09-01  Nicolas Pitre <nico@cam.org>
1139
1140         * config/arm/arm.c (arm_legitimize_address): Split absolute addresses
1141         to alow matching ARM pre-indexed addressing mode.
1142         (arm_override_options): Remove now irrelevant comment.
1143
1144 2005-09-01  Phil Edwards  <phil@codesourcery.com>
1145
1146         * config.gcc (i*86-wrs-vxworks):  Update.  Split out vxworksae target.
1147         * config/i386/t-vxworks:  Update multilibs for VxWorks 6 and RTP mode.
1148         * config/i386/vxworks.h:  Likewise.
1149         * config/i386/t-vxworksae:  New file, for VxWorks AE.
1150         * config/i386/vxworksae.h:  Likewise.
1151
1152 2005-09-01  Sebastian Pop  <pop@cri.ensmp.fr>
1153
1154         PR tree-optimization/23410
1155         * tree-ssa-loop-niter.c (scev_probably_wraps_p): Check that the
1156         sequence is not wrapping during the first step.
1157
1158 2005-09-01  Jakub Jelinek  <jakub@redhat.com>
1159
1160         PR debug/7241
1161         * dwarf2out.c (base_type_die): Compare char_type_node with
1162         TYPE_MAIN_VARIANT (type), not type.
1163
1164 2005-09-01  Richard Guenther  <rguenther@suse.de>
1165
1166         PR tree-optimization/15366
1167         * common.opt: Add -finline-functions-called-once.
1168         Put -fearly-inlining in alphabetically ordered place.
1169         * doc/invoke.texi: Document new option.
1170         * ipa-inline.c (cgraph_decide_inlining): Honour
1171         flag_inline_functions_called_once.
1172
1173 2005-09-01  Jakub Jelinek  <jakub@redhat.com>
1174
1175         PR rtl-optimization/23478
1176         * local-alloc.c (struct qty): Add n_throwing_calls_crossed field.
1177         (alloc_qty): Initialize it.
1178         (update_equiv_regs): Clear REG_N_THROWING_CALLS_CROSSED.
1179         (combine_regs): Combine also n_throwing_calls_crossed fields.
1180         (find_free_reg): Don't attempt to caller-save pseudos crossing
1181         calls that might throw.
1182         * global.c (struct allocno): Add throwing_calls_crossed field.
1183         (global_alloc): Revert 2005-08-22 change.  Initialize
1184         throwing_calls_crossed.
1185         (find_reg): Don't attempt to caller-save pseudos crossing calls that
1186         might throw.
1187
1188 2005-09-01  Alan Modra  <amodra@bigpond.net.au>
1189
1190         PR target/23649
1191         * config/rs6000/predicates.md (mask_operand): Only handle rlwinm masks.
1192         (mask64_operand): Reinstate code prior to 2005-06-11 change.
1193         (mask64_2_operand): Reinstate code prior to 2004-11-11 change.
1194         (and64_2_operand): Tweak to use predicate.
1195         (and_operand): Adjust for mask_operand changes.
1196         * config/rs6000/rs6000.c (num_insns_constant): Revert 2005-06-11.
1197         (print_operand): Likewise.
1198         (rs6000_rtx_costs): Pass mode to mask_operand and use mask64_operand.
1199         (mask64_1or2_operand): Delete.
1200         * rs6000/rs6000-protos.h (mask64_1or2_operand): Delete.
1201         * config/rs6000/rs6000.h (EXTRA_CONSTRAINT <S>): Revert 2005-06-11.
1202         (EXTRA_CONSTRAINT <T>): Pass operand mode to predicate.
1203         (EXTRA_CONSTRAINT <t>): Disallow mask64_operand matches.
1204         * config/rs6000/rs6000.md (andsi3_internal3 split): Revert 2005-06-11.
1205         (rotldi3_internal4): Likewise.
1206         (rotldi3_internal5, rotldi3_internal5 split): Likewise.
1207         (rotldi3_internal6, rotldi3_internal6 split): Likewise.
1208         (ashldi3_internal7): Likewise.
1209         (ashldi3_internal8, ashldi3_internal8 split): Likewise.
1210         (ashldi3_internal, ashldi3_internal9 split): Likewise.
1211         (anddi3 split): Don't match mask64_operand.
1212         (anddi3_internal2): Add rlwinm.  Modify 't' splitter predicate.
1213         (anddi3_internal3): Add rlwinm.  Use and64_2_operand in non-cr0
1214         splitter and match TARGET_64BIT not TARGET_POWERPC64.  Modify
1215         't' splitter predicate.
1216         (movdi_internal64 + 2): Revert 2005-06-11 change.
1217
1218 2005-08-31  DJ Delorie  <dj@redhat.com>
1219
1220         * config/m32c/m32c.c (m32c_valid_pointer_mode): New.
1221         (m32c_asm_integer): Add support for 32 bit pointers.
1222
1223 2005-08-31  Richard Henderson  <rth@redhat.com>
1224
1225         * emit-rtl.c (set_mem_attributes_minus_bitpos): Look through
1226         component-like references for setting MEM_NOTRAP_P.
1227
1228         * config/i386/i386.c (ix86_setup_incoming_varargs): Set MEM_NOTRAP_P.
1229         * config/alpha/alpha.c (alpha_setup_incoming_varargs): Likewise.
1230
1231 2005-08-31  Richard Henderson  <rth@redhat.com>
1232
1233         * expr.c (expand_expr_real_1) <VIEW_CONVERT_EXPR>: Force subregs
1234         into a pseudo before applying gen_lowpart.
1235
1236 2005-08-31  Geoffrey Keating  <geoffk@apple.com>
1237
1238         * doc/install.texi (Specific): Update cctools version required
1239         for full functionality.
1240         * config/darwin.h (LINK_SPEC): Pass -mmacosx-version-min to the
1241         linkers as -macosx_version_min.
1242
1243 2005-08-31  J"orn Rennecke <joern.rennecke@st.com>
1244
1245         PR target/21255
1246         * sh.c (print_operand, %R and %S): Add handling of floating point
1247         registers, memory, constants and invalid operands.
1248
1249 2005-08-31  Daniel Berlin  <dberlin@dberlin.org>
1250
1251         * ipa-pure-const.c: Change dump name.
1252
1253 2005-08-31 Uros Bizjak <uros@kss-loka.si>
1254
1255         PR target/23570
1256         * config/i386/sse.md (*sse_concatv2sf): Change operand 2 constraint
1257         to "reg_or_0_operand".
1258         (sse2_loadld): Change operand 1 constraint to "reg_or_0_operand".
1259
1260 2005-08-31  Dale Johannesen  <dalej@apple.com>
1261
1262         * loop-iv.c (iv_number_of_iterations):  Fix overflow check for
1263         loops that count down.
1264
1265 2005-08-31  Richard Henderson  <rth@redhat.com>
1266
1267         PR rtl-opt/23601
1268         * reload1.c (reload): Set MEM_NOTRAP_P in spill slots.
1269         (fixup_eh_region_note): New.
1270         (reload_as_needed): Call it.
1271         (fixup_abnormal_edges): Allow all throwing insns to be deleted;
1272         don't call find_many_sub_basic_blocks; call verify_flow_info.
1273         * function.c (assign_stack_local_1): Set MEM_NOTRAP_P.
1274         (keep_stack_depressed): Likewise.
1275         (assign_stack_temp_for_type): Likewise; use adjust_address_nv.
1276
1277 2005-08-31  Richard Henderson  <rth@redhat.com>
1278
1279         * config/i386/i386.c (ix86_function_ok_for_sibcall): Fix test for
1280         fp return matching.
1281
1282 2005-08-31  Fariborz Jahanian <fjahanian@apple.com>
1283
1284         * expr.c (expand_expr_real_1): Compare size of address 
1285         mode to target's address mode size in deciding expansion of 
1286         the constant address.
1287
1288 2005-08-31  Richard Guenther  <rguenther@suse.de>
1289
1290         PR middle-end/23477
1291         * expr.c (all_zeros_p): New function.
1292         (expand_expr_real_1): Handle the case of an all-zero
1293         non-addressable constructor separately.
1294
1295 2005-08-31  Adrian Straetling  <straetling@de.ibm.com>
1296
1297         * builtins.c: (expand_builtin_strcpy, expand_builtin_strcat): Change
1298         arguments, adjust all callers.
1299         (expand_builtin_strcat): Rewrite to call strcpy instead of mempcpy.
1300
1301 2005-08-30  Richard Henderson  <rth@redhat.com>
1302
1303         PR target/23630
1304         * expr.c (expand_expr_real_1) <VIEW_CONVERT_EXPR>: Use gen_lowpart
1305         whenever the mode sizes match.
1306
1307 2005-08-31  Alan Modra  <amodra@bigpond.net.au>
1308
1309         * calls.c (load_register_parameters): Fix comment typo.
1310         * expr.c (emit_push_insn): Comment formatting.
1311
1312 2005-08-30  Ian Lance Taylor  <ian@airs.com>
1313
1314         * config/i386/x-cygwin (host-cygwin): Change dependency from
1315         hosthooks-def.h to $(HOSTHOOKS_DEF_H).
1316
1317 2005-08-29  Geoffrey Keating  <geoffk@apple.com>
1318
1319         * config/i386/i386.c (ix86_expand_vector_init_one_var): Don't modify
1320         parts of 'vals'.
1321
1322 2005-08-29  Andrew Pinski  <pinskia@physics.uc.edu>
1323
1324         PR middle-end/23408
1325         * ipa-inline.c (cgraph_decide_inlining_incrementally): Remove the
1326         call to ggc_collect.
1327
1328 2005-08-29  Paolo Bonzini  <bonzini@gnu.org>
1329
1330         PR bootstrap/21268
1331         * Makefile.in (ALL_CPPFLAGS): Include $(INCLUDES) at the
1332         beginning.  Remove $(INCLUDES) from all the rules, if following
1333         $(ALL_CPPFLAGS) or $(BUILD_CPPFLAGS).
1334
1335 2005-08-29  Jakub Jelinek  <jakub@redhat.com>
1336
1337         PR middle-end/23484
1338         * builtins.c (fold_builtin_memory_chk, fold_builtin_stxcpy_chk,
1339         fold_builtin_strncpy_chk, fold_builtin_snprintf_chk): If len is
1340         not constant, but maxlen is, don't set len to maxlen, rather
1341         set maxlen to len if len is a constant.
1342
1343 2005-08-29  Zdenek Dvorak  <dvorakz@suse.cz>
1344
1345         PR tree-optimization/23475
1346         * tree-ssa-loop-ivcanon.c (remove_empty_loop): Update frequencies
1347         and counts.
1348
1349 2005-08-28  Daniel Berlin  <dberlin@dberlin.org>
1350
1351         Fix PR middle-end/22455
1352
1353         * fold-const.c (fold_checksum_tree): Adjust for now-largest tree size.
1354         Checksum only the parts of the tree that exist for the tree code.
1355
1356 2005-08-28  Dale Johannesen  <dalej@apple.com>
1357
1358         * config/i386/i386.c (nocona_cost):  Increase MOVE_RATIO.
1359
1360 2005-08-28  Andrew Pinski  <pinskia@physics.uc.edu>
1361
1362         * tree-vrp.c: Remove obsolete comment in front of vrp_initialize.
1363
1364 2005-08-28  Richard Henderson  <rth@redhat.com>
1365
1366         * stor-layout.c (finalize_type_size): Revert workaround from 08-26.
1367         * tree.c (make_node_stat): Use BITS_PER_UNIT instead of alignment
1368         of char_type_node.
1369
1370 2005-08-28  Jakub Jelinek  <jakub@redhat.com>
1371
1372         PR ada/23593
1373         * builtins.c (get_memory_rtx): Don't strip nops
1374         in between COMPONENT_REFs.
1375
1376 2005-08-27  Andrew Pinski  <pinskia@physics.uc.edu>
1377
1378         PR middle-end/23463
1379         * gimplify.c (gimplify_modify_expr_rhs): Remove check for zero sized
1380         types.
1381         (gimplify_modify_expr): Check for zero sized types and gimplify the
1382         rhs and lhs as statements.
1383
1384 2005-08-27  John David Anglin  <dave.anflin@nrc-cnrc.gc.ca>
1385
1386         PR libgcj/23508
1387         * pa/linux-unwind.h (pa32_fallback_frame_state): Use r0 slot in frame
1388         state for return address column of signal frames.
1389
1390 2005-08-27  David Edelsohn  <edelsohn@gnu.org>
1391
1392         PR target/23539
1393         * config/rs6000/rs6000.c (expand_block_clear): Use HImode when
1394         bytes >= 2 not bytes == 2.
1395         (expand_block_move): Same.
1396
1397 2005-08-27  Richard Guenther  <rguenther@suse.de>
1398
1399         PR target/23575
1400         * config/i386/sse.md (sse2_movsd): Add missing closing
1401         braces.
1402
1403 2005-08-27  Paul Brook  <paul@codesourcery.com>
1404
1405         * genrecog.c (enum decision_type): Add DT_num_insns.
1406         (struct decision_test): Add u.num_insns.
1407         (add_to_sequence): Add DT_num_insns test.
1408         (maybe_both_true_2, nodes_identical_1): Handle DT_num_insns.
1409         (write_cond, debug_decision_2): Ditto.
1410         (change_state): Assume peep2_next_insn never fails.
1411         Remove "afterward" argument.
1412         (write afterward, write_tree): Update to match.
1413         * recog.c (peep2_current_count): New variable.
1414         (peep2_next_insn): Check it.
1415         (peephole2_optimize): Set peep2_current_count.
1416         * recog.h (peep2_current_count): Declare.
1417
1418 2005-08-26  Josh Conner  <jconner@apple.com>
1419
1420         PR middle-end/23584
1421         * ipa-pure-const.c (check_tree): Check for volatile-ness
1422         when considering a dereference.
1423
1424 2005-08-27  Jakub Jelinek  <jakub@redhat.com>
1425
1426         * rtl.h (MEM_IN_STRUCT_P): Fix comment typo.
1427
1428 2005-08-26  Jakub Jelinek  <jakub@redhat.com>
1429
1430         PR rtl-optimization/23561
1431         * builtins.c (get_memory_rtx): Add LEN argument.  If MEM_EXPR is
1432         a COMPONENT_REF, remove all COMPONENT_REF from MEM_EXPR unless
1433         at most LEN bytes long memory fits into the field.
1434         (expand_builtin_memcpy, expand_builtin_mempcpy, expand_movstr,
1435         expand_builtin_strncpy, expand_builtin_memset, expand_builtin_memcmp,
1436         expand_builtin_strcmp, expand_builtin_strncmp): Adjust callers.
1437
1438 2005-08-26  Richard Henderson  <rth@redhat.com>
1439
1440         PR rtl-opt/23560
1441         * loop.c (biased_biv_may_wrap_p): New.
1442         (maybe_eliminate_biv_1): Use it to suppress non-equality
1443         comparison transformations.  Delete disabled code.
1444
1445 2005-08-26  Ian Lance Taylor  <ian@airs.com>
1446
1447         * combine.c (make_extraction): Avoid reference outside object.
1448
1449 2005-08-26  J"orn Rennecke <joern.rennecke@st.com>
1450
1451         * stor-layout.c (finalize_type_size): Restore behaviour for
1452         non-aggregate types to the status quo ante of the patch for
1453         pr 23467.  Document why it matters.
1454
1455 2005-08-26  Jakub Jelinek  <jakub@redhat.com>
1456
1457         PR c/23506
1458         * c-common.c (c_common_nodes_and_builtins): Increase builtin_types
1459         array by one element, initialize the BT_LAST element with NULL.
1460
1461 2005-08-26  David Edelsohn  <edelsohn@gnu.org>
1462
1463         * config/rs6000/rs6000.md (eq<mode>_compare): Only enable when
1464         optimizing for size.
1465         (plus_eqsi): Same.
1466         (compare_plus_eqsi): Same.
1467         (plus_eqsi_compare): Same.
1468         (neg_eq0<mode>): Same.
1469         (neg_eq<mode>): Same.
1470
1471         * config/rs6000/aix52.h (PROCESSOR_DEFAULT): Change to
1472         PROCESSOR_POWER4.
1473
1474 2005-08-26  Nick Clifton  <nickc@redhat.com>
1475
1476         * config/v850/v850.c (ep_memory_operand): Return FALSE if
1477         TARGET_EP is not defined.
1478         * config/v850/c850.h (TARGET_CPU_CPP_BUILTINS): Define __EP__ if
1479         TARGET_EP is enabled.
1480         (OPTIMIZATION_OPTIONS): Do not define MASK_EP when optimizing.
1481         * config/v850/v850.md (save_all_interrupt): Only use the EP
1482         register if TARGET_EP is defined.
1483         (restore_all_interrupt): Likewise.
1484         * config/v850/lib1funcs.asm: Update functions so that the EP
1485         register is only used if __EP__ is defined.
1486
1487 2005-08-26  David Ung  <davidu@mips.com>
1488
1489         * config/mips/mips.c (mips_expand_prologue): Handle case when
1490         generating for MIPS16 and the outgoing argument area is more than
1491         SMALL_OPERAND. Use the frame pointer as temporary to generate the
1492         add instruction.
1493
1494 2005-08-26  Paul Woegerer  <paul.woegerer@nsc.com>
1495
1496         * config/crx/crx.md: Make doloop_end pattern usage controllable
1497         via mloop-nesting=<max-nesting> command line switch. Make sure
1498         the combiner cannot use doloop_end_<mode> in an illegal way.
1499         * config/crx/crx.c: Use regs up to r6 for argument passing.
1500         Refine crx_address_cost (non cst4 displacements are expensive).
1501         * config/crx/crx.opt: Add switch for mloop-nesting=.
1502
1503 2005-08-26  Adrian Straetling  <straetling@de.ibm.com>
1504
1505         * config/s390/s390.md: ("movstr", "*movstr"): Add patterns.
1506         (UNSPEC_MVST): New constant.
1507
1508 2005-08-26  Andreas Krebbel  <krebbel1@de.ibm.com>
1509
1510         * config/s390/predicates.md ("shift_count_operand", "setmem_operand"):
1511         Reject operands containing eliminable registers.
1512         * testsuite/gcc.dg/20050825-1.c: New testcase.
1513
1514 2005-08-24  Paolo Bonzini  <bonzini@gnu.org>
1515             Jan Hubicka  <jh@suse.cz>
1516
1517         * regmove.c (reg_is_remote_constant_p): Reorganize to not use log links.
1518
1519 2005-08-24  Paolo Bonzini  <bonzini@gnu.org>
1520
1521         PR tree-optimization/23546
1522         * tree-ssa-loop-im.c (for_each_index): Handle INTEGER_CST
1523         and REAL_CST nodes.
1524
1525 2005-08-24  Pete Steinmetz  <steinmtz@us.ibm.com>
1526
1527         * params.def (PARAM_MIN_SPEC_PROB): New.
1528         * sched-rgn.c (MIN_PROBABILITY): Delete.
1529         (compute_trg_info): Convert to PARAM_VALUE.
1530         * doc/invoke.texi (param): Document min-spec-prob.
1531
1532 2005-08-24  Fariborz Jahanian <fjahanian@apple.com>
1533
1534         * config/darwin.h: define __PIC__
1535         * config/rs6000/darwin.h: Add SUBTARGET_OS_CPP_BUILTINS to
1536         TARGET_OS_CPP_BUILTINS macro.
1537
1538 2005-08-24  Paolo Bonzini  <bonzini@gnu.org>
1539
1540         * config/rs6000/rs6000.md: Fix thinko in the peephole2 I added
1541         yesterday.
1542
1543 2005-08-24  Zdenek Dvorak  <dvorakz@suse.cz>
1544
1545         * bb-reorder.c (copy_bb, duplicate_computed_gotos): Add argument
1546         to duplicate_block.
1547         * cfghooks.c (duplicate_block): Added position where to place
1548         new block as argument.
1549         * cfghooks.h (duplicate_block): Declaration changed.
1550         * cfglayout.c (copy_bbs): Add argument after.  Pass it to
1551         duplicate_block.
1552         * cfglayout.h (copy_bbs): Declaration changed.
1553         * cfgloop.h (loop_version): Declaration changed.
1554         * cfgloopmanip.c (duplicate_loop_to_header_edge): Pass
1555         position to copy_bbs.
1556         (loop_version): Pass position to duplicate_loop_to_header_edge.
1557         Add place_after argument and position new blocks according to
1558         it.
1559         * modulo-sched.c (sms_schedule): Pass place_after argument
1560         to loop_version.
1561         * tracer.c (tail_duplicate): Pass argument to duplicate_block.
1562         * tree-cfg.c (split_edge_bb_loc): New function.
1563         (tree_split_edge, tree_duplicate_sese_region): Use split_edge_bb_loc
1564         to determine position of new blocks.
1565         * tree-ssa-loop-unswitch.c (tree_unswitch_loop): Pass argument
1566         to loop_version.
1567         * tree-ssa-threadupdate.c (create_block_for_threading): Pass
1568         argument to duplicate_block.
1569         * tree-vectorizer.c (slpeel_tree_duplicate_loop_to_edge_cfg):
1570         Pass position to copy_bbs.
1571
1572 2005-08-24  Zdenek Dvorak  <dvorakz@suse.cz>
1573
1574         * fold-const.c (ptr_difference_const): Use
1575         cst_and_fits_in_hwi instead of host_integerp.
1576
1577 2005-08-24  Paolo Bonzini  <bonzini@gnu.org>
1578
1579         * config/darwin.c (gen_pic_offset): New.
1580         (machopic_indirect_data_reference,  machopic_legitimize_pic_address):
1581         Use it.
1582
1583 2005-08-23  Zdenek Dvorak  <dvorakz@suse.cz>
1584
1585         PR tree-optimization/23486
1586         * tree-ssa-loop.c (pass_scev_cprop): Add TODO_update_ssa_only_virtuals.
1587
1588 2005-08-23  Phil Edwards  <phil@codesourcery.com>
1589
1590         * config.gcc (*-*-vxworks*):  Update tm_file, add extra_options,
1591         remove use_collect2.
1592         (powerpc-wrs-vxworks):  Update, split out *-*-vxworksae target.
1593
1594         * target-def.h (TARGET_HAVE_CTORS_DTORS):  Allow target
1595         configuration files to override the default value.
1596
1597         * config/t-vxworks:  Remove INSTALL_ASSERT_H.  Define STMP_FIXPROTO,
1598         EXTRA_HEADERS, and EXTRA_MULTILIB_PARTS.
1599         * config/vx-common.h:  New file, split out from...
1600         * config/vxworks.h:  here.  Update for VxWorks 6.x and RTP mode.
1601         * config/vxworksae.h:  New file, for VxWorks AE.
1602         * config/vxworks.opt:  New file.
1603         * config/vxlib.c:  Update for VxWorks 6.
1604
1605         * config/rs6000/t-vxworks (MULTILIB_OPTIONS):  New list.  Adjust
1606         other MULTILIB_* variables appropriately.
1607         (LIB2FUNCS_EXTRA, EXTRA_MULTILIB_PARTS):  Correct from t-ppccomm.
1608         * config/rs6000/t-vxworksae:  New file, adjust multilibs for AE.
1609         * config/rs6000/vxworks.h:  Update for VxWorks 6.
1610         * config/rs6000/vxworksae.h:  New file, mostly placeholder for now.
1611
1612 2005-08-23  Andrew Pinski  <pinskia@physics.uc.edu>
1613
1614         PR target/20799
1615         * config/darwin.c (machopic_select_section): Remove the hack to
1616         mark "::operator new" and "::operator delete" for coalescing
1617         even though they are not weak.
1618
1619 2005-08-24  Alan Modra  <amodra@bigpond.net.au>
1620
1621         * configure.ac (HAVE_LD_NO_DOT_SYMS): Set for powerpc-linux biarch.
1622         * configure: Regenerate.
1623
1624 2005-08-23  Paolo Bonzini  <bonzini@gnu.org>
1625
1626         PR middle-end/23517
1627         * fold-const.c (fold_convert): Use VIEW_CONVERT_EXPR to convert
1628         between vectors.
1629         * convert.c (convert_to_integer, convert_to_vector): Likewise.
1630         * tree-vect-generic.c (tree_vec_extract, expand_vector_operations_1):
1631         Likewise.
1632
1633 2005-08-23  Paolo Bonzini  <bonzini@gnu.org>
1634
1635         * config/rs6000/predicates.md (equality_operator): New.
1636         * config/rs6000/rs6000.md: Rewrite as a peephole2 the split for
1637         comparison with a large constant.
1638
1639 2005-08-23  Mark Mitchell  <mark@codesourcery.com>
1640
1641         * hwint.h (HOST_WIDE_INT_PRINT): Use HOST_LONG_LONG_FORMAT.
1642
1643 2005-08-23  J"orn Rennecke <joern.rennecke@st.com>
1644
1645         * sh.c (sh_builtin_saveregs): If the number of to-be-saved fp
1646         registers is even, and we have a hardware double precision fp,
1647         align the buffer.
1648         (sh_gimplify_va_arg_expr): For floating point arguments, consider
1649         size of current argument when checking if argument was passed in
1650         registers.
1651
1652         * sh.c (sh_attr_renesas_p): Handle error_mark_node.
1653
1654         PR middle-end/23467
1655         * stor-layout.c (finalize_type_size): Dont override
1656         existing alignment with a smaller alignment from the mode.
1657
1658 2005-08-23  Sebastian Pop  <pop@cri.ensmp.fr>
1659
1660         * lambda-code.c (lambda_vector_lexico_pos): Moved...
1661         * lambda.h (lambda_vector_lexico_pos): ... here.
1662         * tree-data-ref.c (build_classic_dist_vector): Return false when
1663         the distance vector is lexicographically negative.
1664
1665 2005-08-23  Sebastian Pop  <pop@cri.ensmp.fr>
1666
1667         PR tree-optimization/23511
1668         * tree-ssa-loop-niter.c (infer_loop_bounds_from_undefined): Don't 
1669         handle cases where TYPE_MIN_VALUE or TYPE_MAX_VALUE are NULL_TREE.
1670
1671 2005-08-23  Jakub Jelinek  <jakub@redhat.com>
1672
1673         PR tree-optimization/22043
1674         * tree.h (count_type_elements): Add ALLOW_FLEXARR argument.
1675         * expr.c (count_type_elements): Add ALLOW_FLEXARR argument.
1676         If ALLOW_FLEXARR, handle types ending with flexible array member.
1677         Pass false as second argument to recursive count_type_elements calls.
1678         (categorize_ctor_elements_1, mostly_zeros_p): Pass false as second
1679         argument to count_type_elements call.
1680         * tree-sra.c (decide_block_copy): Likewise.
1681         * gimplify.c (gimplify_init_constructor): If num_type_elements < 0
1682         for a constant-sized object, set cleared as well.  Pass true as
1683         second argument to count_type_elements call.
1684
1685 2005-08-23  Alan Modra  <amodra@bigpond.net.au>
1686
1687         PR target/21571
1688         * config/rs6000/rs6000.c (rs6000_legitimate_small_data_p): Rename
1689         from legitimate_small_data_p, and make global.  Update use.
1690         Remove forward declaration.
1691         * config/rs6000/rs6000-protos.h (rs6000_legitimate_small_data_p):
1692         Declare.
1693         * config/rs6000/rs6000.md (movdf_hardfloat32): Allow small data mems.
1694
1695 2005-08-23  David Edelsohn  <edelsohn@gnu.org>
1696
1697         * config/rs6000/rs6000.md (eq<mode>): Use output operand instead
1698         of scratch intermediates.
1699         (eq<mode>_compare): Same.
1700         (neg_eq0<mode>): New.
1701         (neg_eq<mode>): Convert to define_insn_and_split.
1702
1703 2005-08-23  Alan Modra  <amodra@bigpond.net.au>
1704
1705         PR target/23070
1706         * config/rs6000/rs6000.c (function_arg): For ABI_V4 calls to
1707         stdarg functions, set/clear the fp marker even when no variable
1708         args are passed.
1709         * config/rs6000/sysv4.opt (mprototype): Describe.
1710
1711 2005-08-22  Jakub Jelinek  <jakub@redhat.com>
1712
1713         PR rtl-optimization/23478
1714         * regs.h (reg_info): Add throw_calls_crossed.
1715         (REG_N_THROWING_CALLS_CROSSED): Define.
1716         * flow.c (allocate_reg_life_data): Initialize
1717         REG_N_THROWING_CALLS_CROSSED.
1718         (propagate_one_insn, attempt_auto_inc): Update
1719         REG_N_THROWING_CALLS_CROSSED.
1720         * global.c (global_alloc): Don't allocate pseudos across
1721         calls that may throw.
1722
1723 2005-08-22  Andrew Pinski  <pinskia@physics.uc.edu>
1724
1725         PR c/18715
1726         * c-common.c (c_do_switch_warnings): Look for a node where the enum's
1727         value is inbetween the range if we did not find an exact match.
1728
1729 2005-08-22  Aldy Hernandez  <aldyh@redhat.com>
1730
1731         * doc/invoke.texi (Option Summary): Add ms1 options.
1732         * doc/extend.texi: Document interrupt handler attribute for ms1.
1733         * doc/md.texi: Document ms1 constraints.
1734         * config.gcc: Add ms1-*-elf.
1735         * config/ms1/ms1.h: New.
1736         * config/ms1/ms1.c: New.
1737         * config/ms1/ms1.md: New.
1738         * config/ms1/ms1-protos.h: New.
1739         * config/ms1/ABI.txt: New.
1740         * config/ms1/crti.asm: New.
1741         * config/ms1/crtn.asm: New.
1742         * config/ms1/lib2extra-funcs.c: New.
1743         * config/ms1/t-ms1: New.
1744         * config/ms1/ms1.opt: New.
1745
1746 2005-08-22 Ira Rosen <irar@il.ibm.com>
1747
1748         * config/rs6000/altivec.md (xorv4sf3): New.
1749         (negv4sf2, neg<mode>2): Likewise.
1750
1751 2005-08-21  H.J. Lu  <hongjiu.lu@intel.com>
1752
1753         PR target/23485
1754         * config/ia64/ia64.md (divsi3): Check divide by zero.
1755         (udivsi3): Likewise.
1756         (divdi3): Likewise.
1757         (udivdi3): Likewise.
1758
1759 2005-08-21  Jakub Jelinek  <jakub@redhat.com>
1760
1761         * simplify-rtx.c (simplify_immed_subreg) <case CONST_DOUBLE>: Only clear
1762         up to elem_bitsize bits, not max_bitsize.
1763
1764 2005-08-21  Sebastian Pop  <pop@cri.ensmp.fr>
1765
1766         PR tree-optimization/23433
1767         * tree-chrec.c (chrec_apply): Translate INTEGER_CST to a
1768         REAL_CST when the type is SCALAR_FLOAT_TYPE_P.
1769
1770 2005-08-21  Sebastian Pop  <pop@cri.ensmp.fr>
1771
1772         PR tree-optimization/23434
1773         * tree-ssa-loop-niter.c (proved_non_wrapping_p): Give up when
1774         the iteration bound is not an INTEGER_CST.
1775
1776 2005-08-21  Dorit Nuzman  <dorit@il.ibm.com>
1777
1778         * tree-vect-transform.c (get_initial_def_for_reduction): Set
1779         need_epilog_adjust back to false for MIN/MAX case. Set *scalar_def to
1780         NULL if need_epilog_adjust is false.
1781         (vect_create_epilog_for_reduction): Variable adjust_in_epilog removed.
1782         Case 3 always peels first itration, not just for PLUS case, and no need
1783         to use scalar_initial_def here. Create an epilog adjustment only if
1784         scalar_initial_def is not NULL.
1785
1786         (vectorizable_reduction): Remove assert. 
1787
1788 2005-08-20  H.J. Lu  <hongjiu.lu@intel.com>
1789
1790         PR target/23485
1791         * config/ia64/lib1funcs.asm (__divdi3): Check divide by zero.
1792         (__moddi3): Likewise.
1793         (__udivdi3): Likewise.
1794         (__umoddi3): Likewise.
1795         (__divsi3): Likewise.
1796         (__modsi3): Likewise.
1797         (__udivsi3): Likewise.
1798         (__umodsi3): Likewise.
1799
1800 2005-08-20  Jakub Jelinek  <jakub@redhat.com>
1801
1802         * tree-pass.h (TDF_GRAPH): Define.
1803         * tree-dump.c (dump_options): Don't set TDF_GRAPH in "all".
1804         * passes.c (finish_optimization_passes): Only call
1805         finish_graph_dump_file if TDF_GRAPH is set.
1806         (execute_one_pass): Only call clean_graph_dump_file if dump_file !=
1807         NULL.  Set TDF_GRAPH bit.
1808         (execute_todo): Call print_rtl_graph_with_bb if TDF_GRAPH is set.
1809
1810 2005-08-20  Richard Earnshaw  <richard.earnshaw@arm.com>
1811
1812         * arm.h (arm_stack_offsets): Add locals_base field.
1813         * arm.c (arm_get_frame_offsets): Compute it.
1814         (thumb_compute_initial_elimination offset): Make the Thumb frame
1815         pointer point to the base of the local variables.
1816         (thumb_expand_prologue): Update accordingly.
1817         (thumb_expand_epilogue): Likewise.
1818
1819         * arm.md (thumb_movhi_clobber): Make this insn a define_expand.  Change
1820         mode of clobbered scratch to DImode.  Handle a case that's known to
1821         need this.
1822
1823 2005-08-19  David Edelsohn  <edelsohn@gnu.org>
1824
1825         * config/rs6000/rs6000.md (gt0<mode>): Delete.
1826         (gt0<mode>_compare): Delete.
1827         (neg_gt0<mode>): Delete.
1828
1829 2005-08-19  Eric Christopher  <echristo@apple.com>
1830
1831         * optabs.h: Change CTI_ to COI_.
1832         * optabs.c: Ditto.
1833
1834 2005-08-19  James E Wilson  <wilson@specifix.com>
1835
1836         * builtins.c (expand_builtin_return_addr): Set
1837         current_function_accesses_prior_frames when count != 0.  Use
1838         frame_pointer_rtx when count == 0.
1839         * function.h (struct function): Add accesses_prior_frames field.
1840         (current_function_accesses_prior_frames): Define.
1841         * reload1.c (init_elim_table): Check
1842         current_function_accesses_prior_frames.
1843         * doc/tm.texi (INITIAL_FRAME_ADDRESS_RTX): Update docs.
1844
1845 2005-08-19  Diego Novillo  <dnovillo@redhat.com>
1846
1847         * tree-cfgcleanup.c (cleanup_tree_cfg): Fix flowgraph change
1848         indicator.  Return true if the flowgraph changed during
1849         cleanup.
1850
1851 2005-08-19  Diego Novillo  <dnovillo@redhat.com>
1852
1853         PR 23476
1854         * tree-cfgcleanup.c (cleanup_control_expr_graph): Fold the
1855         conditional expression before testing its value.
1856
1857 2005-08-19  Diego Novillo  <dnovillo@redhat.com>
1858
1859         * doc/invoke.texi: Fix documentation for -ftree-dominator-opts.
1860
1861 2005-08-19  Devang Patel  <dpatel@apple.com>
1862
1863         PR tree-optimization/23048
1864         * tree-if-conv.c (if_convertible_bb_p): Supply basic_block as
1865         third parameter. Check whether latch is dominated by exit
1866         block or not.
1867         (if_convertible_loop_p): Supply exit block itself to
1868         if_convertible_bb_p.
1869
1870 2005-08-19  Richard Earnshaw  <richard.earnshaw@arm.com>
1871
1872         PR target/23473
1873         * arm.md (arm_load_pic_register): Change argument to the mask of
1874         saved registers.  Call thumb_find_work_register if we need a
1875         scratch register on Thumb.
1876         (arm_expand_prologue): Pass empty register set to
1877         arm_load_pic_register.
1878         (thumb_expand_prologue): Pass live_regs_mask directly to
1879         arm_load_pic_register.
1880         * arm-protos.h (arm_load_pic_register): Update prototype.
1881
1882 2005-08-19  J"orn Rennecke <joern.rennecke@st.com>
1883
1884         * sh.c (find_sole_member): New function.
1885         (sh_gimplify_va_arg_expr): Use it. Allow RECORD_TYPE mode mismatch
1886         if the record's alignment is larger than the size of its only member.
1887
1888 2005-08-19  Richard Earnshaw  <richard.earnshaw@arm.com>
1889
1890         PR target/23436
1891         * arm.c (thumb_legitimize_reload_address): New function.
1892         * arm-protos.h (thumb_legitimize_reload_address): Add prototype.
1893         * arm.h (THUMB_LEGITIMIZE_RELOAD_ADDRESS): Call it.
1894
1895 2005-08-19  Paul Woegerer  <paul.woegerer@nsc.com>
1896
1897         * config/crx/crx.c: Implement crx_decompose_address. Reject
1898         symbolic displacements since CRX register relative adressing
1899         mode can't handle unsigned 32-bit values as displacements.
1900         * config/crx/crx.h: Simplify definitions, remove redundant
1901         parenthesis and obsolete macros.
1902         * config/crx/crx.opt: Add new switch for debugging addresses.
1903         * config/crx/crx-protos.h: Add new declarations for above.
1904
1905 2005-08-19  Andrew Pinski  <pinskia@physics.uc.edu>
1906
1907         PR middle-end/20624
1908         * gimple-low.c (block_may_fallthru): Handle CLEANUP_POINT_EXPR by
1909         looking past it.
1910
1911 2005-08-18  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1912
1913         * collect2.c (dup2): Delete.
1914         * configure.ac: Don't check for dup2.
1915
1916         * config.in, configure: Regenerate.
1917
1918 2005-08-18  J"orn Rennecke <joern.rennecke@st.com>
1919
1920         * sh.c (sh_gimplify_va_arg_expr): Loop to substitute a RECORD_TYPE
1921         record with the type of its only member.
1922
1923 2005-08-18  David Edelsohn  <edelsohn@gnu.org>
1924
1925         * config/rs6000/rs6000.md (ltu<mode>_compare): Convert to
1926         define_insn_and_split.
1927         (plus_ltu<mode>_compare): Same.
1928         (gtu<mode>_compare): Same.
1929         (plus_gtu<mode>_compare): Same.
1930
1931 2005-08-18  Dorit Nuzman  <dorit@il.ibm.com>
1932
1933         PR tree-optimization/22228
1934         * tree-ssa-loop (pass_vectorize): Add TODO_verify_loops to
1935         todo_flags_start.
1936         * tree-vect-transform.c (vect_transform_loop): Mark the variables that
1937         are recorded in vect_vnames_to_rename for renaming.
1938         * tree-vectorizer.c (vect_vnames_to_rename): New global bitmap.
1939         (slpeel_update_phi_nodes_for_guard1): Record virtual vars for renaming
1940         in vect_vnames_to_rename.
1941         (vectorize_loops): Allocate and free the vect_vnames_to_rename bitmap.
1942         * tree-vectorizer.h (vect_vnames_to_rename): New extern variable.
1943
1944 2005-08-18  Jan Hubicka  <jh@suse.cz>
1945
1946         PR c++/22034
1947         * cgraphunit.c (cgraph_varpool_assemble_pending_decls): Emit debug
1948         info only for local statics, not for member variables.
1949
1950 2005-08-18  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
1951
1952         * tree-data-ref.c (analyze_siv_subscript_cst_affine): Fix comment typo.
1953
1954 2005-08-18  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
1955
1956         * c-typeck.c (designator_errorneous): Rename to designator_erroneous.
1957
1958 2005-08-18  Andrew Pinski  <pinskia@physics.uc.edu>
1959
1960         PR middle-end/16045
1961         * builtins.c (fold_builtin): Create a new NOP_EXPR all the time.
1962
1963 2005-08-17  James E Wilson  <wilson@specifix.com>
1964
1965         * c-decl.c (grokdeclarator): Use TYPE_SIZE_UNIT not TYPE_SIZE in
1966         array size check.
1967
1968 2005-08-17  David Edelsohn  <edelsohn@gnu.org>
1969
1970         * config/rs6000/rs6000.md (leu<mode>): Convert to mode macro.
1971         (leu<mode>_compare): Same.
1972         (plus_leu<mode>): Same.
1973         (neg_leu<mode>): Same.
1974         (and_neg_leu<mode): Same.
1975         (ltu<mode>_compare): Same.
1976         (plus_ltu<mode>): Same.
1977         (geu<mode>): Same.
1978         (geu<mode>_compare): Same.
1979         (plus_geu<mode>): Same.
1980         (neg_geu<mode>): Same.
1981         (and_neg_geu<mode>): Same.
1982         (plus_gt<mode>): Same.
1983         (gtu<mode>_compare): Same.
1984         (plus_gtu<mode>): Same.
1985
1986 2005-08-17  Erik Christiansen  <erik@dd.nec.com.au>
1987
1988         * config/v850/lib1funcs.asm (callt_save_interrupt): Fix comment typos.
1989         Move call_table_data to end.  Delete spurious .text.
1990         (callt_save_all_interrupt): Fix comment typo.
1991
1992 2005-08-17  James E Wilson  <wilson@specifix.com>
1993             Kevin Winchester  <winchester@amirix.com>
1994
1995         PR target/21684
1996         * config/mcore/mcore.h (SHIFT_COUNT_TRUNCATED): Define to 0.
1997
1998 2005-08-17  Uros Bizjak  <uros@kss-loka.si>
1999
2000         PR target/23268
2001         * config/i386/i386.md ("*fist<mode>2_1"): New pattern.
2002         ("lrint<mode>2"): Change expander to use "*fist<mode>2_1" pattern.
2003
2004 2005-08-17  J"orn Rennecke <joern.rennecke@st.com>
2005
2006         * sh.c (sh_gimplify_va_arg_expr): Don't substitute a RECORD_TYPE
2007         record with the type of its only member if the modes don't match.
2008
2009         * varasm.c (decode_reg_name): Skip empty additional register names.
2010
2011 2005-08-16  Zdenek Dvorak  <dvorakz@suse.cz>
2012
2013         * tree-ssa-loop-im.c (MAX_LSM_NAME_LENGTH, lsm_tmp_name,
2014         lsm_tmp_name_length): New.
2015         (lsm_tmp_name_add, gen_lsm_tmp_name, get_lsm_tmp_name): New functions.
2016         (schedule_sm): Use get_lsm_tmp_name instead of "lsm_tmp".
2017
2018 2005-08-16  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
2019             Andreas Krebbel  <krebbel1@de.ibm.com>
2020
2021         * config.gcc: Added z9-109 switch.
2022         * config/s390/2084.md ("x_int", "x_agen", "x_lr", "x_la", "x_larl",
2023         "x_load", "x_store", "x_branch", "x_call", "x_mul_hi", "x_mul_sidi",
2024         "x_div", "x_sem", "x_cs", "x_vs", "x_stm", "x_lm", "x_other",
2025         "x_fsimpdf", "x_fsimpsf", "x_fdivdf", "x_fdivsf", "x_floaddf",
2026         "x_floadsf", "x_fstore_df", "x_fstoresf", "x_ftoi", "x_itof"): Enable
2027         for "z9_109" cpu attribute.
2028         * config/s390/s390.c (z9_109_cost): New processor cost structure.
2029         (CONST_OK_FOR_Os, CONST_OK_FOR_Op, CONST_OK_FOR_On): New macros.
2030         (s390_handle_arch_option): Added z9-109 switch.
2031         (override_options): Set respective cost function for z9-109.
2032         (s390_const_ok_for_constraint_p): New constraints Os, Op, On.
2033         (legitimate_reload_constant_p): Accept extended immediates.
2034         (print_operand): Three new output modifiers added: k, m and o.
2035         (s390_adjust_priority, s390_issue_rate): Handle Z9_109 like Z990.
2036         (s390_output_mi_thunk): Use extended immediate when possible.
2037         * config/s390/s390.h (processor_flags): Added PF_EXTIMM.
2038         (TARGET_CPU_EXTIMM, TARGET_EXTIMM): New macros.
2039         (CONSTRAINT_LEN): Added length of O constraint.
2040         (CLZ_DEFINED_VALUE_AT_ZERO): Definition added.
2041         * config/s390/s390.md ("cpu"): New value z9_109 added.
2042         ("*tstdi_extimm", "*tstdi_ccconly_extimm", "*tstsi_extimm",
2043         "*tstsi_cconly_extimm", "*movdi_64extimm", "*extendhidi2_extimm",
2044         "*extendqidi2_extimm", "*extendhisi2_extimm", "*extendqisi2_extimm",
2045         "*zero_extend<mode>si2_extimm", "*anddi3_extimm", "*iordi3_extimm",
2046         "*xordi3_extimm", "clzdi2", "clztidi2"): New patterns.
2047         ("*tstdi", "*tstsi", "*movdi_64", "*extendhisi2", "*extendqisi2",
2048         "*zero_extend<mode>si2_64", "zero_extendqihi2", "*zero_extendqihi2_64",
2049         "*anddi3", "*iordi3", "*xordi3"): Disable for TARGET_EXTIMM.
2050         ("*cmpdi_cct", "*cmpsi_cct", "*cmpdi_ccs", "*cmpsi_ccs", "*cmpdi_ccu",
2051         "*cmpsi_ccu", "*movsi_zarch", "*adddi3_imm_cc", "*adddi3_carry1_cc",
2052         "*adddi3_carry2_cc", "*adddi3_cc", "*adddi3_64", "*addsi3_imm_cc",
2053         "*addsi3_carry1_cc", "*addsi3_carry2_cc", "*addsi3_cc", "addsi3",
2054         "*andsi3_cc", "*andsi3_cconly", "*andsi3_zarch", "*iorsi3_cc",
2055         "*iorsi3_cconly", "*iorsi3_zarch", "*xorsi3_cc", "*xorsi3_cconly",
2056         "*xorsi3", "*xorhi3", "*xorqi3"): Added instruction using extended
2057         immediates.
2058         ("extend<mode>di2", "extend<mode>si2", "zero_extend<mode>di2",
2059         "zero_extend<mode>si2"): Allow memory operands and don't manually emit
2060         insns for TARGET_EXTIMM.
2061
2062 2005-08-17  Andreas Krebbel  <krebbel1@de.ibm.com>
2063
2064         * testsuite/gcc.dg/20020926-1.c: Added "-mesa" to dg-options.
2065
2066 2005-08-17  Nick Clifton  <nickc@redhat.com>
2067
2068         * config/stormy16/stormy16.c (xstormy16_encode_section_info):
2069         Call default_encode_section_info.
2070
2071 2005-08-17  Steven Bosscher  <stevenb@suse.de>
2072
2073         PR tree-optimization/21574
2074         * tree-ssa-ccp.c (likely_value): If the right hand side is a
2075         constant, return CONSTANT.
2076         (ccp_lattice_meet): Use operand_equal_p instead of simple_cst_equal.
2077         (ccp_fold, visit_assignment): Likewise.
2078         (evaluate_stmt): Handle UNDEFINED and UNKNOWN_VAL the same way.
2079
2080 2005-08-16  James A. Morrison  <phython@gcc.gnu.org>
2081
2082         * c-typeck.c (build_function_call): Call fold_buildN_initializer or
2083         fold_buildN instead of buildN then fold_initializer or fold.
2084         (build_unary_op): Likewise.
2085         (build_binary_op): Likewise.
2086         * fold-const.c (fold_initializer): Remove.
2087         (fold_build1_initializer): New function.
2088         (fold_build2_initializer): New function.
2089         (fold_build3_initializer): New function.
2090         * tree.h (fold_initializer): Remove.
2091         (fold_build1_initializer): New function.
2092         (fold_build2_initializer): New function.
2093         (fold_build3_initializer): New function.
2094
2095 2005-08-16  James A. Morrison  <phython@gcc.gnu.org>
2096
2097         * fold-const.c (optimize_bit_field_compare): Remove extra fold call.
2098         (try_move_mult_to_index): Call fold_build2 instead of build2.
2099         (fold_binary): Don't call fold after calls to try_move_mult_to_index.
2100         * tree-ssa-loop-niter.c (inverse): Call int_const_binop instead of
2101         fold_binary_to_constant.
2102         (infer_loop_bounds_from_undefined): Call fold_build2 instead of
2103         fold (build.
2104         * tree-data-ref.c (tree_fold_divides_p): Use tree_int_cst_equal to
2105         check if A == gcd (A, B).  Remove TYPE argument.
2106         (analyze_offset) Use fold_build2 instead of fold (build.
2107         (create_data_ref): Likewise.
2108         (analyze_siv_subscript_cst_affine): Update calls to tree_fold_divides_p.
2109         * tree-ssa-ccp.c (widen_bitfield): Call fold_build2 instead of build2
2110         then fold.
2111
2112 2005-08-17  Kelley Cook  <kcook@gcc.gnu.org>
2113
2114         * config/arm/unaligned-funcs.c,config/i386/crtfastmath.c,
2115         ipa-cp.c,ipa-prop.c,ipa-prop.h: Update FSF address.
2116
2117 2005-08-16  Andrew Pinski  <pinskia@physics.uc.edu>
2118
2119         PR tree-opt/23402
2120         * gimplify.c (zero_sized_type): New function.
2121         (gimplify_modify_expr_rhs): If we have a zero sized type,
2122         replace the statement with an empty statement.
2123
2124 2005-08-16  H.J. Lu  <hongjiu.lu@intel.com>
2125
2126         * config/i386/crtfastmath.c (set_fast_math): Add "=m" for
2127         fxsave.
2128
2129 2005-08-16  Ian Lance Taylor  <ian@airs.com>
2130
2131         * doc/tm.texi (Label Output): Correct typo.
2132
2133 2005-08-16  Steven Bosscher  <stevenb@suse.de>
2134
2135         PR target/23376
2136         * loop-unroll.c (analyze_insn_to_expand_var): Make sure that
2137         force_operand will work later on using have_insn_for.
2138
2139 2005-08-16  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
2140
2141         * fold-const.c (tree_expr_nonnegative_p): Regroup cases.
2142
2143 2005-08-16  Ian Lance Taylor  <ian@airs.com>
2144
2145         PR c++/23337
2146         * gimplify.c (gimplify_init_ctor_eval): If we see an element of
2147         vector type, don't try to construct it element by element.  Add an
2148         assertion that we use a FIELD_DECL when building a COMPONENT_REF.
2149
2150 2005-08-16  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
2151
2152         * fold-const.c (fold_ternary): Simplify folding of a CALL_EXPR.
2153
2154 2005-08-16  Geoffrey Keating  <geoffk@apple.com>
2155
2156         * doc/invoke.texi (Precompiled Headers): Document some more options
2157         which are known to be safe.
2158
2159 2005-08-16  James E Wilson  <wilson@specifix.com>
2160
2161         PR tree-optimization/21105
2162         * c-decl.c (grokdeclarator): Use TYPE_SIZE_UNIT not TYPE_SIZE in
2163         TREE_OVERFLOW check.
2164
2165 2005-08-16  David Edelsohn  <edelsohn@gnu.org>
2166
2167         * config/rs6000/rs6000.md (ltu<mode>): Convert to mode macro.
2168         (neg_ltu<mode>): Same.
2169         (gtu<mode>): Same.
2170         (neg_gtu<mode>): Same.
2171
2172 2005-08-16  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
2173
2174         * builtins.c (expand_builtin_strcat): Remove superfluous call to fold.
2175         (fold_builtin_isdigit): Use fold_buildN.
2176         (build_function_call_expr): Likewise.
2177         * c-typeck.c (c_finish_loop): Likewise.
2178
2179 2005-08-16  J"orn Rennecke <joern.rennecke@st.com>
2180             Richard Shann <rshann@superh.com>
2181
2182         PR middle-end/20396:
2183         * optabs.c (expand_binop): Take TRULY_NOOP_TRUNCATION into account.
2184
2185 2005-08-16  Sebastian Pop  <pop@cri.ensmp.fr>
2186
2187         * tree-ssa-loop-niter.c (scev_probably_wraps_p): Reword a comment.
2188
2189 2005-08-15  Richard Earnshaw  <richard.earnshaw@arm.com>
2190
2191         PR target/23355
2192         * arm.c (thumb_compute_save_reg_mask): Use similar logic to
2193         arm_compure_save_reg0_reg12_mask to determine when the PIC register
2194         must be saved.
2195
2196 2005-08-15  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2197
2198         PR middle-end/23369
2199         * fold-const.c (build_range_check): Disable optimization for function
2200         pointer expressions on targets that require function pointer
2201         canonicalization.
2202
2203 2005-08-15  Ulrich Weigand  <uweigand@de.ibm.com>
2204
2205         * simplify-rtx.c (simplify_const_relational_operation): When
2206         extracting arguments of a COMPARE, recompute the mode as well.
2207
2208 2005-08-15  Ian Lance Taylor  <ian@airs.com>
2209
2210         * tree.c (build_string): Mark tree CONSTANT and INVARIANT.
2211
2212 2005-08-15  DJ Delorie  <dj@redhat.com>
2213
2214         * config/m32c/mov.md (movqi_op): Immediates can't be moved to
2215         the stack.
2216         (movsi_splittable): Allow, but split, moves to the stack.
2217         * config/m32c/m32c.c (m32c_split_move): Always split moves to the
2218         stack.
2219
2220 2005-08-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2221
2222         * aclocal.m4 (gcc_AC_FUNC_PRINTF_PTR): Delete.
2223         * configure.ac: Don't call gcc_AC_FUNC_PRINTF_PTR.
2224         * system.h (HOST_PTR_PRINTF): Don't define, poison it.
2225
2226         * bitmap.c, c-decl.c, config/i386/i386-interix.h,
2227         config/iq2000/iq2000.c, mips-tfile.c, print-rtl.c, print-tree.c:
2228         Delete HOST_PTR_PRINTF.
2229
2230         * configure, config.in: Regenerate.
2231
2232 2005-08-15  David Edelsohn  <edelsohn@gnu.org>
2233
2234         * config/rs6000/rs6000.md (QHSI): New mode macro.
2235         (wd): Extend mode attr for QImode and HImode
2236         (dbits): New mode attr.
2237         (zero_extend<mode>di2): Convert to mode macro.
2238
2239 2005-08-15  Steve Ellcey  <sje@cup.hp.com>
2240
2241         PR target/21841
2242         * doc/invoke.texi (-mgnu-ld): Update description.
2243         (-mhp-ld): Ditto.
2244
2245 2005-08-15  Sebastian Pop  <pop@cri.ensmp.fr>
2246
2247         PR 23391
2248         * Makefile.in (tree-chrec.o): Depends on real.h.
2249         * tree-chrec.c: Include real.h.
2250         (chrec_fold_plus_poly_poly, chrec_fold_multiply_poly_poly,
2251         chrec_fold_plus_1): Use build_real for SCALAR_FLOAT_TYPE_P.
2252         * tree-scalar-evolution.c (add_to_evolution_1,
2253         interpret_rhs_modify_expr): Ditto.
2254
2255 2005-08-15  Sebastian Pop  <pop@cri.ensmp.fr>
2256
2257         PR 23386
2258         * tree-data-ref.c (estimate_niter_from_size_of_data): When
2259         step is negative compute the estimation from init downwards to zero.
2260
2261 2005-08-14  James A. Morrison  <phython@gcc.gnu.org>
2262
2263         * fold-const (fold_binary): Call fold_build2 instead of fold (build.
2264
2265 2005-08-14  Ulrich Weigand  <uweigand@de.ibm.com>
2266
2267         * config/s390/s390.c (s390_const_ok_for_constraint_p): Add 'P'
2268         constraint.
2269         (legitimate_reload_constant_p): Fix handling of lliXX operands.
2270         Accept double-word constants that can be split.
2271         * config/s390/s390.md ("movti"): Use 'P' constraint.
2272         ("*movdi_31", "*movdf_31"): Likewise.
2273
2274 2005-08-14  Daniel Berlin  <dberlin@dberlin.org>
2275
2276         Fix PR tree-optimization/22615
2277
2278         * tree-ssa-structalias.c (solution_set_add): Handle
2279         first_vi_for_offset returning NULL.
2280         (do_da_constraint): Ditto.
2281         (do_sd_constraint): Ditto.
2282         (do_ds_constraint): Ditto
2283         (find_func_aliases): Ditto.
2284         (build_constraint_graph): RHS is allowed be ANYTHING.
2285         (first_vi_for_offset): Return NULL if we couldn't find anything at
2286         the offset.
2287
2288 2005-08-14  Ulrich Weigand  <uweigand@de.ibm.com>
2289
2290         * config/s390/s390.c (s390_canonicalize_comparison): Prefer register
2291         over memory as first operand.
2292
2293 2005-08-14  H.J. Lu  <hongjiu.lu@intel.com>
2294
2295         PR target/23360
2296         * config/i386/crtfastmath.c (set_fast_math): Check if DAZ is
2297         available for setting it.
2298
2299 2005-08-14  Ira Rosen  <irar@il.ibm.com>
2300
2301         PR tree-optimization/23320
2302         * tree-data-ref.c (base_addr_differ_p): Add comment. Check
2303         data-refs' types instead of base object nullness. Add check for
2304         pointer type data-refs before first location comparison. Remove
2305         assert.
2306
2307 2005-08-14  Andreas Schwab  <schwab@suse.de>
2308
2309         * doc/md.texi (Machine Constraints): Fix misplaced @end table.
2310
2311 2005-08-13  James E Wilson  <wilson@specifix.com>
2312
2313         * doc/cpp.texi (__SSP__, __SSP_ALL__): Document.
2314         * doc/invoke.texi (-Wstack-protector, -fstack-protector,
2315         -fstack-protector-all, --param ssp-buffer-size): Document.
2316         (-Wvariadic-macros): Alphabetize.
2317         (-fsched-stalled-insns-dep): Add missing 'f'.
2318
2319         * c-cppbuiltin.c (c_cpp_builtins): Add comment for flag_stack_protect
2320         macros.
2321
2322 2005-08-13  David Edelsohn  <edelsohn@gnu.org>
2323
2324         * config/rs6000/rs6000.h (EXTRA_CONSTRAINT): Add 'a' for indexed
2325         or indirect address operand.
2326         (EXTRA_ADDRESS_CONSTRAINT): New.
2327         * config/rs6000/rs6000.md (prefetch): Change constraint "p" to "a".
2328
2329 2005-08-13  Sebastian Pop  <pop@cri.ensmp.fr>
2330
2331         PR tree-optimization/22236
2332         * tree-cfg.c (print_pred_bbs, print_succ_bbs): Correctly print
2333         successors and predecessors.
2334         * tree-chrec.c (chrec_convert): Before converting, check that
2335         sequences don't wrap.
2336         * tree-data-ref.c (compute_estimated_nb_iterations): Moved ...
2337         (analyze_array): Extern.
2338         (find_data_references_in_loop): Remove call to
2339         compute_estimated_nb_iterations.
2340         * tree-data-ref.h (analyze_array): Declared.
2341         * tree-flow-inline.h (single_ssa_tree_operand, single_ssa_use_operand,
2342         single_ssa_def_operand, zero_ssa_operands): Fix documentation.
2343         * tree-flow.h (scev_probably_wraps_p): Declare with an extra parameter.
2344         * tree-scalar-evolution.c (instantiate_parameters_1): Factor entry
2345         condition.
2346         * tree-ssa-loop-ivcanon.c: Fix documentation.
2347         * tree-ssa-loop-ivopts.c (idx_find_step): Add a fixme note.
2348         * tree-ssa-loop-niter.c (compute_estimated_nb_iterations): ... here.
2349         (infer_loop_bounds_from_undefined): New.
2350         (estimate_numbers_of_iterations_loop): Use
2351         infer_loop_bounds_from_undefined.
2352         (used_in_pointer_arithmetic_p): New.
2353         (scev_probably_wraps_p): Pass an extra parameter.  Call
2354         used_in_pointer_arithmetic_p.  Check that AT_STMT is not null.
2355         (convert_step): Fix documentation.
2356         * tree-vrp.c (adjust_range_with_scev): Call instantiate_parameters.
2357         Use initial_condition_in_loop_num and evolution_part_in_loop_num
2358         instead of CHREC_LEFT and CHREC_RIGHT.  Adjust the call to
2359         scev_probably_wraps_p.
2360
2361 2005-08-13  Ulrich Weigand  <uweigand@de.ibm.com>
2362
2363         * config/s390/s390.c (s390_split_branches): Revert 2005-08-12 change.
2364         (s390_register_info): Ignore clobbered_regs information for fixed
2365         registers, and only fixed registers.
2366         (s390_init_frame_layout): Remove redundant call.
2367
2368 2005-08-12  Gerald Pfeifer  <gerald@pfeifer.com>
2369
2370         * doc/invoke.texi (C++ Dialect Options): Add dynamic_cast to
2371         description of -Wold-style-casts.
2372
2373 2005-08-12  Andreas Krebbel  <krebbel1@de.ibm.com>
2374             Jakub Jelinek  <jakub@redhat.com>
2375
2376         * config/s390/linux.h (TARGET_THREAD_SSP_OFFSET): Define.
2377         * config/s390/s390-protos.h (s390_get_thread_pointer): Prototype added.
2378         * config/s390/s390.c (print_operand): New output modifier 'G' added.
2379         (get_thread_pointer): Renamed to s390_get_thread_pointer.
2380         * config/s390/s390.md (stack_protect_set, stack_protect_test): If
2381         TARGET_THREAD_SSP_OFFSET is defined, change operands[1] to
2382         (MEM:P (PLUS:P (tp, TARGET_THREAD_SSP_OFFSET))).
2383         (UNSPEC_SP_SET, UNSPEC_SP_TEST): New constants.
2384         ("stack_protect_set", "stack_protect_test"): New expanders.
2385         ("stack_protect_setsi", "stack_protect_setdi", "stack_protect_testsi",
2386         "stack_protect_testdi"): New insn definitions.
2387
2388 2005-08-12  Andreas Krebbel  <krebbel1@de.ibm.com>
2389
2390         * config/s390/s390.md ("*movdf_31"): Changed constraint from P to K.
2391
2392 2005-08-12  Paul Brook  <paul@codesourcery.com>
2393
2394         * config/arm/lib1funcs.asm: Error if __ARM_ARCH__ not set.
2395
2396 2005-08-12  Andreas Krebbel  <krebbel1@de.ibm.com>
2397
2398         * config/s390/predicates.md (setmem_operand): New predicate.
2399         (shift_count_operand): Accept ANDs with special constants as
2400         operand.
2401         * config/s390/s390.c (print_shift_count_operand): Skip ANDs
2402         with special constants.
2403         * config/s390/s390.md ("setmem_long", "*setmem_long"): Replaced
2404         shift_count_operand with setmem_operand.
2405
2406 2005-08-12  Andreas Krebbel  <krebbel1@de.ibm.com>
2407
2408         * config/s390/s390.c (s390_extract_part, s390_single_part):
2409         Type cast added.
2410         (s390_const_ok_for_constraint_p): Added SImode to the N constraint.
2411         (s390_output_mi_thunk): Don't use lg on 31 bit.
2412         * config/s390/s390.md ("*movdi_31", "*movdf_31"): Added lmy and stmy.
2413         ("*llgt_sisi" and splitter): Replaced TARGET_64BIT with TARGET_ZARCH.
2414
2415 2005-08-12  Andreas Krebbel  <krebbel1@de.ibm.com>
2416
2417         * config/s390/s390.c (CONST_OK_FOR_J, CONST_OK_FOR_K): New macros.
2418         (s390_select_ccmode, s390_rtx_costs, legitimate_reload_constant_p,
2419         s390_init_frame_layout, s390_emit_prologue, s390_emit_epilogue,
2420         s390_output_mi_thunk): Replaced uses of CONST_OK_FOR_CONSTRAINT_P
2421         with one of the new macros.
2422
2423 2005-08-12  Andreas Krebbel  <krebbel1@de.ibm.com>
2424
2425         * config/s390/s390.c (s390_split_branches, s390_init_frame_layout):
2426         Don't set save_return_addr_p.
2427         (s390_register_info): Make clobbered_regs not depending on
2428         save_return_addr_p.
2429
2430 2005-08-12  Kaz Kojima  <kkojima@gcc.gnu.org>
2431
2432         * gcc.c (LINK_SSP_SPEC): Remove space before a trailing }.
2433         (LINK_COMMAND_SPEC): Add space after %(link_ssp).
2434
2435 2005-08-11  James E. Wilson  <wilson@specifix.com>
2436
2437         * config/ia64/ia64.h (EXTRA_MEMORY_CONSTRAINT): New.
2438
2439 2005-08-11  Jakub Jelinek  <jakub@redhat.com>
2440
2441         * dwarf2out.c (add_location_or_const_value_attribute): Prefer
2442         locations gathered by var-tracking in single entry loc_list
2443         over loc_descriptor_from_tree.
2444
2445         * dwarf2out.c (concat_loc_descriptor): Add can_use_fbreg argument,
2446         pass it down to loc_descriptor.
2447         (loc_descriptor): Pass can_use_fbreg to concat_loc_descriptor.
2448         (containing_function_has_frame_base): Move earlier in the file.
2449         (loc_descriptor_from_tree_1): Use containing_function_has_frame_base
2450         instead of always assuming fbreg can't be used.
2451
2452 2005-08-11  David Edelsohn  <edelsohn@gnu.org>
2453
2454         * config/rs6000/altivec.md: Change constraint "m" to "Z".
2455         * config/rs6000/predicates.md (indexed_or_indirect_operand):
2456         Accept address wrapped in AND for Altivec.
2457         * config/rs6000/rs6000.c (rs6000_legitimize_reload_address):
2458         Strip AND wrapping offset address for Altivec.
2459
2460 2005-08-11  Richard Henderson  <rth@redhat.com>
2461
2462         PR middle-end/23312
2463         * gimplify.c (gimplify_one_sizepos): Check for INTEGER_TYPE
2464         before using TYPE_IS_SIZETYPE.
2465
2466 2005-08-11  Richard Henderson  <rth@redhat.com>
2467
2468         PR target/22225
2469         * config/alpha/alpha.c (alphaev4_insn_pipe): Add take pipes for
2470         insn types not present on ev4.
2471         (alphaev5_insn_pipe): Similarly.
2472
2473 2005-08-11  Richard Earnshaw  <richard.earnshaw@arm.com>
2474
2475         PR target/23250
2476         * arm.c (arm_override_options): If the user has selected callee-super-
2477         interworking, then enable normal interworking.
2478
2479 2005-08-11  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2480
2481         * config/i386/x86-64.h (ASM_OUTPUT_ALIGNED_BSS): Undef before
2482         redefinition.
2483
2484 2005-08-11  Wu Zhou  <woodzltc@cn.ibm.com>
2485
2486         * doc/rtl.texi: Fix two typos.
2487
2488 2005-08-11  Richard Guenther  <rguenther@suse.de>
2489
2490         PR target/23289
2491         * config/i386/i386.c (ix86_function_ok_for_sibcall): Handle
2492         cases where we call to/from functions returning void.
2493
2494 2005-08-10  James A. Morrison  <phython@gcc.gnu.org>
2495
2496         PR c++/23225
2497         * tree.c (build_pointer_type_for_mode): Robustify.
2498
2499 2005-08-10  James E Wilson  <wilson@specifix.com>
2500
2501         * defaults.h, config/alpha/alpha.h, config/ia64/ia64.h
2502         (ASM_OUTPUT_ADDR_VEC_ELT): Delete.
2503
2504         * config/alpha/alpha.c (alpha_arg_partial_bytes): Change "(CUM)." to
2505         "cum->".
2506
2507 2005-08-10  Eric Christopher  <echristo@apple.com>
2508
2509         * config/rs6000/rs6000.c (mems_ok_for_quad_peep): Rewrite.
2510         * config/rs6000/rs6000.md (*lfq_power2, *stfq_power2): Use
2511         V2DFmode.
2512
2513 2005-08-10  Andrew Pinski  <pinskia@physics.uc.edu>
2514
2515         PR target/21887
2516         * config/darwin.c (machopic_indirect_data_reference): Use a new register
2517         for the high part when generating dynamic-no-pic code.
2518
2519 2005-08-10  H.J. Lu  <hongjiu.lu@intel.com>
2520
2521         * config.gcc (i[34567]86-*-linux*): Add i386/t-crtfm to tm-file.
2522         (x86_64-*-linux*): Likewise.
2523
2524         * config/i386/crtfastmath.c: New file.
2525         * config/i386/t-crtfm: Likewise.
2526
2527         * config/i386/linux.h (ENDFILE_SPEC): New.
2528         * config/i386/linux64.h (ENDFILE_SPEC): Likewise.
2529
2530         * config/i386/t-linux64 (EXTRA_MULTILIB_PARTS): Add
2531         crtfastmath.o.
2532
2533 2005-08-10  Dorit Nuzman  <dorit@il.ibm.com>
2534
2535         * doc/md.texi: (reduc_smin, reduc_umin, reduc_splus, reduc_uplus):
2536         (vec_shl, vec_shr): Document new operations.
2537         * tree.def (VEC_RSHIFT_EXPR, VEC_LSHIFT_EXPR): Fix comment.
2538
2539 2005-08-10  David Edelsohn  <edelsohn@gnu.org>
2540
2541         * config/rs6000/predicates.md (indexed_or_indirect_address): New.
2542         * config/rs6000/rs6000.md (prefetch): Remove operand 0 mode and
2543         change predicate to indexed_or_indirect_address.
2544
2545 2005-08-10  Richard Sandiford  <richard@codesourcery.com>
2546
2547         * config/arm/lib1funcs.asm (__aeabi_uidiv, __aeabi_idiv): New aliases.
2548         * config/arm/libgcc-bpabi.ver (GCC_3.5): Add __aeabi_idiv,
2549         __aeabi_uidiv, __aeabi_uread4, __aeabi_uread8, __aeabi_uwrite4
2550         and __aeabi_uwrite8.
2551         * config/arm/unaligned-funcs.c: New file.
2552         * config/arm/t-bpabi (LIB2FUNCS_EXTRA): Add unaligned-funcs.c.
2553
2554 2005-08-09  Paolo Bonzini  <bonzini@gnu.org>
2555
2556         * bb-reorder.c (pass_duplicate_computed_gotos, pass_partition_blocks):
2557         Add dump.
2558         * cfglayout.c (pass_insn_locators_initialize): Add dump.
2559         * emit-rtl.c (pass_unshare_all_rtl, pass_remove_unnecessary_notes):
2560         Add dump.
2561         * except.c (pass_convert_to_eh_region_ranges): Add dump.
2562         * final.c (pass_shorten_branches): Add dump.
2563         * flow.c (pass_recompute_reg_usage, pass_remove_death_notes): Add dump.
2564         (pass_life): Rename dump.
2565         (rest_of_handle_flow2): Remove initial verify_flow_info.
2566         * function.c (pass_instantiate_virtual_regs): Add dump.
2567         * integrate.c (pass_initial_value_sets): Add dump.
2568         * jump.c (pass_cleanup_barriers, pass_purge_lineno_notes): Add dump.
2569         * loop-init.c (pass_rtl_loop_init, pass_rtl_loop_done): Rename dump.
2570         (pass_rtl_move_loop_invariants, pass_rtl_unswitch, pass_rtl_doloop,
2571         pass_rtl_unroll_and_peel_loops): Rename dump and add gate.
2572         (gate_rtl_move_loop_invariants, gate_rtl_unswitch, gate_rtl_doloop,
2573         gate_rtl_unrool_and_peel_loops): New.
2574         (rtl_move_loop_invariants, rtl_unswitch, rtl_unrool_and_peel_loops,
2575         rtl_doloop): Do not look at flags.
2576         * mode-switching.c (pass_mode_switching): Add dump.
2577         * recog.c (pass_split_all_insns, pass_split_for_shorten_branches,
2578         pass_split_before_regstack): Add dump.
2579         * regmove.c (pass_stack_adjustments): Add dump.
2580         * tree-optimize.c (pass_fixup_cfg): Add dump.
2581
2582 2005-08-10  Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
2583
2584         PR 23309
2585         * config/m32r/m32r.c (m32r_reload_lr): Fix off by one error when
2586         deciding which instruction sequence to use.
2587
2588 2005-08-09  Dorit Nuzman  <dorit@il.ibm.com>
2589
2590         * tree-vect-transform.c (vect_create_epilog_for_reduction): Set
2591         BIT_FIELD_REF_UNSIGNED for newly created BIT_FIELD_REFs.
2592
2593 2005-08-09  Richard Guenther  <rguenther@suse.de>
2594
2595         * c-common.c (builtin_function_2): Remove.
2596         (def_builtin_1): New function.
2597         (c_common_nodes_and_builtins): Use def_builtin_1 to
2598         build builtin functions.
2599
2600 2005-08-09  Jie Zhang  <jie.zhang@analog.com>
2601
2602         * config/bfin/uclinux.h (NO_IMPLICIT_EXTERN_C): Define.
2603         * config/bfin/elf.h (NO_IMPLICIT_EXTERN_C): Define.
2604         * config/bfin/bfin.c (bfin_return_in_memory): Update to really match
2605         Visual DSP.
2606
2607 2005-08-09  James A. Morrison  <phython@gcc.gnu.org>
2608
2609         * tree-ssa-loop-niter.c (tree_simplify_using_condition_1): Use
2610         fold_binary instead of fold_build2 since we don't care about the
2611         resulting tree.
2612         (loop_niter_by_eval): Likewise.
2613         (compare_trees): Likewise.
2614         (proved_non_wrapping_p): Likewise.
2615
2616 2005-08-09  James A. Morrison  <phython@gcc.gnu.org>
2617
2618         PR c/23161
2619         PR c/23165
2620         * c-typeck.c (c_finish_if_stmt): Look into STATEMENT_LISTs to see
2621         if the if is really empty.
2622
2623 2005-08-09  Steven Bosscher  <stevenb@suse.de>
2624
2625         PR tree-optimization/23234
2626         * tree-ssa-math-opts.c (place_reciprocal): New enum.
2627         (execute_cse_reciprocals_1): Replace the 'phi' argument with an
2628         argument of the new enum.
2629         (execute_cse_reciprocals): Add reciprocals for function arguments
2630         on the unique successor edge of the entry block.  Update other calls
2631         to execute_cse_reciprocals_1.
2632
2633 2005-08-08  Richard Henderson  <rth@redhat.com>
2634
2635         PR 22439
2636         * gimplify.c (gimplify_one_sizepos): Preserve the original type.
2637
2638 2005-08-08  Bob Wilson  <bob.wilson@acm.org>
2639
2640         * expr.c (write_complex_part): Return after handling MEM.
2641
2642 2005-08-08  Josh Conner  <jconner@apple.com>
2643
2644         PR rtl-optimization/23241
2645         * combine.c (simplify_comparison): Fix error in determining
2646         whether to lift a subreg from comparison.
2647
2648 2005-08-08  David Edelsohn  <edelsohn@gnu.org>
2649
2650         PR target/18506
2651         * config/rs6000/altivec.md (vec_init<mode>): New.
2652         (vec_set<mode>): New.
2653         (vec_extract<mode>): New.
2654         * config/rs6000/rs6000.c (rs6000_expand_vector_init): New.
2655         (rs6000_expand_vector_set): New.
2656         (rs6000_expand_vector_extract): New.
2657         (rs6000_legitimate_offset_address_p): Offset addresses are valid
2658         for Altivec modes before reload.
2659         (altivec_expand_vec_init_builtin): New.
2660         (get_element_number): New.
2661         (altivec_expand_vec_set_builtin): New.
2662         (altivec_expand_vec_ext_builtin): New.
2663         (altivec_expand_builtin): Expand vec_init, vec_set, and vec_ext
2664         builtins.
2665         (altivec_init_builtins): Init vec_init, vec_set, and vec_ext
2666         builtins.
2667         * config/rs6000/rs6000.h (rs6000_builtins): Add
2668         ALTIVEC_BUILTIN_VEC_INIT_<mode>, ALTIVEC_BUILTIN_VEC_SET_<mode>,
2669         ALTIVEC_BUILTIN_VEC_EXT_<mode>.
2670         * config/rs6000/rs6000-protos.h: Declare new functions.
2671
2672 2005-08-08  Jan Hubicka  <jh@suse.cz>
2673
2674         * i386.c (legitimate_pic_address_disp_p): Refuse GOTOFF in 64bit mode.
2675         (legitimate_address_p): Refuse GOT and GOTOFF in 64bit mode.
2676         * i386.md (movdi*): Use pic_32bit_operand.
2677         * predicates.md (pic_32bit_operand): New.
2678
2679 2005-08-08  Nathan Sidwell  <nathan@codesourcery.com>
2680
2681         PR c++/21166
2682         * stor-layout.c (finalize_type_size): Undo DECL_PACKED when possible.
2683
2684 2005-08-07  James A. Morrison  <phython@gcc.gnu.org>
2685
2686         * tree-vrp.c (simplify_div_or_mod_using_range): Use build2.
2687         (test_for_singularity): Use fold_build2.
2688
2689 2005-08-07  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2690
2691         * pa64-regs.h (CONDITIONAL_REGISTER_USAGE): Fix loop upper bound.
2692
2693 2005-08-07  Danny Smith  <dannysmith@users.sourceforge.net>
2694
2695         * config/i386/cygming.h (SUBTARGET_ENCODE_SECTION_INFO): Define.
2696         (COMMON_ASM_OP) Define.
2697         * config/i386/i386.c (ix86_in_large_data_p): Add ATTRIBUTE_UNUSED
2698         (ix86_encode_section_info): Likewise.
2699         (TARGET_ENCODE_SECTION_INFO): Conditionally define as
2700         SUBTARGET_ENCODE_SECTION_INFO.
2701
2702 2005-08-06  Richard Henderson  <rth@redhat.com>
2703
2704         PR 21894
2705         * tree-nested.c (convert_local_reference): Save and restore val_only
2706         around component_ref and friends.  Clear walk_subtrees by default.
2707
2708 2005-08-06  Peter O'Gorman  <peter@pogma.com>
2709
2710         PR 21366
2711         * gcc.c (process_command): Check the argument to -b has a dash.
2712         * doc/invoke.texi: Update -b and -V docs.
2713
2714 2005-08-06  James E Wilson  <wilson@specifix.com>
2715
2716         * config/mips/cross64.h, config/mips/t-cross64: Delete.
2717
2718 2005-08-06  Michael Matz  <matz@suse.de>
2719
2720         * genattrtab.c (write_attr_get, write_attr_case): Use insn_code
2721         member only if only one insn is associated with the value.
2722
2723 2005-08-06  Nick Clifton  <nickc@redhat.com>
2724
2725         * config/stormy16/stormy16.h (SYMBOL_FLAG_XSTORMY16_BELOW100):
2726         New define.
2727         (ASM_OUTPUT_LABELREF): Delete - it is no longer needed.
2728         * config/stormy16/stormy16.c (xstormy16_below100_symbol):
2729         Check symbol flags instead of symbol name mangling.
2730         (xstormy16_asm_output_aligned_common): Likewise.  Also
2731         simplify code since the bss100_section cass is the only case
2732         where the below100 code will be triggered.
2733         (xstormy16_encode_section_info): Encode below100 attribute
2734         using the SYMBOL_FLAG_XSTORMY16_BELOW100 instead of mangling
2735         the name.
2736         (xstormy16_strip_name_encoding): Delete - this function is no
2737         longer needed.
2738         (TARGET_STRIP_NAME_ENCODING): Undefine.
2739         * config/stormy16/stormy16-protos.h: Delete prototype for
2740         xstormy16_strip_name_encoding.
2741
2742 2005-08-06  Kazu Hirata  <kazu@codesourcery.com>
2743
2744         * Makefile.in, cfgexpand.c, cfgloop.h, cfgloopmanip.c,
2745         config.gcc, ipa-cp.c, ipa-prop.c, ipa-prop.h, reg-stack.c,
2746         tree-ssa-structalias.c, tree-vrp.c, value-prof.c, vec.h,
2747         config/linux.h, config/alpha/alpha.h, config/alpha/linux.h,
2748         config/alpha/predicates.md, config/arc/arc.h,
2749         config/arm/arm.h, config/arm/ieee754-df.S,
2750         config/arm/ieee754-sf.S, config/bfin/bfin.c,
2751         config/bfin/bfin.h, config/c4x/c4x.h, config/crx/crx.c,
2752         config/fr30/fr30.h, config/frv/frv.h, config/h8300/h8300.h,
2753         config/i386/i386.h, config/ia64/ia64.c, config/ia64/ia64.h,
2754         config/m68hc11/m68hc11.h, config/mips/mips.c,
2755         config/mips/mips.h, config/mips/openbsd.h,
2756         config/mn10300/mn10300.h, config/pa/pa.c, config/pa/pa.h,
2757         config/pdp11/pdp11.h, config/rs6000/linux-unwind.h,
2758         config/rs6000/rs6000.c, config/rs6000/rs6000.h,
2759         config/s390/s390.c, config/sh/sh.c, config/sh/sh.h,
2760         config/sparc/linux.h, config/sparc/linux64.h,
2761         config/sparc/sparc.h, config/v850/v850.h, config/vax/vax.h,
2762         doc/extend.texi, doc/gcov.texi, doc/install.texi,
2763         doc/invoke.texi, doc/rtl.texi, doc/tm.texi: Fix comment/doc
2764         typos.  Follow spelling conventions.
2765
2766 2005-08-06  Joseph S. Myers  <joseph@codesourcery.com>
2767
2768         PR c/23113
2769         * stmt.c (warn_if_unused_value): Check TREE_NO_WARNING at start.
2770         Don't handle NOP_EXPR, CONVERT_EXPR and NON_LVALUE_EXPR
2771         specially.  Check for side effects only for COND_EXPR.
2772         * c-typeck.c (c_finish_stmt_expr): Mark statement expression
2773         return with TREE_NO_WARNING.
2774
2775 2005-08-06  Richard Sandiford  <richard@codesourcery.com>
2776
2777         PR rtl-optimization/23233
2778         * loop.c (combine_movables): Require the modes to be the same.
2779         (move_movables): Remove handling of cases where the replacement
2780         had a different mode to the original.
2781
2782 2005-08-05  James A. Morrison  <phython@gcc.gnu.org>
2783
2784         PR tree-optimization/23128
2785         * tree-vrp.c (vrp_int_const_binop): Check if unsigned addition or
2786         subtraction wrap, and set TREE_OVERFLOW if they do.
2787
2788 2005-08-05  Richard Henderson  <rth@redhat.com>
2789
2790         PR 21728
2791         * tree-cfg.c (remove_bb): Transmute DECL_NONLOCAL labels into
2792         FORCED_LABEL labels.
2793
2794 2005-08-05  J"orn Rennecke <joern.rennecke@st.com>
2795
2796         PR middle-end/23135
2797         * reload.c (find_reloads_subreg_address): Pass down TYPE
2798         unchanged.  Change all callers except find_reloads_toplev.
2799
2800 2005-08-05  Michael Matz  <matz@suse.de>
2801
2802         * genattrtab.c (current_alternative_string): Remove.
2803         (SIMPLIFY_ALTERNATIVE): Ditto.
2804         (attr_alt_bit_p): Ditto.
2805         (alternative_name): Make const char *.
2806         (evaluate_eq_attr): Remove use of above things.
2807         (simplify_test_exp): Ditto.
2808         (simplify_test_exp <EQ_ATTR>): Guard for insn_code < 0 .
2809         (simplify_test_exp <AND>): Correct typo (test 'right' not 'left').
2810
2811 2005-08-04  James E Wilson  <wilson@specifix.com>
2812
2813         * config/ptx4.h, config/sol2.h, config/arm/freebsd.h,
2814         config/arm/linux-elf.h, config/frv/frv.h, config/i386/freebsd.h,
2815         config/i386/freebsd64.h, config/i386/netware.h, config/i386/sco5.h,
2816         config/ia64/freebsd.h, config/rs6000/sysv4.h, config/sparc/freebsd.h
2817         (LINK_SPEC): Delete useless %{Wl,*:%*} item.
2818
2819 2005-08-04  Richard Henderson  <rth@redhat.com>
2820
2821         PR 21529
2822         * params.def (PARAM_SRA_MAX_STRUCTURE_COUNT): New.
2823         * params.h (SRA_MAX_STRUCTURE_COUNT): New.
2824         * tree-sra.c (decide_block_copy): Use it.  Disable element copy
2825         if we'd have to instantiate too many members.
2826
2827 2005-08-04  Richard Henderson  <rth@redhat.com>
2828
2829         PR 21291
2830         * tree-outof-ssa.c (coalesce_asm_operands): New.
2831         (coalesce_ssa_name): Use it.  Split out ...
2832         (coalesce_phi_operands, coalesce_result_decls): ... these.
2833
2834 2005-08-04  Paul Brook  <paul@codesourcery.com>
2835
2836         * read-rtl.c (read_quoted_string): Break if EOF.
2837
2838 2005-08-04  Andrew Pinski  <pinskia@physics.uc.edu>
2839
2840         * tree.h (fold_build1): Change to macro and call fold_build1_stat.
2841         (fold_build2): Likewise.
2842         (fold_build3): Likewise.
2843         (fold_build1_stat): New function prototype.
2844         (fold_build2_stat): Likewise.
2845         (fold_build3_stat): Likewise.
2846         * fold-const.c (fold_build1): Rename to ..
2847         (fold_build1_stat): this.  Add MEM_STAT_DECL.  Pass the mem stats
2848         through to build1_stat.
2849         (fold_build2): Rename to ..
2850         (fold_build2_stat): this.  Add MEM_STAT_DECL.  Pass the mem stats
2851         through to build2_stat.
2852         (fold_build3): Rename to ..
2853         (fold_build3_stat): this.  Add MEM_STAT_DECL.  Pass the mem stats
2854         through to build3_stat.
2855
2856 2005-08-04  David Edelsohn  <edelsohn@gnu.org>
2857             Ian Lance Taylor  <ian@airs.com>
2858
2859         * function.c (assign_stack_local_1): Do not correct stack slot
2860         address if allocation size is smaller than mode size.
2861
2862 2005-08-04  Diego Novillo  <dnovillo@redhat.com>
2863
2864         PR 22037
2865         * tree-cfg.c (replace_uses_by): Call mark_new_vars_to_rename.
2866         (tree_merge_blocks): Propagate anything allowed by
2867         may_propagate_copy.
2868         Clarify documentation.
2869         * passes.c (execute_todo): If cleanup_tree_cfg invalidated the
2870         SSA form, schedule an update if necessary.
2871
2872 2005-08-04  Gerald Pfeifer  <gerald@pfeifer.com>
2873
2874         * doc/install.texi (Binaries): Remove broken link to
2875         Sinix/Reliant Unix binaries.
2876
2877 2005-08-03  Richard Henderson  <rth@redhat.com>
2878
2879         PR 23221
2880         * function.c (stack_protect_epilogue): Export.
2881         * tree.h (stack_protect_epilogue): Declare.
2882         * calls.c (expand_call): Call it.
2883
2884 2005-08-03  Eric Christopher  <echristo@apple.com>
2885
2886         * gcc.c (LINK_SSP_SPEC): Add fstack-protector-all.
2887         * config/darwin.h (LINK_COMMAND_SPEC): Add link_ssp
2888         spec.
2889
2890 2005-08-04  Jan Hubicka  <jh@suse.cz>
2891
2892         * profile.c (branch_prob): Split edges with goto locus on them
2893         to get proper line counts.
2894         * tree-cfg.c (make_cond_expr_edges): Record user goto locuses, if any.
2895
2896 2005-08-03  Paul Brook  <paul@codesourcery.com>
2897
2898         * function.c (assign_parms): Round current_function_args_size
2899         to PARM_BOUNDARY, not STACK_BOUNDARY.
2900
2901 2005-08-03  Geoffrey Keating  <geoffk@apple.com>
2902
2903         * config/i386/i386.c (x86_elf_aligned_common)
2904         (x86_output_aligned_bss): Don't try to use symbols that aren't defined.
2905
2906 2005-08-03  Zdenek Dvorak  <dvorakz@suse.cz>
2907
2908         PR tree-optimization/23157
2909         * tree-scalar-evolution.c (scev_const_prop): Unshare trees
2910         before emitting them.
2911
2912 2005-08-03  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
2913
2914         PR tree-optimization/19899
2915         * Makefile.in (tree-scalar-evolution.o): Add real.h.
2916         * tree-scalar-evolution.c: Include real.h.
2917         (add_to_evolution): Build constant -1 of correct type.
2918
2919 2005-08-03  Jan Hubicka  <jh@suse.cz>
2920
2921         * cfgloop.h (DLTHE_FLAG_COMPLETTE_PEEL): New flag.
2922         * cfgloopmanip.c (duplicate_loop_to_header_edge): Special case
2923         profile updating for complette unrolling.
2924         * loop-unroll.c (peel_loop_completely): Use it.
2925         * tree-ssa-loop-ivcanon.c (try_unroll_loop_completely): Likewise.
2926         (tree_unroll_loops_completely): Disable code growing unrolling of cold
2927         loops.
2928
2929 2005-08-03  Paul Brook  <paul@codesourcery.com>
2930
2931         * combine.c (can_change_dest_mode): New function.
2932         (try_combine, simplify_set): Use it.
2933
2934 2005-08-03  Eric Botcazou  <ebotcazou@adacore.com>
2935
2936         * config/ia64/hpux.h (MEMBER_TYPE_FORCES_BLK): Only force
2937         TFmode to BLKmode.
2938
2939 2005-08-03  Gerald Pfeifer  <gerald@pfeifer.com>
2940
2941         * doc/install.texi (Specific): Adjust link to openavr.org.
2942         (Specific): Remove broken reference to GCC 2.8.1 for OS/2.
2943         (Binaries): Adjust HP-UX Porting Center link.
2944         (Binaries): Adjust Free Software Foundation ordering link.
2945
2946 2005-08-03  Andrew Pinski  <pinskia@physics.uc.edu>
2947
2948         * convert.c (convert_to_integer): Use fold_build1 instead of
2949         build1 when converting an integer to an integer.
2950
2951 2005-08-02  Richard Henderson  <rth@redhat.com>
2952
2953         * combine.c (combine_instructions): Don't use reg_equal/equiv
2954         results if the mode doesn't match.
2955
2956 2005-08-02  Mark Mitchell  <mark@codesourcery.com>
2957
2958         * config/i386/t-mingw32 (NATIVE_SYSTEM_HEADER_DIR): Set it.
2959         * doc/fragments.texi (NATIVE_SYSTEM_HEADER_DIR): Document it.
2960
2961 2005-08-02  Richard Henderson  <rth@redhat.com>
2962
2963         PR 23196
2964         * explow.c (memory_address): Remove special-case for
2965         virtual_stack_vars_rtx and virtual_incoming_args_rtx.
2966
2967 2005-08-02  Diego Novillo  <dnovillo@redhat.com>
2968
2969         PR 23164
2970         * tree-cfgcleanup.c (cleanup_tree_cfg): Do not limit the
2971         number of calls to cleanup_tree_cfg_1.
2972
2973 2005-08-02  Martin Reinecke  <martin@mpa-garching.mpg.de>
2974
2975         * doc/invoke.texi: document file extensions .F90 and .F95
2976
2977 2005-08-02  Richard Guenther  <rguenther@suse.de>
2978
2979         * fold-const.c (tree_expr_nonnegative_p): frexp(x, &e) is
2980         positive if its first argument is positive.
2981
2982 2005-08-02  Richard Guenther  <rguenther@suse.de>
2983
2984         PR tree-optimization/23177
2985         * tree-ssa-operands.c (get_tmr_operands): Use get_expr_operands
2986         on TMR_TAG.
2987
2988 2005-08-02  James A. Morrison  <phython@gcc.gnu.org>
2989
2990         PR tree-optimization/23129
2991         * tree-vrp.c (extract_range_from_binary_expr): Set value range to
2992         varying for divisions with anti-ranges.
2993
2994 2005-08-02  Jan Hubicka  <jh@suse.cz>
2995
2996         * tree-ssa-dom.c (thread_across_edge): Remove updating here.
2997         * tree-ssa-threadupdate.c (thread_block): Add it here.
2998
2999 2005-08-01  James E Wilson  <wilson@specifix.com>
3000
3001         * config/mips/mips.c (mips_encode_section_info, mips_attribute_table,
3002         TARGET_ENCODE_SECTION_INFO, TARGET_ATTRIBUTE_TABLE): New.
3003         * config/mips/mips.h (SYMBOL_FLAG_LONG_CALL, SYMBOL_REF_LONG_CALL_P):
3004         New.
3005         * config/mips/predicates.md (const_call_insn_operand): Add check for
3006         SYMBOL_REF_LONG_CALL_P.
3007         * doc/extend.texi (long_call): Document the new attribute.
3008
3009 2005-08-01  Ian Lance Taylor  <ian@airs.com>
3010             Richard Henderson  <rth@redhat.com>
3011
3012         * Makefile.in (RTL_BASE_H): Add real.h.
3013         * real.h (REAL_VALUE_FROM_CONST_DOUBLE): Use structure copy
3014         instead of memcpy.
3015         * emit-rtl.c (const_double_from_real_value): Likewise; use rtx.u.rv
3016         directly.
3017         * rtl.c (rtl_check_failed_code_mode): New.
3018         * rtl.h (struct rtx_def): Add u.rv.
3019         (XCMWINT, XCNMPRV): New.
3020         (CONST_DOUBLE_LOW, CONST_DOUBLE_HIGH): Use XCMWINT.
3021         (CONST_DOUBLE_REAL_VALUE): Use XCNMPRV; constify.
3022
3023 2005-08-01  Richard Henderson  <rth@redhat.com>
3024
3025         * dwarf2out.c (mem_loc_descriptor): Use XEXP, not SUBREG_REG,
3026         with auto-inc codes.
3027
3028         * config/alpha/predicates.md (and_operand): Test mode of CONST_DOUBLE.
3029
3030 2005-08-01  Jan Hubicka  <jh@suse.cz>
3031
3032         * i386-protos.h (asm_preferred_eh_data_format): Declare.
3033         * i386.c: Include dwarf2.h
3034         (asm_preferred_eh_data_format): New.
3035         * i386.h (ASM_PREFERRED_EH_DATA_FORMAT): Move offline.
3036
3037 2005-08-01  Ian Lance Taylor  <ian@airs.com>
3038
3039         * config/host-linux.c (linux_gt_pch_get_address): Add new name
3040         randomize_va_space for virtual address randomization control.
3041
3042 2005-08-01  Steven Bosscher  <stevenb@suse.de>
3043
3044         * common.opt (flag_ipa_cp): Put in right place to maintain
3045         alphabetic sort.
3046
3047 2005-08-01  Jan Hubicka  <jh@suse.cz>
3048
3049         * profile.c (compute_value_histograms): Fix thinko.
3050         * value-prof.c: Include toplev.h
3051         (check_counter): New function.
3052         (tree_divmod_fixed_value_transform, tree_mod_pow2_value_transform,
3053         tree_mod_subtract_transform): Add sanity check.
3054
3055 2005-08-01  Richard Guenther  <rguenther@suse.de>
3056
3057         PR tree-optimization/23133
3058         * tree-ssa-math-opts.c (execute_cse_reciprocals): Walk
3059         current functions parameter decls to find defs to cse
3060         reciprocals of.
3061
3062 2005-08-01  Richard Guenther  <rguenther@suse.de>
3063
3064         PR tree-optimization/23109
3065         * tree-ssa-math-opts.c (execute_cse_reciprocals_1):
3066         If trapping math is in effect, use post-dominator information
3067         to check if we'd in any case reach a trapping point before
3068         doing the reciprocal insertion.
3069         (execute_cse_reciprocals): Compute post-dominators, if necessary.
3070         * tree-ssa-loop-im.c (determine_invariantness_stmt): RDIV
3071         expressions are invariant only if trapping math is not in effect.
3072
3073 2005-08-01  Razya Ladelsky  <razya@il.ibm.com>
3074
3075         * cgraph.h (update_call_expr, cgraph_copy_node_for_versioning,
3076         cgraph_function_versioning): New declarations.
3077         * cgraphunit.c: Add include to ipa-prop.h.
3078         (update_call_expr, cgraph_copy_node_for_versioning,
3079         cgraph_function_versioning): New functions.
3080         * integrate.c (copy_decl_for_inlining): Remove.
3081         * ipa-prop.h (ipa_replace_map): New struct.
3082         (struct ipa_node): Add ipcp_orig_node, count_scale, new fields.
3083         * ipa-cp.c (ipcp_method_orig_node, ipcp_method_is_cloned,
3084         ipcp_method_set_orig_node, ipcp_cloned_create, ipcp_method_get_scale,
3085         ipcp_method_set_scale, ipcp_method_compute_scale, ipcp_after_propagate,
3086         ipcp_iterate_stage, ipcp_method_scale_print,
3087         ipcp_profile_mt_count_print, ipcp_profile_cs_count_print,
3088         ipcp_profile_edge_print, ipcp_profile_bb_print , ipcp_profile_print,
3089         ipcp_replace_map_create, ipcp_redirect, ipcp_update_callgraph,
3090         ipcp_update_bb_counts, ipcp_update_profiling,
3091         ipcp_update_edges_counts): New functions.
3092         (ipcp_method_cval_init): Remove restriction regarding local methods.
3093         (ipcp_init_stage): Add ipcp_method_compute_scale.
3094         (ipcp_insert_stage): Add versioning.
3095         (ipcp_structures_print): Add ipcp_method_scale_print.
3096         (ipcp_driver): Dump profiling info.
3097         * Makefile.in: Remove integrate.h dependency from tree-inline.o.
3098         Add ipa-prop.h dependency to tree-inline.o and cgraphunit.o.
3099         * tree-inline.c: Remove include to integrate.h, Add include ipa-prop.h.
3100         (struct inline_data): Add versioning_p, ipa_info, new fields.
3101         (remap_decl, mark_local_for_remap_r, setup_one_parameter,
3102         declare_return_variable): Replace calls to copy_decl_for_inlining with
3103         copy_decl_for_dup.
3104         (copy_body_r, copy_bb, copy_cfg_body, copy_tree_r, inlining_p): Add
3105         versioning support.
3106         (copy_decl_for_dup): Rename from copy_decl_for_inlining.
3107         Add argument VERSIONING.
3108         (copy_arguments_for_versioning, copy_static_chain,
3109         function_versionable_p, tree_versionable_function_p,
3110         tree_function_versioning, replace_ref_tree): New functions.
3111         * tree-inline.h: Include varray.h.
3112         (tree_versionable_function_p,  tree_function_versioning,
3113         tree copy_decl_for_dup): New declarations.
3114
3115 2005-08-01  Razya Ladelsky  <razya@il.ibm.com>
3116
3117         * ipa-cp.c: New file. Contains IPCP specific functionality.
3118         * ipa-prop.h: New file. Contains structures/definitions that can be
3119         used by several interprocedural data flow optimizations (and also IPCP).
3120         * ipa-prop.c: New file.
3121         * Makefile.in: Add ipa-cp.c, ipa-prop.h, ipa-prop.c.
3122         * common.opt: Add ipa-cp flag.
3123         * timevar.def: Add IPCP optimization.
3124         * tree-optimize.c (init_tree_optimization_passes): Schedule
3125         pass_ipa_cp.
3126         * tree-pass.h (pass_ipa_cp): Declare.
3127
3128 2005-08-01  Kazu Hirata  <kazu@codesourcery.com>
3129
3130         * dwarf2out.c, fold-const.c, ipa-type-escape.c,
3131         loop-invariant.c, predict.c, predict.def, reload1.c, reorg.c,
3132         tree-sra.c, config/arm/arm.c, config/crx/crx.c,
3133         config/i386/i386.c, config/mips/mips.h,
3134         config/rs6000/rs6000.h, config/sh/sh.c,
3135         config/stormy16/stormy16.c: Fix comment typos.
3136
3137 2005-08-01  Joseph S. Myers  <joseph@codesourcery.com>
3138
3139         PR c/22311
3140         * c-typeck.c (build_binary_op): Use common_type wrapper on
3141         shortened types.
3142         (common_type): Update comment.
3143
3144 2005-07-31  Steven Bosscher  <stevenb@suse.de>
3145
3146         PR target/23095
3147         * common.opt (flag_gcse_after_reload): Don't initialize to 2.
3148         (flag_rerun_cse_after_loop): Initialize this to 2 instead.
3149         * postreload-gcse.c (hash_scan_set): Do not consider stack regs.
3150
3151 2005-07-31  Jan Hubicka  <jh@suse.cz>
3152
3153         * pretty-print.h (pp_widest_integer): New macro.
3154         * tree-pretty-print.c (dump_bb_header): Print BB frequencies and
3155         counts.
3156
3157 2005-07-31  Jan Hubicka  <jh@suse.cz>
3158
3159         * output.h (enum section_category): Export from varasm.c
3160         (categorize_decl_for_section): Likewise.
3161         * varasm.c (enum section_category): Kill.
3162         (categorize_decl_for_section): Make global.
3163         * i386-protos.h (x86_output_aligned_bss, x86_elf_aligned_common):
3164         Declare.
3165         * i386.c (ix86_section_threshold): New static variable.
3166         (ix86_in_large_data_p, ix86_encode_section_info,
3167         x86_64_elf_unique_section,
3168         x86_64_elf_select_section): New functions.
3169         (TARGET_ENCODE_SECTION_INFO): Define
3170         (override_options): Enable medium model for PIC.
3171         (ix86_expand_prologue): Expand gen_set_got_rex64.
3172         (legitimate_constant_p): Handle new UNSPECs.
3173         (legitimate_pic_address_disp_p): Likewise.
3174         (legitimize_pic_address): Lower MEDIUM model addressing.
3175         * i386.h (PIC_OFFSET_TABLE_REGNUM): Set for medium model PIC.
3176         (enum cmodel): Add MEDIUM_PIC.
3177         (SYMBOL_REF_FAR_ADDR_P): New macro.
3178         (SYMBOL_FLAG_FAR_ADDR): New flag.
3179         * i386.md (movdi): Support medium model.
3180         (set_got_rex64): New pattern.
3181         * i386.opt (mlarge-data-threshold): New flag.
3182         * predicates.md (zext_operand/sext_operand): Deal with medium model.
3183         * x86-64.h (ASM_OUTPUT_ALIGNED_BSS): Use x86_output_aligned_bss.
3184         (ASM_OUTPUT_ALIGNED_COMMON, TARGET_ASM_SELECT_SECTION,
3185         TARGET_ASM_UNIQUE_SECTION): New.
3186
3187         * invoke.texi (-mlarge_data_threshold): Document
3188
3189 2005-07-31  Jan Hubicka  <jh@suse.cz>
3190
3191         * tree-outof-ssa.c (coalesce_ssa_name): Use coalesce_cost.
3192         (coalesce_vars): Likewise.
3193         * tree-ssa-live.c (coalesce_cost): New.
3194         (build_tree_conflict_graph): Use coalesce_cost.
3195         * tree-ssa-live.h (coalesce_cost): Declare.
3196
3197 2005-07-30  Richard Earnshaw  <richard.earnshaw@arm.com>
3198
3199         * arm.md (all peepholes for post-increment operations): Delete.
3200         (strqi_preinc, strqi_predec, loadqi_preinc, loadqi_predec)
3201         (loadqisi_preinc, loadqisi_predec, strsi_preinc, strsi_predec)
3202         (loadsi_preinc, loadsi_predec, strqi_shiftpreinc, strqi_shiftpredec)
3203         (loadqi_shiftpreinc, loadqi_shiftpredec, strsi_shiftpreinc)
3204         (strsishift_predec, loadsi_shiftpreinc, loadsi_shiftpredec): Delete.
3205
3206 2005-07-30  James A. Morrison  <phython@gcc.gnu.org>
3207
3208         * fold-const.c (tree_expr_nonnegative_p): Always return true for
3209         non-integral types.
3210
3211 2005-07-29  Wolfgang Bangerth <bangerth@dealii.org>
3212
3213         PR target/22582
3214         * doc/invoke.texi: Document -rdynamic.
3215
3216 2005-07-30  Joseph S. Myers  <joseph@codesourcery.com>
3217
3218         PR c/23143
3219         * c-parser.c (c_parser_parms_list_declarator): Call
3220         mark_forward_parm_decls.
3221         * c-decl.c (merge_decls): Only check DECL_IN_SYSTEM_HEADER for
3222         decls with visibility structure.
3223
3224 2005-07-30  Paul Brook  <paul@codesourcery.com>
3225
3226         * config/arm/arm.c (arm_coproc_mem_operand): Fix inaccurate comment.
3227
3228 2005-07-30  Paul Brook  <paul@codesourcery.com>
3229
3230         * config/arm/arm-protos.h (arm_canonicalize_comparison): Update
3231         prototype.
3232         * config/arm/arm.c (arm_canonicalize_comparison): Use correct limit
3233         value for mode.
3234         * config/arm/arm.h (CANONICALIZE_COMPARISON): Pass mode argument.
3235
3236 2005-07-29  Joseph S. Myers  <joseph@codesourcery.com>
3237
3238         PR c/529
3239         * c-decl.c (warn_if_shadowing): Don't check for PARM_DECL in
3240         nested function declarators.
3241         (pushdecl): Don't call warn_if_shadowing for PARM_DECL.
3242         (grokparms): Call warn_if_shadowing for parameters used within the
3243         parameter list.
3244         (store_parm_decls_newstyle): Call warn_if_shadowing for parameters
3245         not used within the parameter list.
3246         (store_parm_decls_oldstyle): Call warn_if_shadowing for parameters.
3247
3248 2005-07-30  Jan Hubicka  <jh@suse.cz>
3249
3250         * expr.c (expand_expr_real_1): Do not load mem targets into register.
3251         * i386.c (ix86_fixup_binary_operands): Likewise.
3252         (ix86_expand_unary_operator): Likewise.
3253         (ix86_expand_fp_absneg_operator): Likewise.
3254         * optabs.c (expand_vec_cond_expr): Validate dest.
3255
3256 2005-07-29  Joseph S. Myers  <joseph@codesourcery.com>
3257
3258         PR c/21720
3259         * real.c (real_from_string): Also set last bit if there is a
3260         nonzero hex digit beyond GCC's internal precision after ".".
3261
3262 2005-07-29  David Edelsohn  <edelsohn@gnu.org>
3263
3264         * config/rs6000/altivec.md: Convert UNSPEC numerical values to
3265         define_constants.  Change duplicate values to unassigned numbers.
3266         Change UNSPEC_SUBS to UNSPEC_VSUBS.
3267         (*altivec_vspltsf): New.
3268         (altivec_vperm_v4sf): Delete.
3269         (altivec_vperm_<mode>): Use mode macro V.
3270         (altivec_vsldoi_<mode>): Convert to mode macro pattern.
3271         (altivec_predicate_v4sf): Delete.
3272         (altivec_predicate_<mode>): Use mode macro V.
3273         (*altivec_lvesfx): New.
3274         (*altivec_stvesfx): New.
3275         (vec_realign_load_v4sf): Delete.
3276         (vec_realign_load_<mode>): Use mode macro V.
3277         * config/rs6000/rs6000.c (generate_set_vrsave): Use
3278         UNSPECV_SET_VRSAVE.
3279
3280 2005-07-29  Mark Mitchell  <mark@codesourcery.com>
3281
3282         PR bootstrap/23131
3283         * configure.ac (SYSTEM_HEADER_DIR): Avoid setting to empty
3284         string.
3285         * configure: Regenerated.
3286
3287 2005-07-29  Paul Brook  <paul@codesourcery.com>
3288
3289         * doc/install.texi: Add link to GFortran binaries wiki page.
3290
3291 2005-07-29  David Ung  <davidu@mips.com>
3292
3293         * config/mips/mips.c (mips_cpu_info_table): Add 5kf to the table.
3294         (mips_rtx_cost_data): Add costs for 5kc and 5kf.
3295         * config/mips/mips.h (processor_type): Add PROCESSOR_5KF.
3296         * config/mips/mips.md (cpu): Add 5kf name.
3297         (includes): Includes 5k.md.
3298         * config/mips/5k.md: New DFA pipeline for the 5kc/5kf.
3299         * doc/invoke.texi (MIPS Options): Updated cpu name supported with
3300         -march flag.
3301
3302 2005-07-29  Diego Novillo  <dnovillo@redhat.com>
3303
3304         PR 22550
3305         * tree-cfgcleanup.c (cleanup_tree_cfg_1): Extract from ...
3306         (cleanup_tree_cfg): ... here.
3307         Call cleanup_tree_cfg_1 until there are no more cleanups to
3308         do.
3309
3310 2005-07-29  James A. Morrison  <phython@gcc.gnu.org>
3311
3312         * tree-vrp.c (compare_range_with_value): Return true or false
3313         for ~[VAL_1, VAL_2] OP VAL if VAL_1 <= VAL <= VAL_2 for NE_EXPR and
3314         EQ_EXPR respectively.
3315
3316 2005-07-29  Kazu Hirata  <kazu@codesourcery.com>
3317
3318         * cfg.c, tree-complex.c, config/frv/frv.c, config/i386/i386.c:
3319         Fix comment typos.
3320
3321 2005-07-29  Diego Novillo  <dnovillo@redhat.com>
3322
3323         * tree-ssa-dom.c (struct opt_stats_d): Add field num_iterations.
3324         (tree_ssa_dominator_optimize): Increment it.
3325         (dump_dominator_optimization_stats): Print it.
3326
3327 2005-07-29  Richard Earnshaw  <richard.earnshaw@arm.com>
3328             Steven Bosscher  <stevenb@suse.de>
3329
3330         PR rtl-optimization/23117
3331         * sched-rgn.c (add_branch_dependences): Handle COND_EXEC correctly
3332         when head == tail.  Tidy comment.
3333
3334 2005-07-28  Richard Henderson  <rth@redhat.com>
3335
3336         * cse.c (exp_equiv_p): Special case CONST_DOUBLE.
3337         * cselib.c (rtx_equal_for_cselib_p): Likewise.
3338         * jump.c (rtx_renumbered_equal_p): Likewise.
3339         * loop.c (rtx_equal_for_loop_p): Tidy and special case PC, CC0,
3340         CONST_INT and CONST_DOUBLE.
3341         (rtx_equal_for_prefetch_p): Likewise, plus LABEL_REF.
3342         * reload.c (operands_match_p): Special case CONST_INT and
3343         CONST_DOUBLE; check mode earlier.
3344
3345 2005-07-29  Joseph S. Myers  <joseph@codesourcery.com>
3346
3347         PR c/22240
3348         * c-typeck.c (convert_for_assignment): Do not check
3349         DECL_IN_SYSTEM_HEADER on NULL fundecl.
3350
3351 2005-07-29  Joseph S. Myers  <joseph@codesourcery.com>
3352
3353         PR c/22192
3354         * c-typeck.c (composite_type): Prefer constant size arrays to
3355         VLAs.
3356
3357 2005-07-29  Joseph S. Myers  <joseph@codesourcery.com>
3358
3359         PR c/21720
3360         * real.c (real_from_string): Set last bit if there is a nonzero
3361         hex digit beyond GCC's internal precision.
3362
3363 2005-07-28  Richard Henderson  <rth@redhat.com>
3364
3365         PR rtl-opt/22619
3366         * cfgcleanup.c (try_forward_edges): Watch out for end of
3367         insn chain.
3368
3369 2005-07-28  James E Wilson  <wilson@specifixinc.com>
3370
3371         PR c/23106
3372         * doc/invoke.texi (Wstrict-aliasing=2): Fix misleading wording.
3373
3374 2005-07-28  Jan Hubicka  <jh@suse.cz>
3375
3376         * Makefile.in (rtl-profile.o): Kill all traces of it.
3377         * common.opt (fspeculative-prefetching, ftree-based-profiling): Kill.
3378         * coverage.h (rtl_coverage_counter_ref): Kill.
3379         * opts.c (flag_speculative_prefetching_set): Kill.
3380         (flag_loop_optimize_set): New.
3381         (common_handle_option): Disable loop optimizer when profiling;
3382         do not handle speculative prefetching.
3383         * passes.c (init_optimization_passes): Replace pass_profiling combo
3384         by branch_prob pass.
3385         * profile.c (compute_value_histograms): Update for simplified value
3386         profiles.
3387         (rtl_register_profile_hooks): Kill.
3388         (pass_profiling): Kill.
3389         (rest_of_handle_branch_prob): Do not profile.
3390         * toplev.c (process_options): Remove speculative prefetching.
3391         * toplev.h (flag_tree_based_profiling): Kill.
3392         * tree-profile.c (prepare_instrumented_value,
3393         tree_gen_interval_profiler, tree_gen_pow2_profiler,
3394         tree_gen_one_value_profiler, do_tree_profiling): Update for
3395         simplified datastructures.
3396         * value-prof.c: Add comment that speculative prefetching was dropped;
3397         update rest of file for simplified datastructures.
3398         (NOPREFETCH_RANGE_MIN, NOPREFETCH_RANGE_MAX,
3399         rtl_divmod_values_to_profile, insn_prefetch_values_to_profile,
3400         find_mem_reference_1, find_mem_reference_2, find_mem_reference,
3401         rtl_values_to_profile, rtl_divmod_fixed_value, rtl_mod_pow2,
3402         rtl_mod_subtract, gen_speculative_prefetch,
3403         rtl_divmod_fixed_value_transform, rtl_mod_pow2_value_transform,
3404         rtl_mod_subtract_transform, speculative_prefetching_transform): Kill.
3405         (gate_handle_value_profile_transformations,
3406         rest_of_handle_value_profile_transformations,
3407         pass_value_profile_transformations): Kill.
3408         * value-prof.h (histogram_value_t): Remove IL based unions.
3409         (rtl_register_value_prof_hooks, rtl_register_profile_hooks,
3410         rtl_profile_hooks): Remove hooks.
3411
3412         * invoke.texi (-ftree-based-profiling, -fspeculative-prefetching): Kill.
3413
3414         * cgraph.c (cgraph_clone_edge): New UPDATE_ORIGINAL argument.
3415         (cgraph_clone_node): Likewise.
3416         * cgraph.h (cgraph_clone_edge): Update prototype.
3417         (cgraph_clone_node): Likewise.
3418         * ipa-inline.c (cgraph_clone_inlined_nodes): Update call of
3419         cgraph_clone_node.
3420         (lookup_recursive_calls): Consider profile.
3421         (cgraph_decide_recursive_inlining): Fix updating; use new
3422         probability argument; use profile.
3423         * params.def (PARAM_MIN_INLINE_RECURSIVE_PROBABILITY): New.
3424         * tree-inline.c (copy_bb): Update clal of clone_edge.
3425         * tree-optimize.c (tree_rest_of_compilation): UPdate cal of clone_node.
3426
3427         * invoke.texi (min-inline-recursive-probability): Document.
3428
3429 2005-07-28  Gerald Pfeifer  <gerald@pfeifer.com>
3430
3431         * doc/install.texi (Configuration): Update Valgrind homepage.
3432
3433 2005-07-28  Richard Henderson  <rth@redhat.com>
3434
3435         PR middle-end/21362
3436         * cfgrtl.c (rtl_merge_blocks): Call maybe_remove_eh_handler on
3437         labels we want to delete.
3438         (cfg_layout_merge_blocks): Likewise.
3439
3440 2005-07-28  Richard Henderson  <rth@redhat.com>
3441
3442         PR target/17692
3443         * config/i386/i386.c (ix86_split_sse_movcc): Emit DELETED note
3444         when expanding to nothing.
3445
3446 2005-07-28  Josh Conner  <jconner@apple.com>
3447
3448         * ipa-inline.c (update_caller_keys): Fix estimated_growth caching.
3449         (cgraph_decide_inlining_of_small_functions): Likewise.
3450
3451 2005-07-28  Josh Conner  <jconner@apple.com>
3452
3453         * ipa-inline.c (cgraph_edge_badness): Update comments.  Invert shift
3454         direction of badness if negative.
3455         (cgraph_default_inline_p): Add reason to parameters, and assign it
3456         a value.
3457         (cgraph_decide_inlining_of_small_functions): New parameter in call
3458         to cgraph_default_inline_p.
3459         (cgraph_decide_inlining_incrementally): Likewise.
3460         * cgraphunit.c (decide_is_function_needed): Likewise.
3461         * cgraph.h (cgraph_default_inline_p): Likewise.
3462
3463 2005-07-28  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
3464
3465         * builtins.c: Fix comment typo(s).
3466         * genautomata.c: Likewise.
3467         * gimplify.c: Likewise.
3468         * tree-dfa.c: Likewise.
3469         * tree-flow-inline.h: Likewise.
3470         * tree-into-ssa.c: Likewise.
3471         * tree-ssa-alias.c: Likewise.
3472         * tree-ssa-ccp.c: Likewise.
3473         * tree-ssa-copy.c: Likewise.
3474         * tree-ssa-dce.c: Likewise.
3475         * tree-ssa-dom.c: Likewise.
3476         * tree-ssa-operands.c: Likewise.
3477         * tree-tailcall.c: Likewise.
3478         * tree-vectorizer.c: Likewise.
3479         * tree-vrp.c: Likewise.
3480         * tree.c: Likewise.
3481
3482 2005-07-28  Jeff Law  <law@redhat.com>
3483
3484         * tree-vrp.c (test_for_singularity): Extracted from  ...
3485         (simplify_cond_using_ranges): Attempt to simplify a relational
3486         test to NE_EXPR.  Dump information when a COND_EXPR is simplified.
3487
3488 2005-07-28  Dorit Nuzman  <dorit@il.ibm.com>
3489
3490         PR tree-optimization/22506
3491         * tree-vectorizer.c (update_phi_nodes_for_guard2): Skip loop-closed
3492         phis whose argument is constant.
3493
3494 2005-07-28  J"orn Rennecke <joern.rennecke@st.com>
3495
3496         PR rtl-optimization/18992
3497         Back out this patch:
3498           2003-10-08  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
3499           PR optimization/12142
3500           * cse.c (count_reg_usage): In a SET with a REG SET_DEST, count the
3501           uses of the register in the SET_SRC.  Re