OSDN Git Service

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