OSDN Git Service

71aa4a9626fef1d3746005c38bb001380a9090f5
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2004-10-05  Kazu Hirata  <kazu@cs.umass.edu>
2
3         * tree-cfg.c (cleanup_tree_cfg): Remove extra parentheses in
4         comments.
5
6 2004-10-05  Kazu Hirata  <kazu@cs.umass.edu>
7
8         * tree-cfg.c (thread_jumps): Remove a duplicate check for
9         an infinite loop.
10
11 2004-10-05  Kazu Hirata  <kazu@cs.umass.edu>
12
13         * tree-cfg.c (thread_jumps): Iterate with FOR_EACH_BB instead
14         of FOR_BB_BETWEEN.  Remove a useless check for unreachable
15         blocks.
16
17 2004-10-05  Kazu Hirata  <kazu@cs.umass.edu>
18
19         * tree-cfg.c (cleanup_tree_cfg): Don't call
20         delete_unreachable_blosk() after thread_jumps().
21         (thread_jumps): Always remove basic blocks as they become
22         unreachable.
23
24 2004-10-05  Kazu Hirata  <kazu@cs.umass.edu>
25
26         * tree-cfg.c (cleanup_tree_cfg): Remove variable
27         something_changed.  Simplify the while loop.
28
29 2004-10-05  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
30
31         * builtins.c (expand_builtin_memmove): Delete duplicate code
32         and accept a tree type for the result.
33         (expand_builtin_bcopy): Accept a tree type for the result.
34         (fold_builtin_memmove): Accept an arglist and tree type for
35         the result.
36
37 2004-10-05  Ulrich Weigand  <uweigand@de.ibm.com>
38
39         * config/s390/s390.c (s390_dump_pool): Remove return value.
40         Use gen_pool_align, gen_pool_section_start/end instead of
41         gen_pool_start/end_31/64.
42         * config/s390/s390.md (UNSPECV_POOL_START, UNSPECV_POOL_END): Remove.
43         (UNSPECV_POOL_SECTION, UNSPECV_POOL_ALIGN): New constants.
44         ("pool_start_31", "pool_end_31"): Remove.
45         ("pool_start_64", "pool_end_64"): Likewise.
46         ("pool_align", "pool_section_start", "pool_section_end": New insns.
47
48         * config/s390/s390.c (s390_cannot_copy_insn_p): New function.
49         (TARGET_CANNOT_COPY_INSN_P): Define.
50         (s390_cannot_force_const_mem): Handle UNSPEC_INSN.
51         (struct constant_pool): New member 'execute'.
52         (s390_add_execute, s390_find_execute): New functions.
53         (s390_execute_label, s390_execute_target): Likewise.
54         (s390_dump_pool): Output in-pool execute target templates.
55         (s390_dump_execute): New function.
56         (s390_alloc_pool, s390_free_pool): Handle execute templates.
57         (s390_mainpool_start, s390_mainpool_finish): Likewise.
58         (s390_chunkify_start, s390_chunkify_finish): Likewise.
59         * config/s390/s390.md (UNSPEC_INSN, UNSPEC_EXECUTE): New constants.
60         ("*execute"): New insn pattern.
61         ("movmem_short", "*movmem_short"): Use splitters to generate
62         explicit execute pattern, remove embedded execute.
63         ("clrmem_short", "*clrmem_short"): Likewise.
64         ("cmpmem_short", "*cmpmem_short"): Likewise.
65
66 2004-10-05  Daniel Berlin  <dberlin@dberlin.org>
67
68         * tree-ssa.c (verify_ssa): Verify phi arguments only
69         contain renamed names.
70
71 2004-10-05  Alan Modra  <amodra@bigpond.net.au>
72
73         * config/rs6000/linux.h: Formatting, whitespace.
74         * config/rs6000/linux64.h: Likewise.
75         * config/rs6000/rs6000-protos.h: Likewise.
76         * config/rs6000/rs6000.c: Likewise.
77         (easy_vector_splat_const): Add fall thru comments.
78         (output_vec_const_move): Likewise.
79
80 2004-10-05  Kelley Cook  <kcook@gcc.gnu.org>
81
82         * Makefile.in: Update -Wno-error exceptions for move to build dir.
83
84 2004-10-05  Chao-Ying Fu  <fu@mips.com>
85             Richard Sandiford  <rsandifo@redhat.com>
86
87         * doc/invoke.texi (-mpaired-single): Link to the new description of the
88         built-in functions.  Document dependencies.
89         (-mips3d): Add link here too.
90         * doc/extend.texi (MIPS Paired-Single Support): New section.
91
92 2004-10-04  Chao-ying Fu  <fu@mips.com>
93
94         * config/mips/mips.h (UNITS_PER_SIMD_WORD): Define.
95
96 2004-10-04  Diego Novillo  <dnovillo@redhat.com>
97
98         * tree-ssa-dom.c (tree_ssa_dominator_optimize):
99         Initialize OPT_STATS to 0.
100
101 2004-10-04  Kazu Hirata  <kazu@cs.umass.edu>
102
103         * tree-data-ref.c: Fix comment typos.
104
105 2004-10-04  Sebastian Pop  <pop@cri.ensmp.fr>
106
107         * tree-data-ref.c (array_base_name_differ_p): Fix comments.  When
108         the predicate cannot be computed, don't initialize the result to
109         false.
110
111 2004-10-01  Eric Christopher  <echristo@redhat.com>
112
113         * dwarf2.h (dwarf_calling_convention): Add GNU prefix to
114         locally defined enum.
115         * dwarf2out.c (add_calling_convention_attribute): Don't
116         emit DW_CC_normal.
117
118 2004-10-03  Andrew Pinski  <pinskia@physics.uc.edu>
119
120         PR c/17178, PR c/17820
121         * c-decl.c (pop_scope): Do not warn about unused static
122         variables as they warned in the middle-end.
123
124 2004-10-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
125
126         * builtins.c (expand_builtin_memcpy): Delete duplicate code
127         and make the first parameter the expression not the arglist.
128
129 2004-10-03  Ulrich Weigand  <uweigand@de.ibm.com>
130
131         * expr.c (expand_expr_addr_expr): Only accept Pmode or ptr_mode
132         as valid modes to expand address expressions.
133
134 2004-10-03  Joseph S. Myers  <jsm@polyomino.org.uk>
135
136         * c-aux-info.c, c-common.c, c-common.h, c-cppbuiltin.c, c-decl.c,
137         c-format.c, c-incpath.c, c-lex.c, c-objc-common.c, c-opts.c,
138         c-parse.in, c-pch.c, c-ppoutput.c, c-pragma.c, c-typeck.c: Follow
139         code formatting conventions.
140
141 2004-10-03  Richard Sandiford  <rsandifo@redhat.com>
142
143         * config/mips/mips.md (<u>mulsidi3_32bit_r4000): Fix unsigned case.
144
145 2004-10-03  Kazu Hirata  <kazu@cs.umass.edu>
146
147         PR tree-optimization/16632
148         * fold-const.c (fold) [EQ_EXPR]: When seeing if D & ~C != 0 to
149         fold (A & C) == D into 0, fold ~C.  Similarly, for the case
150         where | is used instead of &.
151
152 2004-10-03  Kazu Hirata  <kazu@cs.umass.edu>
153
154         * ginclude/stddef.h: Fix a comment typo.
155
156 2004-10-03  Eric Botcazou  <ebotcazou@libertysurf.fr>
157
158         PR target/17443
159         * config.gcc (i?86-*-solaris2*): Restore correct logic
160         for --enable-threads option.
161         (sparc64-*-solaris2*): Likewise.
162         (sparc-*-solaris2*): Likewise.
163
164 2004-10-03  Alan Modra  <amodra@bigpond.net.au>
165
166         * config/rs6000/linux.h (TARGET_C99_FUNCTIONS): Define.
167         (OS_MISSING_POWERPC64): Move, and comment.
168         * config/rs6000/linux64.h (TARGET_C99_FUNCTIONS): Define.
169         (OS_MISSING_POWERPC64): Move, and comment.
170
171 2004-10-02  Ian Lance Taylor  <ian@wasabisystems.com>
172
173         * arm.c (output_call_mem): Add missing \t.
174
175 2004-10-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
176
177         * builtins.c (expand_builtin_memcmp, expand_builtin_strcmp,
178         expand_builtin_strncmp): Delete duplicate code.
179
180 2004-10-02  Frank Ch. Eigler  <fche@redhat.com>
181
182         * tree-mudflap.c (mf_build_check_statement_for): Reorganize to
183         take check-base and -limit arguments.
184         (mf_xform_derefs_1): Reorganize slightly to pass proper base/limit
185         check ranges for ARRAY_REF and COMPONENT_REF.
186         (execute_mudflap_fnction_ops, ..._decls): Limit unnecessary
187         instrumentation.
188
189 2004-10-02  Joseph S. Myers  <jsm@polyomino.org.uk>
190
191         * c-objc-common.c (c_tree_printer): Correct description of %E.
192         Don't fall through after printing an expression.
193
194 2004-10-02  Kazu Hirata  <kazu@cs.umass.edu>
195
196         * tree-cfg.c, config/s390/tpf-unwind.h: Fix comment typos.
197
198 2004-10-02  Kazu Hirata  <kazu@cs.umass.edu>
199
200         * tree-cfg.c (cleanup_tree_cfg): Speed up by calling
201         delete_unrechable_blocks() only when necessary.
202
203 2004-10-02  P.J. Darcy  <darcypj@us.ibm.com>
204
205         * gthr-tpf.h (__gthread_recursive_mutex_t): New type.
206         (__GTHREAD_RECURSIVE_MUTEX_INIT): Define.
207         (__gthread_recursive_mutex_lock, __gthread_recursive_mutex_trylock,
208         __gthread_recursive_mutex_unlock): New functions.
209
210 2004-10-02  P.J. Darcy  <darcypj@us.ibm.com>
211
212         * config/s390/t-tpf (LIB2ADDEH): Remove tpf-eh.c.
213         * config/s390/tpf-eh.c: Remove file.
214         * config/s390/tpf-unwind.h: New file.
215         * config/s390/tpf.h (MD_FALLBACK_FRAME_STATE_FOR): Remove.
216         (MD_UNWIND_SUPPORT): Define.
217
218 2004-10-02  Joseph S. Myers  <jsm@polyomino.org.uk>
219
220         * c-typeck.c (warn_for_assignment): Don't permit argnum == 0.
221
222 2004-10-01  Ulrich Weigand  <uweigand@de.ibm.com>
223
224         * config/s390/s390-protos.h (s390_comparison): Add prototype.
225         * config/s390/s390.c (s390_comparison): New function.
226         (s390_branch_condition_mask): Return -1 for invalid comparisons.
227         (s390_branch_condition_mnemonic): Assert valid comparison.
228         * config/s390/s390.h (PREDICATE_CODES): Add s390_comparison.
229         * config/s390/s390.md ("*cjump_64", "*cjump_31", "*cjump_long",
230         "*icjump_64", "*icjump_31", "*icjump_long", "*trap"): Use
231         s390_comparison instead of comparison_operator.
232
233         * config/s390/s390.md (UNSPEC_CMPINT): New constant.
234         ("cmpmemdi"): Remove.
235         ("cmpmem_short", "*cmpmem_short"): Use CCUmode instead of CCSmode.
236         ("cmpmem_long", "*cmpmem_long_64", "*cmpmem_long_31"): Likewise.
237         ("cmpint_si"): Rename to ...
238         ("*cmpint_si"): ... this.  Use UNSPEC_CMPINT.
239         ("cmpint_di", "*cmpint_di"): Likewise.
240         * config/s390/s390.c (s390_canonicalize_comparison): Remove
241         redundant UNSPEC_CMPINT conversions.
242         (s390_expand_cmpmem): Adapt to cmpint pattern changes.
243
244 2004-10-01  Kazu Hirata  <kazu@cs.umass.edu>
245
246         * collect2.c (COLLECT_PARSE_FLAG): Remove.
247         (main): Remove a reference to COLLECT_PARSE_FLAG
248         * system.h: Poison COLLECT_PARSE_FLAG.
249         * doc/tm.texi (COLLECT_PARSE_FLAG): Remove.
250
251 2004-10-01  Paul Brook  <paul@codesourcery.com>
252
253         * config/arm/crti.asm: Give _init and _fini function type.
254
255 2004-10-01  Zdenek Dvorak  <dvorakz@suse.cz>
256
257         * common.opt (ftree-loop-ivcanon): Enable by default.
258         * tree-ssa-loop-ivcanon.c (try_unroll_loop_completely):
259         Enable complete loop unrolling.
260         (canonicalize_induction_variables, tree_unroll_loops_completely):
261         Reset scev info.
262
263 2004-10-01  Paul Brook  <paul@codesourcery.com>
264
265         * config/arm/arm.c (thumb_compute_saved_rag_mask): Or with bitmask,
266         not register number.
267         (thumb_find_work_register): Search full register range.
268
269 2004-10-01  Andrew Pinski  <pinskia@physics.uc.edu>
270
271         PR tree-opt/17343
272         * tree-cfg.c (group_case_labels): Get the label and not
273         the case expr for the default case.
274         When the label we looking at is the default, decrement the
275         new_size.
276
277 2004-10-01  Jan Hubicka  <jh@suse.cz>
278
279         * c-decl.c (c_expand_body): Update call tree_rest_of_compilation.
280         * cgraphunit.c (cgraph_build_static_cdtor): Likewise.
281         * toplev.h (tree_rest_of_compilation): Update prototype.
282         * tree-optimize.c (tree_rest_of_compilation):  Kill nested_p argument.
283
284 2004-10-01  Kazu Hirata  <kazu@cs.umass.edu>
285
286         * tree-cfg.c (cleanup_tree_cfg): Pull a call to
287         cleanup_control_flow() out of the while loop.
288
289 2004-10-01  Paolo Bonzini  <bonzini@gnu.org>
290
291         * tree-vectorizer.c (vectorizable_operation): Fail unless
292         the mode for the vector type is indeed a vector mode.
293
294 2004-10-01  Zdenek Dvorak  <dvorakz@suse.cz>
295
296         * tree-chrec.c (chrec_fold_plus_poly_poly, chrec_fold_plus_1,
297         chrec_fold_multiply): Use fold_convert or build_int_cst_type instead
298         of convert.
299         * tree-scalar-evolution.c (compute_overall_effect_of_inner_loop,
300         add_to_evolution, set_nb_iterations_in_loop, follow_ssa_edge_in_rhs,
301         follow_ssa_edge_in_rhs): Ditto.
302         * tree-ssa-loop-ivopts.c (struct iv): Add base_object field.
303         (dump_iv): Dump base_object.
304         (dump_use, dump_cand): Use dump_iv.
305         (determine_base_object): New function.
306         (alloc_iv): Initialize base_object field.
307         (record_use): Clear the ssa_name field of iv.
308         (get_computation_cost_at): Do not use difference of addresses of
309         two different objects.
310         (may_eliminate_iv): Do not require the loop to have just single exit.
311         * tree-ssa-loop-niter.c (zero_p): Do not check for overflows.
312         (nonzero_p): New function.
313         (inverse, number_of_iterations_cond, simplify_using_outer_evolutions,
314         tree_simplify_using_condition, simplify_using_initial_conditions,
315         loop_niter_by_eval, find_loop_niter_by_eval,
316         estimate_numbers_of_iterations_loop, compare_trees,
317         upper_bound_in_type, lower_bound_in_type,
318         can_count_iv_in_wider_type_bound): Use buildN instead of build.  Use
319         fold_convert or build_int_cst_type instead of convert.  Use (non)zero_p
320         instead of integer_(non)zerop.
321
322 2004-10-01  Jakub Jelinek  <jakub@redhat.com>
323
324         Revert
325         2004-09-29  Jakub Jelinek  <jakub@redhat.com>
326
327         * tree.h (enum tree_index): Add TI_VA_LIST_GPR_COUNTER_FIELD
328         and TI_VA_LIST_FPR_COUNTER_FIELD.
329         (va_list_gpr_counter_field, va_list_fpr_counter_field): Define.
330         * tree-pass.h (pass_stdarg): Add.
331         * tree-optimize.c (init_tree_optimization_passes): Add pass_stdarg.
332         * tree-stdarg.c: New file.
333         * Makefile.in (OBJS-common): Add tree-stdarg.o.
334         (tree-stdarg.o): Add dependencies.
335         * function.h (struct function): Add va_list_gpr_size and
336         va_list_fpr_size fields.
337         * function.c (allocate_struct_function): Initialize them.
338
339         * config/i386/i386.c (ix86_build_builtin_va_list): Initialize
340         va_list_{g,f}pr_counter_field.
341         (ix86_setup_incoming_varargs): Don't do anything if reg_save
342         area will not be used.  Only save registers that tree-stdarg.c
343         detected they need saving.
344         (ix86_va_start): Don't set up fields that won't be used.
345
346         * config/rs6000/rs6000.c (rs6000_build_builtin_va_list): Initialize
347         va_list_{g,f}pr_counter_field.
348         (setup_incoming_varargs): Don't do anything if reg_save
349         area will not be used.  Only save registers that tree-stdarg.c
350         detected they need saving.
351         (rs6000_va_start): Don't set up fields that won't be used.
352
353 2004-09-30  Eric Christopher  <echristo@redhat.com>
354
355         * dwarf2.h (dwarf_calling_convention): Add enum for renesas
356         sh abi.
357         * dwarf2out.c (add_calling_convention_attribute): New function.
358         (gen_subroutine_type_die): Use.
359         * target-def.h (TARGET_DWARF_CALLING_CONVENTION): New hook.
360         * target.h (gcc_target): Add dwarf_calling_convention.
361         * hooks.c (hook_int_tree_0): New function.
362         * hooks.h: Prototype.
363         * config/sh/sh.c: Include dwarf2.h.
364         (sh_dwarf_calling_convention): New function.
365         (TARGET_DWARF_CALLING_CONVENTION): Use.
366         * doc/tm.texi (TARGET_DWARF_CALLING_CONVENTION): Document.
367
368 2004-09-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
369
370         * builtins.c (expand_builtin_strstr, expand_builtin_strchr,
371         expand_builtin_strrchr, expand_builtin_strpbrk,
372         expand_builtin_strncat, expand_builtin_strspn,
373         expand_builtin_strcspn, expand_builtin_fputs): Eliminate duplicate
374         code.
375
376 2004-09-30  Ulrich Weigand  <uweigand@de.ibm.com>
377
378         * config/s390/s390-protos.h (s390_expand_logical_operator): Add
379         prototype.
380         (s390_logical_operator_ok_p): Likewise.
381         * config/s390/s390.c (s390_expand_logical_operator): New function.
382         (s390_logical_operator_ok_p): Likewise.
383         * config/s390/s390.md ("anddi3"): New expander.
384         ("*anddi3"): Rename from old anddi3 pattern, add Q->Q alternative.
385         ("*anddi3_ss", "*anddi3_ss_inv"): Remove.
386         ("andsi3"): Use s390_expand_logical_operator.
387         ("*andsi3_esa", "*andsi3_zarch"): Add Q->Q alternative.
388         ("*andsi3_ss", "*andsi3_ss_inv"): Remove.
389         ("andhi3"): New expander.
390         ("*andhi3_zarch", "*andhi3_esa"): New patterns.
391         ("andhi3", "*andhi3_ni", "*andhi3_ss", "*andhi3_ss_inv"): Remove.
392         ("andqi3"): New expander.
393         ("*andqi3_zarch", "*andqi3_esa"): New patterns.
394         ("andqi3", "*andqi3_ni", "*andqi3_ss", "*andqi3_ss_inv"): Remove.
395         ("iordi3"): New expander.
396         ("*iordi3"): Rename from old iordi3 pattern, add Q->Q alternative.
397         ("*iordi3_ss", "*iordi3_ss_inv"): Remove.
398         ("iorsi3"): Use s390_expand_logical_operator.
399         ("*iorsi3_esa", "*iorsi3_zarch"): Add Q->Q alternative.
400         ("*iorsi3_ss", "*iorsi3_ss_inv"): Remove.
401         ("iorhi3"): New expiorer.
402         ("*iorhi3_zarch", "*iorhi3_esa"): New patterns.
403         ("iorhi3", "*iorhi3_ni", "*iorhi3_ss", "*iorhi3_ss_inv"): Remove.
404         ("iorqi3"): New expiorer.
405         ("*iorqi3_zarch", "*iorqi3_esa"): New patterns.
406         ("iorqi3", "*iorqi3_ni", "*iorqi3_ss", "*iorqi3_ss_inv"): Remove.
407         ("xordi3"): New expander.
408         ("*xordi3"): Rename from old xordi3 pattern, add Q->Q alternative.
409         ("*xordi3_ss", "*xordi3_ss_inv"): Remove.
410         ("xorsi3"): New expander.
411         ("*xorsi3"): Rename from old xorsi3 pattern, add Q->Q alternative.
412         ("*xorsi3_ss", "*xorsi3_ss_inv"): Remove.
413         ("xorhi3"): New expander.
414         ("*xorqi3"): Rename from old xorhi3 pattern, add Q->Q alternative.
415         ("*xorhi3_ss", "*xorhi3_ss_inv"): Remove.
416         ("xorqi3"): New expander.
417         ("*xorqi3"): Rename from old xorqi3 pattern, add Q->Q alternative.
418         ("*xorqi3_ss", "*xorqi3_ss_inv"): Remove.
419
420 2004-09-30  Roger Sayle  <roger@eyesopen.com>
421
422         * combine.c (force_to_mode) <NE_EXPR>: Only convert the expression
423         (AND (NE FOO 0) CONST) into (AND FOO CONST) if FOO has the same
424         machine mode as the result.
425
426 2004-09-30  Ben Elliston  <bje@au.ibm.com>
427
428         PR bootstrap/17761
429         * lcm.c (optimize_mode_switching): Update to use EDGE_SUCC and
430         FOR_EACH_EDGE macros.
431
432 2004-09-30  Joseph S. Myers  <jsm@polyomino.org.uk>
433
434         * c-tree.h (readonly_error): Remove.
435         * c-typeck (enum lvalue_use): New.
436         (lvalue_or_else, readonly_error): Use it.  All callers changed.
437         (readonly_error): Make static.
438
439 2004-09-30  Jan Hubicka  <jh@suse.cz>
440
441         PR debug/13974
442         * cfgrtl.c (try_redirect_by_replacing_jump,
443         force_nonfallthru_and_redirect, commit_one_edge_insertion,
444         cfg_layout_merge_blocks):  Do not attach any line number information
445         to newly inserted instructions.
446         * emit-rtl.c (emit_insn*_before, emit_insn*_after): Rename to
447         emit_insn_*_noloc.
448         (emit_*insn_before, emit_insn*_after): New.
449         (emit_*insn_before_setloc, emit_*insn_after_setloc): Do not overwrite
450         existing locators.
451         * rtl.h (emit_*insn_before_noloc, emit_*insn_after_noloc): Declare.
452         (emit_*insn_before_sameloc, emit_*insn_after_sameloc): Kill.
453
454 2004-09-30  Ulrich Weigand  <uweigand@de.ibm.com>
455
456         * config/s390/s390-protos.h (s390_arg_frame_offset): Remove.
457         (s390_return_address_offset): Remove.
458         (s390_can_eliminate): Add prototype.
459         (s390_initial_elimination_offset): Add prototype.
460         * config/s390/s390.h (CAN_ELIMINATE): Call s390_can_eliminate.
461         (INITIAL_ELIMINATION_OFFSET): Call s390_initial_elimination_offset.
462         * config/s390/s390.c (s390_arg_frame_offset): Remove.
463         (s390_return_address_offset): Remove.
464         (s390_can_eliminate, s390_initial_elimination_offset): New functions.
465         (struct machine_function): New member split_branches_pending_p.
466         (s390_mainpool_start): Allow nonexistant pool insn for empty pool.
467         (s390_mainpool_finish): Likewise.  Clear base_reg if pool empty.
468         (s390_optimize_prologue): Remove base_used argument.  Call
469         s390_update_frame_layout instead of s390_register_info.  Handle
470         prologue/epilogue insns that touch only RETURN_REGNUM.
471         (s390_reorg): Remove base_used.  Clear split_branches_pending_p.
472         (s390_register_info): Remove base_used and return_addr_used
473         arguments, compute special register usage inline.  Return live
474         register data to caller.
475         (s390_frame_info): Remove arguments, do not call s390_register_info.
476         (s390_init_frame_layout): New function.
477         (s390_update_frame_layout): Likewise.
478         (s390_emit_prologue): Call s390_update_frame_layout; some code
479         move to there.  Do not emit pool placeholder insn if unnecessary.
480
481 2004-09-30  Ulrich Weigand  <uweigand@de.ibm.com>
482
483         * config/s390/s390.c (legitimate_reload_constant_p): Remove
484         floating point constant workaround.
485         (s390_secondary_input_reload_class): Handle PLUS reloads
486         with too-large constant.
487         (s390_expand_plus_operand): Likewise.
488         * config/s390/s390.md ("movdi"): Do not call force_const_mem.
489         ("movsi"): Likewise.  Also, remove workaround for non-general
490         operands.
491         ("movdf"): Do not call force_const_mem.
492         ("movsf"): Likewise.  Merge expander with *movsf insn.
493         ("*movsf"): Remove, merge with movsf expander.
494
495 2004-09-30  Paul Brook  <paul@codesourcery.com>
496
497         * config/arm/symbian.h (STARTFILE_SPEC): Remove crt*.o.
498         (ENDFILE_SPEC): Define.
499         * config/arm/t-symbian.h (EXTRA_MULTILIB_PARTS): Set.
500
501 2004-09-30  Richard Henderson  <rth@redhat.com>
502
503         * config/alpha/qrnnd.asm: Mark for noexecstack.
504
505 2004-09-30  Kazu Hirata  <kazu@cs.umass.edu>
506
507         * protoize.c, tree-cfg.c: Fix comment typos.
508
509 2004-09-30  Joseph S. Myers  <jsm@polyomino.org.uk>
510
511         PR c/17730
512         * c-typeck.c (lvalue_or_else): Pass msgid directly to error.
513
514 2004-09-30  Diego Novillo  <dnovillo@redhat.com>
515
516         * tree-ssa-alias.c (collect_points_to_info_r): Move analysis of
517         expressions...
518         (add_pointed_to_expr): ... here.
519         Call add_pointed_to_expr for variables with DECL_INITIAL set.
520         * tree-dfa.c (add_referenced_var): Scan DECL_INITIAL of any
521         pointer variable, if set.
522
523 2004-09-30  Kazu Hirata  <kazu@cs.umass.edu>
524
525         * config/sh/sh.c: Follow spelling conventions.
526
527 2004-09-29  Richard Henderson  <rth@redhat.com>
528
529         * unwind-dw2.c (_Unwind_GetGR): Honor DWARF_ZERO_REG.
530         * doc/tm.texi (DWARF_ZERO_REG): New.
531
532         * config/alpha/alpha.c (alpha_sa_mask, alpha_expand_prologue,
533         alpha_expand_epilogue): Revert 2003-09-30 change to store zero.
534         * config/alpha/alpha.h (DWARF_ZERO_REG): New.
535
536 2004-09-29  Ulrich Weigand  <uweigand@de.ibm.com>
537
538         * builtins.c (expand_builtin_strlen): Do not call emit_move_insn
539         with a PLUS as source operand.
540         (expand_movstr): Likewise.
541         (expand_builtin_stpcpy): Likewise.
542
543 2004-09-29  Richard Henderson  <rth@redhat.com>
544
545         PR 17739
546         * tree-gimple.c (is_gimple_reg): Reject hard registers.
547         (is_gimple_asm_val): New.
548         * tree-gimple.h (is_gimple_asm_val): Declare.
549         * gimplify.c (gimplify_asm_expr): Use it.
550         * tree-pretty-print.c (print_declaration): Dump hard regs.
551         * tree-outof-ssa.c (check_replaceable): Don't check for hard regs.
552         * tree-ssa-copyrename.c (copy_rename_partition_coalesce): Likewise.
553         * tree-ssa-pre.c (is_undefined_value): Likewise.
554         * tree-ssa-copy.c (may_propagate_copy): Likewise.
555         (may_propagate_copy_into_asm): Protect DECL_HARD_REGISTER.
556         * tree-ssa.c (warn_uninit): Likewise.
557         * tree.h (DECL_HARD_REGISTER): Check for VAR_DECL.
558
559 2004-09-29  Fariborz Jahanian <fjahanian@apple.com>
560
561         * c-decl.c (merge_decls): Use comptype when comparing
562         types to decide on DECL_SIZE save of olddecl.
563
564 2004-09-29  Daniel Berlin  <dberlin@dberlin.org>
565
566         * tree.h (INDIRECT_REF_P): New macro.
567         * alias.c (get_alias_set): Use it
568         (nonoverlapping_memrefs_p): Ditto.
569         * emit-rtl.c (mem_expr_equal_p): Ditto.
570         (set_mem_attributes_minus_bitpos): Ditto.
571         (is_gimple_addressable): Ditto.
572         (get_base_address): Ditto.
573         * tree-ssa-alias.c (find_ptr_derefernece): Ditto.
574         * tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Ditto.
575         * tree-ssa-dom.c (record_equivalences_from_stmt): Ditto.
576         * tree-ssa-loop-im.c (is_call_clobbered_ref): Ditto.
577         * tree-ssa-loop-ivopts.c (find_interesting_uses_address): Ditto.
578         (add_address_candidates): Ditto.
579         (rewrite_address_base): Ditto.
580
581 2004-09-30  Ben Elliston  <bje@au.ibm.com>
582
583         * tree-flow.h (struct bb_ann_d): Remove num_preds member.
584         * tree-into-ssa.c (rewrite_into_ssa): Don't set it.
585         (rewrite_ssa_into_ssa): Likewise.
586         * tree-phinodes.c (create_phi_node): Access the number of
587         predecessor edges using EDGE_COUNT() and not num_preds.
588
589 2004-09-29  Joseph S. Myers  <jsm@polyomino.org.uk>
590
591         PR c/7425
592         * c-decl.c (merge_decls): Merge TREE_DEPRECATED.
593
594 2004-09-29  Eric Christopher  <echristo@redhat.com>
595
596         * fold-const.c (tree_swap_operands_p): Remove duplicated code.
597
598 2004-09-29  Hans-Peter Nilsson  <hp@axis.com>
599
600         * config/cris/cris.md (moverside, movemside): With MEM, make sure
601         the address is (plus reg mem).
602
603 2004-09-29  David Edelsohn  <edelsohn@gnu.org>
604
605         * config/rs6000/linux64.h (PROCESSOR_DEFAULT): Define.
606
607 2004-09-29  Nathan Sidwell  <nathan@codesourcery.com>
608
609         * tree.c (make_node_stat): Fix uninitialized warning.  Replace
610         cascaded if ... else if with a switch.
611
612 2004-09-29  Aaron W. LaFramboise  <aaronavay62@aaronwl.com>
613
614         * read-rtl.c (apply_macro_to_string): Replace index with strchr.
615
616 2004-09-29  Jakub Jelinek  <jakub@redhat.com>
617
618         * tree.h (enum tree_index): Add TI_VA_LIST_GPR_COUNTER_FIELD
619         and TI_VA_LIST_FPR_COUNTER_FIELD.
620         (va_list_gpr_counter_field, va_list_fpr_counter_field): Define.
621         * tree-pass.h (pass_stdarg): Add.
622         * tree-optimize.c (init_tree_optimization_passes): Add pass_stdarg.
623         * tree-stdarg.c: New file.
624         * Makefile.in (OBJS-common): Add tree-stdarg.o.
625         (tree-stdarg.o): Add dependencies.
626         * function.h (struct function): Add va_list_gpr_size and
627         va_list_fpr_size fields.
628         * function.c (allocate_struct_function): Initialize them.
629
630         * config/i386/i386.c (ix86_build_builtin_va_list): Initialize
631         va_list_{g,f}pr_counter_field.
632         (ix86_setup_incoming_varargs): Don't do anything if reg_save
633         area will not be used.  Only save registers that tree-stdarg.c
634         detected they need saving.
635         (ix86_va_start): Don't set up fields that won't be used.
636
637         * config/rs6000/rs6000.c (rs6000_build_builtin_va_list): Initialize
638         va_list_{g,f}pr_counter_field.
639         (setup_incoming_varargs): Don't do anything if reg_save
640         area will not be used.  Only save registers that tree-stdarg.c
641         detected they need saving.
642         (rs6000_va_start): Don't set up fields that won't be used.
643
644 2004-09-29  Jakub Jelinek  <jakub@redhat.com>
645
646         * builtins.def (BUILT_IN_FPUTC, BUILT_IN_FPUTC_UNLOCKED,
647         BUILT_IN_FPUTS, BUILT_IN_FPUTS_UNLOCKED, BUILT_IN_FWRITE,
648         BUILT_IN_FWRITE_UNLOCKED, BUILT_IN_PUTCHAR, BUILT_IN_PUTCHAR_UNLOCKED,
649         BUILT_IN_PUTS, BUILT_IN_PUTS_UNLOCKED): Remove nothrow attribute.
650         * builtin-attrs.def (ATTR_NONNULL_1, ATTR_NONNULL_2, ATTR_NONNULL_1_2,
651         ATTR_NONNULL_1_4): New.
652
653 2004-09-29  Jakub Jelinek  <jakub@redhat.com>
654
655         PR tree-optimization/17697
656         * tree-ssa-ccp.c (execute_fold_all_builtins): Update eh and cleanup
657         cfg if needed.
658
659 2004-09-28  Per Bothner  <per@bothner.com>
660
661         * profile.c (branch_prob): Pass correct value to output_location,
662         even when USE_MAPPED_LOCATION.  Fixes bug from 09-11.
663
664 2004-09-28  Richard Henderson  <rth@redhat.com>
665
666         PR 15089
667         * tree-ssa-copy.c (may_propagate_copy_into_asm): New.
668         * tree-flow.h (may_propagate_copy_into_asm): Declare.
669         * tree-ssa-ccp.c (replace_uses_in): Use it.
670         * tree-ssa-dom.c (cprop_operand): Likewise.
671
672 2004-09-28 Jeff Law  <law@redhat.com>
673
674         * tree-ssa-threadupdate.c (create_block_for_threading):  Request
675         that no outgoing edges be left in the duplicate block.  Do no
676         update information on outgoing edges or PHI nodes in target
677         blocks here.
678         (remove_ctrl_stmt_and_useless_edges): Renamed from
679         remove_last_stmt_and_useless_edges.  Handle case where the
680         block is empty or has no control statements.  Do not update edge
681         flags here.
682         (thread_block): Create a template block rather than copying the
683         original block every time.  Create outgoing edges from the
684         duplicate blocks and update PHIs at the target of the outgoing
685         edges here.  Fix edge flags for the original block if necessary.
686         * cfghooks (duplicate_block): No longer assert that the original
687         block has incoming edges.
688
689 2004-09-29  Hans-Peter Nilsson  <hp@bitrange.com>
690
691         * doc/extend.texi (Extended Asm): Add blurb about using Explicit
692         Reg Vars to enforce register allocation with general constraints.
693         (Explicit Reg Vars): Clarify relation to asm statements.
694         (Local Reg Vars): Similar.
695
696 2004-09-28  Ulrich Weigand  <uweigand@de.ibm.com>
697
698         * sched-rgn.c (haifa_edge, edge_table, NEXT_IN, NEXT_OUT, FROM_BLOCK,
699         TO_BLOCK, nr_edges, in_edges, out_edges, IN_EDGES, OUT_EDGES,
700         build_control_flow, new_edge): Remove.
701         (schedule_insns): Remove edge_table/in_edges/out_edges cleanup.
702         (bitlst, bitlst_table_last, bitlst_table): Remove.
703         (bblst): Store basic_block pointer instead of block index.
704         (bblst_table): Likewise.
705         (edgelst): Store edge pointer instead of edge index.
706         (edgelst_table, edgelst_last): New variables.
707         (extract_bitlst): Rename to ...
708         (extract_edgelst): ... this.  Return edge pointers, not indices.
709         (split_edges): Update call.
710         (rgn_edges): Store edge pointers instead of indices.
711         (edge_to_bit): Remove.
712         (EDGE_TO_BIT): Store per-region edge index in edge->aux.
713         (SET_EDGE_TO_BIT): New macro.
714         (is_cfg_nonregular): Check for simple cases of unreachable blocks.
715         (find_rgns): Remove edge_list parameter.  Traverse standard CFG
716         data structures instead of haifa_edge et al.  Use edge pointers
717         instead of edge indices everywhere.
718         (compute_dom_prob_ps): Use standard CFG data structures.  Account
719         for exit edges.
720         (compute_trg_info): Likewise.
721         (propagate_deps): Likewise.
722         (debug_candidate): Account for bblst data structure change.
723         (check_live_1, update_live_1, is_pfree): Likewise.
724         (IS_REACHABLE): Use standard CFG data structures.
725         (init_ready_list): Update bblst_table/edgelst_table allocation.
726         (schedule_region): Update alloc/cleanup code to data structure
727         changes.  Use edge->aux to store per-region edge index.
728         (init_regions): No longer call build_control_flow.  Do not
729         create edge list any more.
730
731 2004-09-28  Ulrich Weigand  <uweigand@de.ibm.com>
732
733         * cse.c (cse_insn): Avoid creating direct non-local jumps.
734         * combine.c (can_combine_p): Likewise.
735         * local-alloc. (update_equiv_regs): Likewise.
736
737 2004-09-28  Richard Henderson  <rth@redhat.com>
738
739         PR 17531
740         * expr.c (expand_expr_addr_expr_1): Only assemble_external for decls.
741         Don't check VOIDmode here.  Force PLUS operands to common type.
742         (expand_expr_addr_expr): Do VOIDmode check earlier.  Force use of
743         Pmode if given a non pointer type.
744
745 2004-09-28  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
746
747         PR 17531
748         * optabs.c (expand_binop): Force constants to the correct mode.
749
750 2004-09-28  Ulrich Weigand  <uweigand@de.ibm.com>
751
752         * config/s390/s390.c (s390_adjust_cost): Remove.
753         (TARGET_SCHED_ADJUST_COST): Do not redefine.
754         (s390_adjust_priority): Handle TYPE_STM like TYPE_STORE.
755         * config/s390/s390.md ("main_pool"): Use "larl" type
756         attribute if TARGET_CPU_ZARCH.
757
758 2004-09-28  Jakub Jelinek  <jakub@redhat.com>
759
760         * config/ia64/ia64.c (ia64_expand_prologue): Declare ei
761         variable.
762
763 2004-09-28  Diego Novillo  <dnovillo@redhat.com>
764
765         * tree-ssa-loop.c (pass_record_bounds): Do not assign a
766         name to the pass.
767
768 2004-09-28  Steven Bosscher  <stevenb@suse.de>
769
770         * common.opt (flag_gcse_sm): Disable by default.
771         (flag_gcse_las): Likewise.
772         (flag_web): Likewise.  Create from this file.
773         * flags.h: Remove flag_web declaration.
774         * toplev.c (flag_web): Likewise.
775         (process_options): Never set flag_web.
776
777 2004-09-28  Steven Bosscher  <stevenb@suse.de>
778
779         * Makefile.in (tree-ssa-propagate.o): Depend on vec.h.
780         * tree-ssa-propagate.c: Include vec.h.
781         (interesting_ssa_edges, varying_ssa_edges): Make these VECs
782         instead of varrays.
783         (cfg_blocks_add): Assert the block is not already in the worklist.
784         Update uses of interesting_ssa_edges and varying_ssa_edges.
785         (process_ssa_edge_worklist, ssa_prop_init, ssa_prop_fini,
786         ssa_propagate): Likewise.
787
788 2004-09-28  Joseph S. Myers  <jsm@polyomino.org.uk>
789
790         PR c/16409
791         * c-decl.c (start_decl): Check for initializing incomplete array
792         of VLAs.
793         (build_compound_literal): Check for TYPE being error_mark_node.
794         * c-parse.in (primary): Check for VLA compound literals.
795
796 2004-09-28  Diego Novillo  <dnovillo@redhat.com>
797
798         * tree-ssa-live.c (calculate_live_on_entry): Fix warnings
799         with --disable-checking.
800
801 2004-09-28  Devang Patel  <dpatel@apple.com>
802
803         * tree-pretty-print.c (dump_generic_node): Print vector types.
804
805 2004-09-28  Nick Clifton  <nickc@redhat.com>
806
807         * config/sh/sh.h (INIT_CUMULATIVE_ARGS): Replace with an
808         invocation of the function sh_init_cumulative_args.
809         (INIT_CUMULATIVE_LIBCALL_ARGS): Likewise.
810         (INIT_CUMULATIVE_INCOMING_ARGS): Delete.
811         * config/sh/sh-protos.h: Prototype sh_init_cumulative_args.
812         * config/sh/sh.c (sh_init_cumulative_args): New function based
813         on the contents of the old INIT_CUMULATIVE_ARGS macro but with a
814         heuristic added to determine the setting of force_mem when a
815         library function is being called.
816
817 2004-09-28  Diego Novillo  <dnovillo@redhat.com>
818
819         * tree-ssa-loop-im.c (single_reachable_address) <PHI_NODE>:
820         Skip constant arguments.
821
822 2004-09-28  Diego Novillo  <dnovillo@redhat.com>
823
824         * tree-ssa-alias.c (create_name_tags): If PTR points to a
825         volatile type, mark the tag volatile.
826         (get_tmt_for): If TAG_TYPE is a volatile type, mark the tag
827         volatile.
828
829 2004-09-28  Andrew Pinski  <pinskia@physics.uc.edu>
830
831         * tree.def (vec_cond_expr): Fix. Change 'e'
832         to tcc_expression.
833
834 2004-09-28  Kazu Hirata  <kazu@cs.umass.edu>
835
836         * basic-block.h: Fix a comment typo.
837
838 2004-09-28  Kazu Hirata  <kazu@cs.umass.edu>
839
840         * optabs.c, optabs.h: Fix comment typos.
841
842 2004-09-28  Eric Botcazou  <ebotcazou@act-europe.fr>
843
844         * config/sparc/sparc.md (call_address_struct_value_sp32):
845         Properly mask the immediate field of the 'unimp' instruction.
846         (call_symbolic_struct_value_sp32): Likewise.
847
848 2004-09-28  Ben Elliston  <bje@au.ibm.com>
849             Steven Bosscher  <stevenb@suse.de>
850             Andrew Pinski  <pinskia@physics.uc.edu>
851
852         Merge from edge-vector-branch:
853         * basic-block.h: Include vec.h, errors.h. Instantiate a VEC(edge).
854         (struct edge_def): Remove pred_next, succ_next members.
855         (struct basic_block_def): Remove pred, succ members.  Add preds
856         and succs members of type VEC(edge).
857         (FALLTHRU_EDGE): Redefine using EDGE_SUCC.
858         (BRANCH_EDGE): Likewise.
859         (EDGE_CRITICAL_P): Redefine using EDGE_COUNT.
860         (EDGE_COUNT, EDGE_I, EDGE_PRED, EDGE_SUCC): New.
861         (edge_iterator): New.
862         (ei_start, ei_last, ei_end_p, ei_one_before_end_p): New.
863         (ei_next, ei_prev, ei_edge, ei_safe_edge): Likewise.
864         (FOR_EACH_EDGE): New.
865         * bb-reorder.c (find_traces): Use FOR_EACH_EDGE and EDGE_* macros
866         where applicable.
867         (rotate_loop): Likewise.
868         (find_traces_1_route): Likewise.
869         (bb_to_key): Likewise.
870         (connect_traces): Likewise.
871         (copy_bb_p): Likewise.
872         (find_rarely_executed_basic_blocks_and_crossing_edges): Likewise.
873         (add_labels_and_missing_jumps): Likewise.
874         (fix_up_fall_thru_edges): Likewise.
875         (find_jump_block): Likewise.
876         (fix_crossing_conditional_branches): Likewise.
877         (fix_crossing_unconditional_branches): Likewise.
878         (add_reg_crossing_jump_notes): Likewise.
879         * bt-load.c (augment_live_range): Likewise.
880         * cfg.c (clear_edges): Likewise.
881         (unchecked_make_edge): Likewise.
882         (cached_make_edge): Likewise.
883         (make_single_succ_edge): Likewise.
884         (remove_edge): Likewise.
885         (redirect_edge_succ_nodup): Likewise.
886         (check_bb_profile): Likewise.
887         (dump_flow_info): Likewise.
888         (alloc_aux_for_edges): Likewise.
889         (clear_aux_for_edges): Likewise.
890         (dump_cfg_bb_info): Likewise.
891         * cfganal.c (forwarder_block_p): Likewise.
892         (can_fallthru): Likewise.
893         (could_fall_through): Likewise.
894         (mark_dfs_back_edges): Likewise.
895         (set_edge_can_fallthru_flag): Likewise.
896         (find_unreachable_blocks): Likewise.
897         (create_edge_list): Likewise.
898         (verify_edge_list): Likewise.
899         (add_noreturn_fake_exit_edges): Likewise.
900         (connect_infinite_loops_to_exit): Likewise.
901         (flow_reverse_top_sort_order_compute): Likewise.
902         (flow_depth_first_order_compute): Likewise.
903         (flow_preorder_transversal_compute): Likewise.
904         (flow_dfs_compute_reverse_execute): Likewise.
905         (dfs_enumerate_from): Likewise.
906         (compute_dominance_frontiers_1): Likewise.
907         * cfgbuild.c (make_edges): Likewise.
908         (compute_outgoing_frequencies): Likewise.
909         (find_many_sub_basic_blocks): Likewise.
910         (find_sub_basic_blocks): Likewise.
911         * cfgcleanup.c (try_simplify_condjump): Likewise.
912         (thread_jump): Likewise.
913         (try_forward_edges): Likewise.
914         (merge_blocks_move): Likewise.
915         (outgoing_edges_match): Likewise.
916         (try_crossjump_to_edge): Likewise.
917         (try_crossjump_bb): Likewise.
918         (try_optimize_cfg): Likewise.
919         (merge_seq_blocks): Likewise.
920         * cfgexpand.c (expand_gimple_tailcall): Likewise.
921         (expand_gimple_basic_block): Likewise.
922         (construct_init_block): Likewise.
923         (construct_exit_block): Likewise.
924         * cfghooks.c (verify_flow_info): Likewise.
925         (dump_bb): Likewise.
926         (delete_basic_block): Likewise.
927         (split_edge): Likewise.
928         (merge_blocks): Likewise.
929         (make_forwarder_block): Likewise.
930         (tidy_fallthru_edges): Likewise.
931         (can_duplicate_block_p): Likewise.
932         (duplicate_block): Likewise.
933         * cfglayout.c (fixup_reorder_chain): Likewise.
934         (fixup_fallthru_exit_predecessor): Likewise.
935         (can_copy_bbs_p): Likewise.
936         (copy_bbs): Likewise.
937         * cfgloop.c (flow_loops_cfg_dump): Likewise.
938         (flow_loop_entry_edges_find): Likewise.
939         (flow_loop_exit_edges_find): Likewise.
940         (flow_loop_nodes_find): Likewise.
941         (mark_single_exit_loops): Likewise.
942         (flow_loop_pre_header_scan): Likewise.
943         (flow_loop_pre_header_find): Likewise.
944         (update_latch_info): Likewise.
945         (canonicalize_loop_headers): Likewise.
946         (flow_loops_find): Likewise.
947         (get_loop_body_in_bfs_order): Likewise.
948         (get_loop_exit_edges): Likewise.
949         (num_loop_branches): Likewise.
950         (verify_loop_structure): Likewise.
951         (loop_latch_edge): Likewise.
952         (loop_preheader_edge): Likewise.
953         * cfgloopanal.c (mark_irreducible_loops): Likewise.
954         (expected_loop_iterations): Likewise.
955         * cfgloopmanip.c (remove_bbs): Likewise.
956         (fix_bb_placement): Likewise.
957         (fix_irreducible_loops): Likewise.
958         (remove_path): Likewise.
959         (scale_bbs_frequencies): Likewise.
960         (loopify): Likewise.
961         (unloop): Likewise.
962         (fix_loop_placement): Likewise.
963         (loop_delete_branch_edge): Likewise.
964         (duplicate_loop_to_header_edge): Likewise.
965         (mfb_keep_just): Likewise.
966         (create_preheader): Likewise.
967         (force_single_succ_latches): Likewise.
968         (loop_split_edge_with): Likewise.
969         (create_loop_notes): Likewise.
970         * cfgrtl.c (rtl_split_block): Likewise.
971         (rtl_merge_blocks): Likewise.
972         (rtl_can_merge_blocks): Likewise.
973         (try_redirect_by_replacing_jump): Likewise.
974         (force_nonfallthru_and_redirect): Likewise.
975         (rtl_tidy_fallthru_edge): Likewise.
976         (commit_one_edge_insertion): Likewise.
977         (commit_edge_insertions): Likewise.
978         (commit_edge_insertions_watch_calls): Likewise.
979         (rtl_verify_flow_info_1): Likewise.
980         (rtl_verify_flow_info): Likewise.
981         (purge_dead_edges): Likewise.
982         (cfg_layout_redirect_edge_and_branch): Likewise.
983         (cfg_layout_can_merge_blocks_p): Likewise.
984         (rtl_flow_call_edges_add): Likewise.
985         * cse.c (cse_cc_succs): Likewise.
986         * df.c (hybrid_search): Likewise.
987         * dominance.c (calc_dfs_tree_nonrec): Likewise.
988         (calc_dfs_tree): Likewise.
989         (calc_idoms): Likewise.
990         (recount_dominator): Likewise.
991         * domwalk.c (walk_dominator_tree): Likewise.
992         * except.c (emit_to_new_bb_before): Likewise.
993         (connect_post_landing_pads): Likewise.
994         (sjlj_emit_function_enter): Likewise.
995         (sjlj_emit_function_exit): Likewise.
996         (finish_eh_generation): Likewise.
997         * final.c (compute_alignments): Likewise.
998         * flow.c (calculate_global_regs_live): Likewise.
999         (initialize_uninitialized_subregs): Likewise.
1000         (init_propagate_block_info): Likewise.
1001         * function.c (thread_prologue_and_epilogue_insns): Likewise.
1002         * gcse.c (find_implicit_sets): Likewise.
1003         (bypass_block): Likewise.
1004         (bypass_conditional_jumps): Likewise.
1005         (compute_pre_data): Likewise.
1006         (insert_insn_end_bb): Likewise.
1007         (insert_store): Likewise.
1008         (remove_reachable_equiv_notes): Likewise.
1009         * global.c (global_conflicts): Likewise.
1010         (calculate_reg_pav): Likewise.
1011         * graph.c (print_rtl_graph_with_bb): Likewise.
1012         * ifcvt.c (mark_loop_exit_edges): Likewise.
1013         (merge_if_block): Likewise.
1014         (find_if_header): Likewise.
1015         (block_jumps_and_fallthru_p): Likewise.
1016         (find_if_block): Likewise.
1017         (find_cond_trap): Likewise.
1018         (block_has_only_trap): Likewise.
1019         (find_if_case1): Likewise.
1020         (find_if_case_2): Likewise.
1021         * lambda-code.c (lambda_loopnest_to_gcc_loopnest): Likewise.
1022         (perfect_nestify): Likewise.
1023         * lcm.c (compute_antinout_edge): Likewise.
1024         (compute_laterin): Likewise.
1025         (compute_available): Likewise.
1026         (compute_nearerout): Likewise.
1027         * loop-doloop.c (doloop_modify): Likewise.
1028         * loop-init.c (loop_optimizer_init): Likewise.
1029         * loop-invariant.c (find_exits): Likewise.
1030         * loop-iv.c (simplify_using_initial_values): Likewise.
1031         (check_simple_exit): Likewise.
1032         (find_simple_exit): Likewise.
1033         * loop-unroll.c (peel_loop_completely): Likewise.
1034         (unroll_loop_constant_iterations): Likewise.
1035         (unroll_loop_runtime_iterations): Likewise.
1036         * loop-unswitch.c (may_unswitch_on): Likewise.
1037         (unswitch_loop): Likewise.
1038         * modulo-sched.c (generate_prolog_epilog): Likewise.
1039         (sms_schedule): Likewise.
1040         * postreload-gcse.c (eliminate_partially_redundant_load):
1041         Likewise.
1042         * predict.c (can_predict_insn_p): Likewise.
1043         (set_even_probabilities): Likewise.
1044         (combine_predictions_for_bb): Likewise.
1045         (predict_loops): Likewise.
1046         (estimate_probability): Likewise.
1047         (tree_predict_by_opcode): Likewise.
1048         (tree_estimate_probability): Likewise.
1049         (last_basic_block_p): Likewise.
1050         (propagate_freq): Likewise.
1051         (estimate_loops_at_level): Likewise.
1052         (estimate_bb_frequencies): Likewise.
1053         * profile.c (instrument_edges): Likewise.
1054         (get_exec_counts): Likewise.
1055         (compute_branch_probabilities): Likewise.
1056         (branch_prob): Likewise.
1057         * ra-build.c (live_in): Likewise.
1058         * ra-rewrite.c (rewrite_program2): Likewise.
1059         * ra.c (reg_alloc): Likewise.
1060         * reg-stack.c (reg_to_stack): Likewise.
1061         (convert_regs_entry): Likewise.
1062         (compensate_edge): Likewise.
1063         (convert_regs_1): Likewise,
1064         (convert_regs_2): Likewise.
1065         (convert_regs): Likewise.
1066         * regrename.c (copyprop_hardreg_forward): Likewise.
1067         * reload1.c (fixup_abnormal_edges): Likewise.
1068         * sbitmap.c (sbitmap_intersection_of_succs): Likewise.
1069         (sbitmap_insersection_of_preds): Likewise.
1070         (sbitmap_union_of_succs): Likewise.
1071         (sbitmap_union_of_preds): Likewise.
1072         * sched-ebb.c (compute_jump_reg_dependencies): Likewise.
1073         (fix_basic_block_boundaries): Likewise.
1074         (sched_ebbs): Likewise.
1075         * sched-rgn.c (build_control_flow): Likewise.
1076         (find_rgns): Likewise.
1077         * tracer.c (find_best_successor): Likewise.
1078         (find_best_predecessor): Likewise.
1079         (tail_duplicate): Likewise.
1080         * tree-cfg.c (make_edges): Likewise.
1081         (make_ctrl_stmt_edges): Likewise.
1082         (make_goto_expr_edges): Likewise.
1083         (tree_can_merge_blocks_p): Likewise.
1084         (tree_merge_blocks): Likewise.
1085         (cfg_remove_useless_stmts_bb): Likewise.
1086         (remove_phi_nodes_and_edges_for_unreachable_block): Likewise.
1087         (tree_block_forwards_to): Likewise.
1088         (cleanup_control_expr_graph): Likewise.
1089         (find_taken_edge): Likewise.
1090         (dump_cfg_stats): Likewise.
1091         (tree_cfg2vcg): Likewise.
1092         (disband_implicit_edges): Likewise.
1093         (tree_find_edge_insert_loc): Likewise.
1094         (bsi_commit_edge_inserts): Likewise.
1095         (tree_split_edge): Likewise.
1096         (tree_verify_flow_info): Likewise.
1097         (tree_make_forwarder_block): Likewise.
1098         (tree_forwarder_block_p): Likewise.
1099         (thread_jumps): Likewise.
1100         (tree_try_redirect_by_replacing_jump): Likewise.
1101         (tree_split_block): Likewise.
1102         (add_phi_args_after_copy_bb): Likewise.
1103         (rewrite_to_new_ssa_names_bb): Likewise.
1104         (dump_function_to_file): Likewise.
1105         (print_pred_bbs): Likewise.
1106         (print_loop): Likewise.
1107         (tree_flow_call_edges_add): Likewise.
1108         (split_critical_edges): Likewise.
1109         (execute_warn_function_return): Likewise.
1110         (extract_true_false_edges_from_block): Likewise.
1111         * tree-if-conv.c (tree_if_conversion): Likewise.
1112         (if_convertable_bb_p): Likewise.
1113         (find_phi_replacement_condition): Likewise.
1114         (combine_blocks): Likewise.
1115         * tree-into-ssa.c (compute_global_livein): Likewise.
1116         (ssa_mark_phi_uses): Likewise.
1117         (ssa_rewrite_initialize_block): Likewise.
1118         (rewrite_add_phi_arguments): Likewise.
1119         (ssa_rewrite_phi_arguments): Likewise.
1120         (insert_phi_nodes_for): Likewise.
1121         (rewrite_into_ssa): Likewise.
1122         (rewrite_ssa_into_ssa): Likewise.
1123         * tree-mudflap.c (mf_build_check_statement_for): Likewise.
1124         * tree-outof-ssa.c (coalesce_abnormal_edges): Likewise.
1125         (rewrite_trees): Likewise.
1126         * tree-pretty-print.c (dump_bb_header): Likewise.
1127         (dump_implicit_edges): Likewise.
1128         * tree-sra.c (insert_edge_copies): Likewise.
1129         (find_obviously_necessary_stmts): Likewise.
1130         (remove_data_stmt): Likewise.
1131         * tree-ssa-dom.c (thread_across_edge): Likewise.
1132         (dom_opt_finalize_block): Likewise.
1133         (single_incoming_edge_ignoring_loop_edges): Likewise.
1134         (record_equivalences_from_incoming_edges): Likewise.
1135         (cprop_into_successor_phis): Likewise.
1136         * tree-ssa-live.c (live_worklist): Likewise.
1137         (calculate_live_on_entry): Likewise.
1138         (calculate_live_on_exit): Likewise.
1139         * tree-ssa-loop-ch.c (should_duplicate_loop_header_p): Likewise.
1140         (copy_loop_headers): Likewise.
1141         * tree-ssa-loop-im.c (loop_commit_inserts): Likewise.
1142         (fill_always_executed_in): Likewise.
1143         * tree-ssa-loop-ivcanon.c (create_canonical_iv): Likewise.
1144         * tree-ssa-loop-ivopts.c (find_interesting_uses): Likewise.
1145         (compute_phi_arg_on_exit): Likewise.
1146         * tree-ssa-loop-manip.c (add_exit_phis_edge): Likewise.
1147         (get_loops_exit): Likewise.
1148         (split_loop_exit_edge): Likewise.
1149         (ip_normal_pos): Likewise.
1150         * tree-ssa-loop-niter.c (simplify_using_initial_conditions):
1151         Likewise.
1152         * tree-ssa-phiopt.c (candidate_bb_for_phi_optimization): Likewise.
1153         (replace_phi_with_stmt): Likewise.
1154         (value_replacement): Likewise.
1155         * tree-ssa-pre.c (compute_antic_aux): Likewise.
1156         (insert_aux): Likewise.
1157         (init_pre): Likewise.
1158         * tree-ssa-propagate.c (simulate_stmt): Likewise.
1159         (simulate_block): Likewise.
1160         (ssa_prop_init): Likewise.
1161         * tree-ssa-threadupdate.c (thread_block): Likewise.
1162         (create_block_for_threading): Likewise.
1163         (remove_last_stmt_and_useless_edges): Likewise.
1164         * tree-ssa.c (verify_phi_args): Likewise.
1165         (verify_ssa): Likewise.
1166         * tree_tailcall.c (independent_of_stmt_p): Likewise.
1167         (find_tail_calls): Likewise.
1168         (eliminate_tail_call): Likewise.
1169         (tree_optimize_tail_calls_1): Likewise.
1170         * tree-vectorizer.c (vect_transform_loop): Likewise.
1171         * var-tracking.c (prologue_stack_adjust): Likewise.
1172         (vt_stack_adjustments): Likewise.
1173         (vt_find_locations): Likewise.
1174         * config/frv/frv.c (frv_ifcvt_modify_tests): Likewise.
1175         * config/i386/i386.c (ix86_pad_returns): Likewise.
1176         * config/ia64/ia64.c (ia64_expand_prologue): Likewise.
1177         * config/rs6000/rs6000.c (rs6000_emit_prologue): Likewise.
1178
1179 2004-09-28  Eric Botcazou  <ebotcazou@libertysurf.fr>
1180
1181         PR target/16532
1182         * config/sparc/sparc.c (struct machine_function): New field
1183         'leaf_function_p' and 'prologue_data_valid_p'.
1184         (sparc_leaf_function_p, sparc_prologue_data_valid_p): New macro
1185         to conveniently access the above fields.
1186         (TARGET_LATE_RTL_PROLOGUE_EPILOGUE): Delete.
1187         (eligible_for_return_delay): Use 'sparc_leaf_function_p' instead
1188         of the generic flavor 'current_function_uses_only_leaf_regs'.
1189         (eligible_for_sibcall_delay): Likewise.
1190         (sparc_expand_prologue): Compute 'sparc_leaf_function_p' and set
1191         'sparc_prologue_data_valid_p'.  Use 'sparc_leaf_function_p'.
1192         (sparc_asm_function_prologue): Add sanity check for the assumption
1193         made in 'sparc_expand_prologue'.  Use 'sparc_leaf_function_p'.
1194         (sparc_can_use_return_insn_p): New function.
1195         (sparc_expand_epilogue): Use 'sparc_leaf_function_p'.
1196         (output_restore): Likewise.
1197         (output_sibcall): Likewise.
1198         (sparc_output_mi_thunk): Likewise.
1199         * config/sparc/sparc-protos.h (sparc_can_use_return_insn_p): Declare.
1200         * config/sparc/sparc.md (return): New expander.
1201
1202         * config/sparc/sparc.h (INITIAL_ELIMINATION_OFFSET): Minor tweak.
1203
1204 2004-09-27  Mark Mitchell  <mark@codesourcery.com>
1205
1206         PR c++/17642
1207         * stor-layout.c (layout_decl): Use fold_convert, not convert.
1208         (bit_from_pos): Likewise.
1209         (byte_from_pos): Likewise.
1210         (pos_from_bit): Likewise.
1211         (normalize_offset): Likewise.
1212         (place_field): Likewise.
1213         (finalize_type_size): Likewise.
1214         (layout_type): Likewise.
1215         * tree.c (build_index_type): Likewise.
1216
1217 2004-09-27  Devang Patel  <dpatel@apple.com>
1218
1219         * expr.c (expand_expr_real_1): Handle VEC_COND_EXPR.
1220         * genopinit.c (optabs): New entry for vcond_gen_code and
1221         vcondu_gen_code.
1222         * optabs.c (vcond_gen_code, vcondu_gen_code): New optabs.
1223         (get_rtx_code): New function.
1224         (vector_compare_rtx): New function.
1225         (init_optabs): Initialize vcond_gen_code and vcondu_gen_code.
1226         (expand_vec_cond_expr_p): New function.
1227         (expand_vec_cond_expr): New function.
1228         (get_vcond_icode): New function.
1229         * optabs.h (expand_vec_cond_expr, expand_vec_cond_expr_p): New externs.
1230         (vcond_gen_code, vcondu_gen_code): Same.
1231
1232 2004-09-27  Kelley Cook  <kcook@gcc.gnu.org>
1233
1234         * Makefile.in (STAGESTUFF): Split into ...
1235         (STAGECOPYSTUFF, STAGEMOVESTUFF): ... these.
1236         (mostlyclean): Update.
1237         (stage1-start, stage2-start, stage3-start, stage4-start,
1238         stageprofile-start, stagefeedback-start): Copy the STAGECOPYSTUFF.
1239         Move the STAGEMOVESTUFF.
1240
1241 2004-09-27  Eric Botcazou  <ebotcazou@libertysurf.fr>
1242
1243         * system.h (getpagesize): Return 'int' instead of 'long'.
1244
1245 2004-09-27  Michael Matz <matz@suse.de>
1246
1247         PR bootstrap/17698
1248         PR bootstrap/17702
1249         * bitmap.h (bmp_iter_single_init, bmp_iter_and_not_init,
1250         bmp_iter_and_init): Shift by bit_in_word.
1251
1252 2004-09-27  Kelley Cook  <kcook@gcc.gnu.org>
1253
1254         * aclocal.m4: Quote m4_includes. Include ../config/gcc-lib-path.m4.
1255         * configure.ac: Don't sinclude it here.
1256         * configure: Regenerate.
1257
1258 2004-09-27  Dorit Naishlos  <dorit@il.ibm.com>
1259
1260         * config/rs6000/rs6000.c (rs6000_legitimate_address, print_operand):
1261         Handle AND pattern
1262
1263 2004-09-27  Joseph S. Myers  <jsm@polyomino.org.uk>
1264
1265         PR c/13804
1266         * c-typeck.c (build_component_ref): Name type involved in
1267         diagnostic for structure or union without a member of the given
1268         name.
1269
1270 2004-09-27  DJ Delorie  <dj@redhat.com>
1271
1272         * config/stormy16/stormy16.c (xstormy16_asm_output_aligned_common):
1273         .comm alignment is bytes, not bits.
1274
1275 2004-09-27  Devang Patel  <dpatel@apple.com>
1276
1277         * tree-pretty-print.c (dump_generic_node): Print VEC_COND_EXPR.
1278         (print_call_name): Do not print VEC_COND_EXPR.
1279
1280 2004-09-27  Devang Patel  <dpatel@apple.com>
1281
1282         * tree-pretty-print.c (dump_generic_node): Print VEC_COND_EXPR.
1283
1284 2004-09-27  Jan Hubicka  <jh@suse.cz>
1285
1286         * i386.c (athlon_cost, k8_cost): Set BRANCH_COST to 5.
1287
1288 2004-09-27  Kazu Hirata  <kazu@cs.umass.edu>
1289
1290         * bitmap.h: Fix a comment typo.
1291
1292 2004-09-27  Aaron W. LaFramboise <aaronraolete36@aaronwl.com>
1293
1294         * libgcc2.c (getpagesize): Change type of return value to int.
1295
1296 2004-09-26  Matt Austern  <austern@apple.com>
1297
1298         * ggc-page.c (GGC_QUIRE_SIZE): Bump up from 16 to 256 if we're
1299         using mmap.
1300
1301 2004-09-26  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
1302
1303         * bitmap.h (EXECUTE_IF_SET_IN_BITMAP, EXECUTE_IF_AND_COMPL_IN_BITMAP,
1304         EXECUTE_IF_AND_IN_BITMAP): Changed to iterator style.
1305         (bitmap_iterator): New type.
1306         (bmp_iter_common_next_1, bmp_iter_single_next_1, bmp_iter_single_init,
1307         bmp_iter_end_p, bmp_iter_single_next, bmp_iter_and_not_next_1,
1308         bmp_iter_and_not_init, bmp_iter_and_not_next, bmp_iter_and_next_1,
1309         bmp_iter_and_init, bmp_iter_and_next): New functions.
1310         * basic-block.h (EXECUTE_IF_SET_IN_REG_SET,
1311         EXECUTE_IF_AND_COMPL_IN_REG_SET, EXECUTE_IF_AND_IN_REG_SET): Changed to
1312         use iterator-style EXECUTE_IF_IN_BITMAP macros.
1313         * bitmap.c (bitmap_print): Ditto.
1314         * bt-load.c (clear_btr_from_live_range, add_btr_to_live_range,
1315         btr_def_live_range): Ditto.
1316         * cfganal.c (compute_dominance_frontiers_1) Ditto.
1317         * cgraphunit.c (convert_UIDs_in_bitmap, cgraph_characterize_statics):
1318         Ditto.
1319         * ddg.c (build_inter_loop_deps): Ditto.
1320         * df.c (FOR_EACH_BB_IN_BITMAP, df_bb_reg_info_compute, df_refs_update):
1321         Ditto.
1322         * except.c (remove_eh_handler): Ditto.
1323         * flow.c (reg_set_to_hard_reg_set): Ditto.
1324         * gcse.c (clear_modify_mem_tables): Ditto.
1325         * global.c (build_insn_chain): Ditto.
1326         * ifcvt.c (dead_or_predicable): Ditto.
1327         * loop-invariant.c (get_inv_cost, set_move_mark, move_invariant_reg):
1328         Ditto.
1329         * ra-build.c (livethrough_conflicts_bb, conflicts_between_webs): Ditto.
1330         * ra-rewrite.c (reloads_to_loads, rewrite_program2,
1331         detect_web_parts_to_rebuild, delete_useless_defs, actual_spill): Ditto.
1332         * tree-cfg.c (allocate_ssa_names, tree_duplicate_sese_region,
1333         tree_purge_all_dead_eh_edges): Ditto.
1334         * tree-into-ssa.c (compute_global_livein, insert_phi_nodes,
1335         insert_phi_nodes_for, debug_def_blocks_r, invalidate_name_tags,
1336         rewrite_ssa_into_ssa): Ditto.
1337         * tree-outof-ssa.c (find_replaceable_exprs): Ditto.
1338         * tree-sra.c (scan_function, decide_instantiations, scalarize_parms):
1339         Ditto.
1340         * tree-ssa-alias.c (init_alias_info, compute_points_to_and_addr_escape,
1341         compute_flow_sensitive_aliasing, maybe_create_global_var,
1342         dump_points_to_info_for): Ditto.
1343         * tree-ssa-dce.c (EXECUTE_IF_CONTROL_DEPENDENT): Ditto.
1344         * tree-ssa-dse.c (dse_finalize_block): Ditto.
1345         * tree-ssa-live.c (live_worklist, calculate_live_on_entry,
1346         calculate_live_on_exit, build_tree_conflict_graph, dump_live_info):
1347         Ditto.
1348         * tree-ssa-loop-ivopts.c (find_induction_variables,
1349         find_interesting_uses, add_old_ivs_candidates, alloc_use_cost_map,
1350         determine_use_iv_costs, determine_set_costs, find_best_candidate,
1351         set_cost_up_to, create_new_ivs, remove_unused_ivs, free_loop_data):
1352         Ditto.
1353         * tree-ssa-loop-manip.c (add_exit_phis_var, add_exit_phis): Ditto.
1354         * tree-ssa-operands.c (get_asm_expr_operands, add_call_clobber_ops,
1355         add_call_read_ops): Ditto.
1356         * tree-ssa-pre.c (bitmap_print_value_set, insert_aux): Ditto.
1357
1358 2004-09-26  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1359
1360         * pa.c (print_operand): Use non-trapping completers for UNLE, UNLT,
1361         UNGE, UNGT, UNEQ, UNORDERED and ORDERED comparisons.
1362
1363 2004-09-26  Ulrich Weigand  <uweigand@de.ibm.com>
1364
1365         * builtins.c (expand_builtin_memcmp): Adjust MEM_SIZE to
1366         reflect size of memory regions being compared.
1367
1368 2004-09-26  Ulrich Weigand  <uweigand@de.ibm.com>
1369
1370         * builtins.c (get_memory_rtx): Set mem attributes for non-ADDR_EXPR
1371         expressions.  Always clear MEM_SIZE and alias set.
1372
1373 2004-09-26  Roger Sayle  <roger@eyesopen.com>
1374             Giovanni Bajo  <giovannibajo@gcc.gnu.org>
1375
1376         PR middle-end/17112
1377         * stor-layout.c (compute_record_mode): For records with a single
1378         field, only use the field's mode if its size matches what we'd
1379         have choosen for the record ourselves.  This forces the use of
1380         BLKmode for packed records that don't completely fill a mode.
1381
1382 2004-09-26  Roger Sayle  <roger@eyesopen.com>
1383
1384         PR middle-end/17151
1385         * combine.c (force_to_mode): Remove dubious early return test that
1386         inhibits further optimization.
1387
1388 2004-09-26  Kazu Hirata  <kazu@cs.umass.edu>
1389
1390         * profile.c: Fix a comment typo.
1391
1392 2004-09-26  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
1393
1394         PR bootstrap/17591
1395         * tree-ssa-loop-im.c (for_each_index): Call callback for component_refs
1396         with varying offset.
1397         * tree-ssa-loop-ivopts.c (abnormal_ssa_name_p): New function.
1398         (idx_contains_abnormal_ssa_name_p): Scan step and lower bound for
1399         ARRAY_REFS.
1400         (expr_invariant_in_loop_p): New function.
1401         (idx_find_step): Handle step and lower bound for ARRAY_REFs.  Handle
1402         component_ref_field_offset for COMPONENT_REFs.  Do not allow
1403         ALIGN_INDIRECT_REFs and MISALIGNED_INDIRECT_REFs.
1404         (add_address_candidates): Do not handle ALIGN_INDIRECT_REFs and
1405         MISALIGNED_INDIRECT_REFs.
1406         (idx_remove_ssa_names): Handle step and lower bound for ARRAY_REFs.
1407         (rewrite_address_base): Do not handle ALIGN_INDIRECT_REFs and
1408         MISALIGNED_INDIRECT_REFs.
1409
1410 2004-09-26  Joseph S. Myers  <jsm@polyomino.org.uk>
1411
1412         PR c/11459
1413         * gcc.c (cpp_options, cc1_options): Preserve relative order of
1414         -std and -ansi options.
1415
1416 2004-09-26  Jan Hubicka  <jh@suse.cz>
1417
1418         * dwarf2out.c (dwarf2out_finish): Set parent to comp_unit_die
1419         for nested functions whose proper parent has not been output.
1420
1421         * profile.c (compute_branch_probabilities): Use REG_BR_PROB notes
1422         when re-constructing profile previously invalidated by loop.
1423
1424 2004-09-25  Dale Johannesen  <dalej@apple.com>
1425
1426         * tree-gimple.c:  Move GIMPLE definition...
1427         * doc/tree-ssa.texi:  here.
1428
1429 2004-09-25  Kazu Hirata  <kazu@cs.umass.edu>
1430
1431         * tree-vectorizer.c: Fix a comment typo.
1432
1433 2004-09-25  Kazu Hirata  <kazu@cs.umass.edu>
1434
1435         * c-typeck.c, defaults.h, dwarf.h, dwarf2out.c, fold-const.c,
1436         gthr-dce.h, gthr-posix.h, gthr-solaris.h, gthr-win32.h,
1437         lambda-code.c, lambda-mat.c, libgcc2.c, stmt.c,
1438         tree-ssa-pre.c, tree-vn.c, tree.h: Fix comment formatting.
1439
1440 2004-09-25  Kazu Hirata  <kazu@cs.umass.edu>
1441
1442         * tree-ssa-loop-unswitch.c: Fix a comment typo.
1443
1444 2004-09-25  Kazu Hirata  <kazu@cs.umass.edu>
1445
1446         * doc/passes.texi: Fix a typo.
1447
1448 2004-09-25  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
1449
1450         * tree-optimize.c (init_tree_optimization_passes): Add
1451         pass_record_bounds.
1452         * tree-pass.h (pass_record_bounds): Declare.
1453         * tree-ssa-loop.c (tree_ssa_loop_bounds, pass_record_bounds):
1454         New pass.
1455
1456 2004-09-25  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
1457
1458         PR tree-optimization/17474
1459         * tree-ssa-ccp.c (maybe_fold_offset_to_component_ref): Determine
1460         offset of the field correctly when DECL_FIELD_BIT_OFFSET != 0.
1461
1462 2004-09-25  Jan Hubicka  <jh@suse.cz>
1463
1464         * predict.c (counts_to_freqs): Make global.
1465         * predict.h (counts_to_freqa): Declare.
1466         * profile.c (compute_branch_probabilities): Compute frequencies
1467         * tree-profile.c (do_tree_profiling): Refine conditional on when
1468         tree profiling pass is needed.
1469
1470         * passes.c (rest_of_handle_cfg): Disable const/pure function
1471         detection when doing tree based profiling.
1472
1473         * tree-inline.c (expand_call_inline): Fix incorrectly reversed
1474         conditional.
1475
1476 2004-09-25  Richard Sandiford  <rsandifo@redhat.com>
1477
1478         * config/mips/mips.h (struct mips_args): Clarify comments.
1479         * config/mips/mips.c (struct mips_arg_info): Likewise.
1480         (mips_arg_info): Don't allow fpr_p to affect the register or
1481         stack alignment.  Remove o64 silliness.
1482         (function_arg): Deal with the o32 float,float case specially.
1483
1484 2004-09-25  Richard Sandiford  <rsandifo@redhat.com>
1485
1486         * config/mips/mips.md (loadx, storex): Define for V2SF.
1487
1488 2004-09-25  Ulrich Weigand  <uweigand@de.ibm.com>
1489
1490         * config/s390/s390-protos.h (s390_back_chain_rtx): Add prototype.
1491         * config/s390/s390.c (s390_back_chain_rtx): New function.
1492         * config/s390/s390.md ("allocate_stack"): Use s390_back_chain_rtx.
1493         Call anti_adjust_stack.
1494         ("restore_stack_block"): Use s390_back_chain_rtx.  Enable pattern
1495         only if compiling with back chain.
1496         ("save_stack_nonlocal", "restore_stack_nonlocal"): Save/restore
1497         back chain only if back chain enabled.  Use s390_back_chain_rtx.
1498
1499 2004-09-25  Joseph S. Myers  <jsm@polyomino.org.uk>
1500
1501         * doc/trouble.texi: Remove obsolete information.  Update
1502         information on how to regenerate fixincluded headers.
1503
1504 2004-09-25  Joseph S. Myers  <jsm@polyomino.org.uk>
1505
1506         PR c/12951
1507         * doc/invoke.texi: Document that
1508         -Wno-error-implicit-function-declaration is not accepted.
1509
1510 2004-09-24  Richard Henderson  <rth@redhat.com>
1511
1512         * config/alpha/alpha.h (UNITS_PER_SIMD_WORD): New.
1513         * config/alpha/alpha.c (alpha_vector_mode_supported_p): Don't depend
1514         on TARGET_MAX.
1515         (alpha_expand_mov): Allow unaligned vectors.
1516         (alpha_expand_unaligned_store): Use CONST0_RTX.
1517         (TARGET_VECTORIZE_MISALIGNED_MEM_OK): New.
1518
1519 2004-09-24 Jeff Law  <law@redhat.com>
1520
1521         * tree-ssa-dom.c (dom_opt_finalize_block): Fix violation of strict
1522         aliasing rules.
1523         (simplify_cond_and_lookup_avail_expr): Likewise.
1524
1525 2004-09-24  Joseph S. Myers  <jsm@polyomino.org.uk>
1526
1527         PR c/12802
1528         * doc/extend.texi (Unnamed Fields): Remove "." from end of long
1529         title.  Document interaction with -fms-extensions.
1530         * doc/invoke.texi (-fms-extensions): Refer to Unnamed Fields
1531         section.
1532
1533 2004-09-24  Joseph S. Myers  <jsm@polyomino.org.uk>
1534
1535         PR c/12713
1536         * doc/extend.texi: Document interaction of attribute noreturn and
1537         longjmp.
1538
1539 2004-09-24  Richard Henderson  <rth@redhat.com>
1540
1541         PR rtl-opt/17503
1542         * regclass.c (subregs_of_mode): Turn into an htab.  Make static.
1543         (som_hash, som_eq): New.
1544         (init_subregs_of_mode, record_subregs_of_mode): New.
1545         (cannot_change_mode_set_regs): Rewrite for htab implementation.
1546         (invalid_mode_change_p): Likewise.
1547         * combine.c (gen_lowpart_for_combine): Use record_subregs_of_mode.
1548         * flow.c (mark_used_regs): Likewise.
1549         (life_analysis): Use init_subregs_of_mode.
1550         * regs.h (subregs_of_mode): Remove.
1551         * rtl.h (init_subregs_of_mode, record_subregs_of_mode): Declare.
1552
1553 2004-09-24  Andrew Pinski  <pinskia@physics.uc.edu>
1554
1555         * tree-ssa-phiopt.c (conditional_replacement): Use the correct
1556         type with the copy of the conditional.
1557
1558 2004-09-24  Andrew Pinski  <pinskia@physics.uc.edu>
1559
1560         PR tree-opt/16954
1561         * tree-ssa-copyrename.c (copy_rename_partition_coalesce):
1562         Prevent renaming if the aliasing sets of the type which the
1563         pointer points to are different.
1564
1565 2004-09-24  Joseph S. Myers  <jsm@polyomino.org.uk>
1566
1567         PR c/17188
1568         * c-decl.c (diagnose_mismatched_decls): Check for duplicate
1569         declarations of enumerators.
1570         (start_struct): Check TYPE_SIZE rather than TYPE_FIELDS to check
1571         for redefinition.  Check for nested redefinition.
1572         (finish_struct): Don't check for nested redefinition.
1573         (start_enum): Check for nested redefinition.
1574
1575 2004-09-24  Devang Patel  <dpatel@apple.com>
1576
1577         * tree-if-conv.c (tree_if_convert_cond_expr0: Create temp. variable
1578         only when necesssary.
1579         (combine_blocks): Combine loop header and exit block.
1580
1581 2004-09-24  Paolo Bonzini  <bonzini@gnu.org>
1582
1583         * hooks.c (hook_tree_tree_bool_null): New.
1584         * hooks.h (hook_tree_tree_bool_null): Declare it.
1585         * target-def.c (TARGET_FOLD_BUILTIN): Point to it.
1586         * targhooks.c (default_fold_builtin): Remove.
1587         * targhooks.h (default_fold_builtin): Remove.
1588
1589 2004-09-24  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
1590
1591         PR rtl-optimization/17625
1592         * loop-doloop.c (doloop_modify): Unshare rtl before emitting it.
1593
1594 2004-09-24  Andrew Pinski  <pinskia@physics.uc.edu>
1595
1596         PR tree-opt/17624
1597         * tree-ssa-forwprop.c (record_single_argument_cond_exprs):
1598         Reject if any of the operands occur in an abnormal PHI.
1599
1600 2004-09-24  Andreas Schwab  <schwab@suse.de>
1601
1602         * tree-ssa-dom.c (record_range): Fix violation of strict aliasing
1603         rules.
1604
1605 2004-09-24  Eric Botcazou  <ebotcazou@libertysurf.fr>
1606
1607         * config.gcc (sparc64-*-solaris2*): Include sparc/sol2-gas.h
1608         if the GNU assembler is used.
1609         (sparc-*-solaris2*): Likewise.
1610         * dbxout.c (NO_DBX_BNSYM_ENSYM): Default to zero.
1611         (dbxout_function_end): Protect N_ENSYM with it.
1612         (dbxout_begin_prologue): Protect N_BNSYM with it.
1613         * doc/tm.texi (NO_DBX_BNSYM_ENSYM): Document it.
1614         * config/sparc/sol2.h (NO_DBX_BNSYM_ENSYM): Define to 1.
1615         * config/sparc/sol2-gas.h: New file.
1616
1617 2004-09-23  H.J. Lu  <hongjiu.lu@intel.com>
1618
1619         PR bootstrap/17369
1620         * Makefile.in (@set_gcc_lib_path@): Added.
1621
1622         * configure.ac: Include ../config/gcc-lib-path.m4. Use
1623         TL_AC_GNU_MAKE_GCC_LIB_PATH.
1624         * configure: Regenerated.
1625
1626 2004-09-24  Joseph S. Myers  <jsm@polyomino.org.uk>
1627
1628         PR c/6980
1629         * c-typeck.c (build_c_cast): Improve wording of
1630         -Wbad-function-cast diagnostic.
1631
1632 2004-09-23  Hans-Peter Nilsson  <hp@axis.com>
1633
1634         PR target/17626
1635         * config/cris/cris.md (moverside, movemside): Rename variable
1636         "reg" to "otherop".  To generate canonical RTX, check that otherop
1637         isn't constant instead of checking that operand 1 is a register.
1638
1639 2004-09-23  Jakub Jelinek  <jakub@redhat.com>
1640
1641         * tree-ssa-propagate.c (set_rhs): Fail if EXPR is COMPOUND_EXPR.
1642
1643 2004-09-23  Diego Novillo  <dnovillo@redhat.com>
1644             Jakub Jelinek  <jakub@redhat.com>
1645
1646         * tree-flow.h (find_new_referenced_vars): Add prototype.
1647         * tree-sra.c (find_new_referenced_vars_1, find_new_referenced_vars):
1648         Move to...
1649         * tree-dfa.c (find_new_referenced_vars_1, find_new_referenced_vars):
1650         ... here.
1651         (mark_new_vars_to_rename): Walk through all operands.
1652         * tree-ssa-ccp.c (convert_to_gimple_builtin): New function.
1653         (execute_fold_all_builtins): Use it.
1654         (pass_fold_builtins): Add TODO_rename_vars to todo_flags_finish.
1655
1656 2004-09-23  P.J. Darcy  <darcypj@us.ibm.com>
1657
1658         * gthr-tpf.h: New file.
1659         * config.gcc (s390x-ibm-tpf*): Add thread_file='tpf'.
1660         * gthr.h: Use gthr-tpf.h on TPF OS.
1661
1662 2004-09-23 Jeff Law  <law@redhat.com>
1663
1664         * tree-ssa-ccp.c (get_default_value): Use SSA_NAME_VALUE rather
1665         than SSA_NAME_EQUIV and SET_SSA_NAME_EQUIV.
1666         (substitute_and_fold):  Likewise.
1667         * tree-ssa-dom.c (tree_ssa_dominator_optimize): Remove everything
1668         except invariants from SSA_NAME_VALUE.
1669         (thread_across_edge): Use SSA_NAME_VALUE rather than SSA_NAME_EQUIV
1670         and SET_SSA_NAME_EQUIV.
1671         (restore_vars_to_original_value, record_const_or_copy): Likewise.
1672         (record_equivalences_from_phis, record_const_or_copy_1): Likewise.
1673         (record_equality, cprop_into_successor_phis): Likewise.
1674         (record_equivalences_from_stmt, cprop_operand): Likewise.
1675         (lookup_avail_expr): Likewise.
1676         * tree-ssa-pre.c (fini_pre): Remove everything except invariants
1677         from SSA_NAME_VALUE.
1678         * tree.h (SSA_NAME_EQUIV, SET_SSA_NAME_EQUIV): Kill.
1679         (struct tree_ssa_name):  Kill EQUIV field.  Remove GGC skip
1680         annotation from the VALUE_HANDLE field.
1681
1682 2004-09-21 Fariborz Jahanian <fjahanian@apple.com>
1683
1684         PR c++/13989
1685         PR c++/9844
1686         * tree.c (reconstruct_complex_type): Remove extra "this".
1687         * config/rs6000/rs6000.c (rs6000_handle_altivec_attribute):
1688         Add V4SFmode to case statement.
1689
1690 2004-09-23  Joseph S. Myers  <jsm@polyomino.org.uk>
1691
1692         PR c/16833
1693         * doc/extend.texi, doc/invoke.texi: Document interaction of
1694         -fno-builtin with format checks.  Note that built-in functions
1695         have effects beyond generating code that avoids calls to those
1696         functions.
1697
1698 2004-09-23  Frank Ch. Eigler <fche@redhat.com>
1699
1700         PR tree-optimization/17533
1701         * dominance.c (verify_dominators): Tolerate even more incorrect
1702         dominance data during error message printing.
1703         * tree-mudflap.c (mf_build_check_statement_for): Build basic blocks
1704         and edges more correctly.
1705
1706 2004-09-23  Dorit Naishlos <dorit@il.ibm.com>
1707
1708         * tree.def (ALIGN_INDIRECT_REF, MISALIGNED_INDIRECT_REF):
1709         New tree-codes.
1710         * tree.h (REF_ORIGINAL): Consider ALIGN_INDIRECT_REF and
1711         MISALIGNED_INDIRECT_REF.
1712         * alias.c (get_alias_set, nonoverlapping_memrefs_p): Likewise.
1713         * emit-rtl.c (mem_expr_equal_p, set_mem_attributes_minus_bitpos):
1714         Likewise.
1715         * expr.c (safe_from_p, expand_expr_real_1, rewrite_address_base)
1716         (find_interesting_uses_address): Likewise.
1717         * fold-const.c (non_lvalue, operand_equal_p): Likewise.
1718         (build_fold_addr_expr_with_type): Likewise.
1719         * gimplify.c (gimplify_addr_expr, gimplify_expr): Likewise.
1720         * print-rtl.c (print_mem_expr): Likewise.
1721         * tree-dump.c (dequeue_and_dump): Likewise.
1722         * tree-eh.c (tree_could_trap_p): Likewise.
1723         * tree-gimple.c (is_gimple_addressable, get_base_address): Likewise.
1724         * tree-pretty-print.c (op_prio, op_symbol, dump_generic_node): Likewise.
1725         * tree-ssa-alias.c (find_ptr_dereference, ptr_is_dereferenced_by):
1726         Likewise.
1727         * tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Likewise.
1728         * tree-ssa-dom.c (record_equivalences_from_stmt): Likewise.
1729         * tree-ssa-loop-im.c (for_each_index, is_call_clobbered_ref): Likewise.
1730         * tree-ssa-loop-ivopts.c (find_interesting_uses_address): Likewise.
1731         (add_address_candidates, rewrite_address_base): Likewise.
1732         * tree-ssa-operands.c (get_expr_operands, get_indirect_ref_operands):
1733         Likewise.
1734         * tree.c (staticp, build1_stat): Likewise.
1735
1736         * tree.def (REALIGN_LOAD_EXPR, REALIGN_STORE_EXPR): New tree-codes.
1737         * tree-pretty-print.c (dump_generic_node): Consider REALIGN_LOAD_EXPR.
1738         * tree-ssa-operands.c (get_expr_operands): Likewise.
1739         * expr.c (expand_expr_real_1): Likewise.
1740
1741         * optabs.h (vec_realign_store_optab, vec_realign_load_optab): New
1742         optabs.
1743         (OTI_vec_realign_store, OTI_vec_realign_load): New optab_index values
1744         for the new optabs.
1745         (expand_ternary_op): New function.
1746         * genopinit.c (optabs): Handle the new optabs.
1747         * optabs.c (optab_for_tree_code): Add cases for the new tree-codes.
1748         (init_optabs): Initialize vec_realign_load_optab.
1749         (expand_ternary_op): New functions.
1750
1751         * target-def.h (TARGET_VECTORIZE): New member for struct gcc_target.
1752         (TARGET_VECTORIZE_MISALIGNED_MEM_OK): New member for targetm.vectorize.
1753         (TARGET_VECTORIZE_BUILTIN_MASK_FOR_LOAD): Likewise.
1754         (TARGET_VECTORIZE_BUILTIN_MASK_FOR_STORE): Likewise.
1755         * target.h (struct vectorize): New member for struct gcc_target.
1756         (misaligned_mem_ok): New member for targetm.vectorize.
1757         (builtin_mask_for_load): Likewise.
1758         (builtin_mask_for_store): Likewise.
1759         * targethooks.c (default_vect_misaligned_mem_ok): New function.
1760         * targethooks.h (default_vect_misaligned_mem_ok): New function.
1761
1762         * config/rs6000/altivec.md (build_vector_mask_for_load): New
1763         define_expand.
1764         (vec_realign_load_v4si, vec_realign_load_v4sf, vec_realign_load_v8hi)
1765         (vec_realign_load_v16qi): New define_insn.
1766         * config/rs6000/rs6000.h (ALTIVEC_BUILTIN_MASK_FOR_LOAD):
1767         (ALTIVEC_BUILTIN_MASK_FOR_STORE): New target builtins.
1768         * config/rs6000/rs6000.c (altivec_builtin_mask_for_load):
1769         (altivec_builtin_mask_for_store): New variables.
1770         (rs6000_builtin_mask_for_load): New function. Implements
1771         TARGET_VECTORIZE_BUILTIN_MASK_FOR_LOAD.
1772         (rs6000_builtin_mask_for_store): New function. Implements
1773         TARGET_VECTORIZE_BUILTIN_MASK_FOR_STORE.
1774         (rs6000_expand_builtin): Expand the target builtins
1775         builtin_mask_for_load and builtin_mask_for_store.
1776         (altivec_init_builtins): Initialize the new target builtins.
1777         * config/i386/i386.c (ix86_misaligned_mem_ok): New function.
1778         Implements the target hook TARGET_VECTORIZE_MISALIGNED_MEM_OK.
1779
1780         * tree-vectorizer.c (vect_create_data_ref): Renamed to
1781         vect_create_data_ref_ptr. Returns a pointer instead of an array-ref.
1782         (vect_create_addr_base_for_vector_ref): Additional argument (offset).
1783         (vectorizable_store): Call vect_create_data_ref_ptr with additional
1784         arguments, and create an indirect_ref with its return value data_ref.
1785         Check aligned_access_p.
1786         (vectorizable_load): Handle misaligned loads, using software-pipelined
1787         scheme with REALIGN_LOAD_EXPR and ALIGN_INDIRECT_REF if
1788         vec_realign_load_optab is supported, or using a scheme without
1789         software-pipelining with MISALIGNED_INDIRECT_REF if the target hook
1790         misaligned_mem_ok is supported.
1791
1792         (vect_finish_stmt_generation): Typo.
1793         (vect_enhance_data_refs_alignment): Rename loop_vinfo to loop_info.
1794         (vect_analyze_data_refs_alignment): Don't fail vectorization in the
1795         presence of misaligned loads.
1796         (vect_analyze_data_ref_access): Add check for constant init.
1797         (vect_get_symbl_and_dr): Remove duplicate line.
1798         * tree-vectorizer.h (DR_MISALIGNMENT): Add comment.
1799
1800 2004-09-23  Kazu Hirata  <kazu@cs.umass.edu>
1801
1802         * builtins.c: Fix a comment typo.
1803
1804 2004-09-23  Jan Hubicka  <jh@suse.cz>
1805
1806         * profile.c (branch_prob): Do not verify flow info in the middle of the
1807         pass.
1808
1809 2004-09-23  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
1810
1811         * cfgloop.h (update_single_exits_after_duplication): Declare.
1812         (loopify, split_loop_bb): Declaration changed.
1813         * cfgloopmanip.c (split_loop_bb): Take void * as an argument instead
1814         of rtx.
1815         (loopify): Added redirect_all_edges argument.
1816         (update_single_exits_after_duplication): Export.
1817         * loop-unswitch.c (unswitch_loop): Changed due to loopify change.
1818         * tree-flow.h (tree_duplicate_loop_to_header_edge,
1819         tree_ssa_loop_version): Declare.
1820         * tree-ssa-loop-manip.c (copy_phi_node_args, rename_variables,
1821         set_phi_def_stmts, tree_duplicate_loop_to_header_edge,
1822         lv_adjust_loop_header_phi, lv_adjust_loop_entry_edge,
1823         lv_update_pending_stmts, tree_ssa_loop_version): New functions.
1824
1825         * tree-ssa-loop-unswitch.c: New file.
1826         * Makefile.in (tree-ssa-loop-unswitch.o): Add.
1827         * timevar.def (TV_TREE_LOOP_UNSWITCH): New timevar.
1828         * tree-flow.h (tree_ssa_unswitch_loops): Declare.
1829         * tree-optimize.c (init_tree_optimization_passes): Add pass_unswitch.
1830         * tree-pass.h (pass_unswitch): Declare.
1831         * tree-ssa-loop.c (tree_ssa_loop_unswitch,
1832         gate_tree_ssa_loop_unswitch, pass_unswitch): New pass.
1833         * doc/passes.texi: Documen tree level loop unswitching.
1834
1835 2004-09-23  Kazu Hirata  <kazu@cs.umass.edu>
1836
1837         * cfgexpand.c, config/s390/tpf-eh.c: Fix comment typos.
1838
1839 2004-09-22  Eric Christopher  <echristo@redhat.com>
1840
1841         * builtins.c (simplify_builtin_va_start): Remove.
1842         (simplify_builtin): Ditto.
1843         (fold_builtin_strchr): Ditto.
1844         (simplify_builtin_*): Rename remainders to fold_builtin_*.
1845         (expand_builtin): Fix up for above changes.
1846         (fold_builtin_1): Add new folders. Change for above.
1847         (expand_builtin_va_start): Call fold_builtin_next_arg.
1848         * gimplify.c (gimplify_call_expr): Fix calls to simplify_builtin.
1849         * tree.h: Remove prototype for simplify_builtin.
1850
1851 2004-09-23  Jan Hubicka  <jh@suse.cz>
1852
1853         PR debug/17389
1854         * dwarf2out.c (dwarf2out_finish): Deal with nested functions
1855         of fully inlined functions.
1856         * tree-inline.c (inline_forbidden_p_1): Nested functions can be
1857         inlined.
1858
1859         * cfgexpand.c (add_reg_br_prob_note): New function.
1860         (expand_gimple_cond_expr): Use it.
1861         (tree_expand_cfg): No longer kill the profile.
1862         * cfgrt.c (rtl_verify_flow_info_1): Check profile consistency
1863         only if it is present.
1864         * passes.c (rest_of_handle_loop_optimize): Kill the profile.
1865         * predict.c (combine_predictions_for_insn): Set the probabilities
1866         based on REG_BR_PROB note if present.
1867         * predict.c (branch_prob): Profile is read only with
1868         flag_branch_probabilities.
1869
1870 2004-09-22  Kelley Cook  <kcook@gcc.gnu.org>
1871
1872         * aclocal.m4: Add in gettext's m4 includes.
1873         (AC_ICONV, AC_LCMESSAGES, GCC_PATH_PROG): Remove.
1874         * configure.ac: Add in check for iconv.h
1875         * configure: Regenerate.
1876
1877 2004-09-22  Kelley Cook  <kcook@gcc.gnu.org>
1878
1879         * aclocal.m4: Update for rename of gettext-sister.m4.
1880
1881 2004-09-22  Daniel Berlin <dberlin@dberlin.org>
1882
1883         Fix PR tree-optimization/17587
1884         * tree-ssa-pre.c (fini_pre): Commit edge inserts here.
1885         (insert_aux): Instead of here.
1886
1887 2004-09-22  Diego Novillo  <dnovillo@redhat.com>
1888
1889         PR tree-optimization/16721
1890         * tree-dfa.c (dump_variable): Show TREE_THIS_VOLATILE.
1891         * tree-ssa-alias.c (create_memory_tag): Move setting of
1892         TREE_THIS_VOLATILE ...
1893         (get_tmt_for): ... here.
1894
1895 2004-09-22  Eric Botcazou  <ebotcazou@libertysurf.fr>
1896
1897         * config/sparc/sparc.md (cmove splitter): Fix formatting.
1898         (conditional_trap expander): Reject inappropriate CCmodes.
1899         (conditional trap insn): Use V9 syntax if possible.
1900
1901 2004-09-22  Joseph S. Myers  <jsm@polyomino.org.uk>
1902
1903         PR c/16566
1904         * c-typeck.c (build_component_ref): Don't special-case
1905         COMPOUND_EXPR.
1906
1907 2004-09-22  Frank Ch. Eigler  <fche@redhat.com>
1908
1909         * dominance.c (verify_dominators): Don't SEGV if recount_dominator
1910         returns NULL.
1911
1912 2004-09-22  Kazu Hirata  <kazu@cs.umass.edu>
1913
1914         * doc/c-tree.texi (TRUTH_NOT_EXPR, TRUTH_ANDIF_EXPR,
1915         TRUTH_ORIF_EXPR, TRUTH_AND_EXPR, TRUTH_OR_EXPR,
1916         TRUTH_XOR_EXPR): Mention the restriction on types.
1917
1918 2004-09-22  Matt Austern  <austern@apple.com>
1919
1920         * config/darwin.c (darwin_make_decl_one_only):
1921         Allow coalesced symbol to appear in static archive's table of contents
1922
1923 2004-09-22  Kazu Hirata  <kazu@cs.umass.edu>
1924
1925         PR tree-optimization/17512
1926         * convert.c (convert_to_integer): Don't handle TRUTH_*_EXPR as
1927         special cases.
1928
1929 2004-09-22  David Edelsohn  <edelsohn@gnu.org>
1930
1931         * dbxout.c (get_lang_number): Do not define if
1932         DBX_OUTPUT_MAIN_SOURCE_DIRECTORY is defined.
1933
1934 2004-09-22  Ralf Corsepius  <corsepiu@faw.uni-ulm.de>
1935
1936         PR target/15583
1937         * config/rs6000/rtems.h (TARGET_OS_CPP_BUILTINS): Add
1938         builtin_define ("__USE_INIT_FINI__").
1939
1940 2004-09-22  P.J. Darcy  <darcypj@us.ibm.com>
1941
1942         * config/s390/s390-protos.h (s390_emit_tpf_eh_return): Add prototype.
1943         * config/s390/s390.c (s390_emit_tpf_eh_return): New function.
1944         * config/s390/s390.h (TARGET_TPF): New macro.
1945         * config/s390/s390.md ("eh_return"): New expander.
1946         * config/s390/t-tpf (LIB2ADDEH): Use unwind-dw2-fde.c rather than
1947         unwind-dw2-fde-glibc.c.  Add config/s390/tpf-eh.c.
1948         (LIB2ADDEHDEP): Remove unwind-dw2-fde.c.
1949         * config/s390/tpf.h (TARGET_TPF): Define to 1.
1950         (STACK_POINTER_OFFSET): Increase to 448.
1951         (TARGET_DEFAULT): Set -mtpf-trace on as default.
1952         (TPF_LOC_DIFF_OFFSET): New macro.
1953         (ASM_PREFERRED_EH_DATA_FORMAT): Redefine to always use absolute
1954         encoding.
1955         (__isPATrange): Add prototype.
1956         (MD_FALLBACK_FRAME_STATE_FOR): Define.
1957         * config/s390/tpf-eh.c: New file.
1958
1959 2004-09-22  Diego Novillo  <dnovillo@redhat.com>
1960
1961         * fold-const.c (fold): Avoid non INTEGER_TYPEs when widening
1962         operands in an integer comparison.
1963         * tree-cfg.c (find_taken_edge): Call fold() to determine
1964         whether the predicate is known.
1965
1966 2004-09-22  Kelley Cook  <kcook@gcc.gnu.org>
1967
1968         * aclocal.m4: Import AM_PROG_CC_C_O and AM_AUX_DIR_EXPAND.
1969         * configure.ac: Call AM_PROG_CC_C_O instead of AC_PROG_CC_C_O.
1970         Create build and doc directories along with the language directories.
1971         Don't create doc directory separately.
1972         * configure: Regenerate.
1973         * Makefile.in: Create all object and executables files built
1974         with the build compiler in a build/ directory.
1975         (genobjnames): Add missing build objects.
1976         (STAGESTUFF): Don't stage the gen* programs.
1977         (ggc-none.o): Define dependencies for the target compiler.
1978         (build-print-rtl.o): Rename to build/print-rtl.o.
1979         (build-errors.o): Rename to build/errors.o.
1980         (build-varray.o): Rename to build/varray.o.
1981         (maintainerclean): Delete the contents of the build directory.
1982         ($(genobjs): %.o): Explicitly use -o.
1983         (build/insn-conditions.o): Delete specfic rule to use generic rule.
1984         (build/gengtype-lex.o): Likewise.
1985         (build/gengtype-yacc.o): Likewise.
1986         (build/gcov-iov.o): Likewise.
1987
1988 2004-09-22  Nathan Sidwell  <nathan@codesourcery.com>
1989
1990         * vec.h (VEC_space): Return true if there _is_ space.
1991         (VEC_reserve): Adjust.
1992
1993 2004-09-22  Richard Sandiford  <rsandifo@redhat.com>
1994
1995         * config/mips/mips.c (mips_function_value): For o32, o64, n32 and n64,
1996         use FPRs for scalar, complex and vector types only.
1997
1998 2004-09-21 Jeff Law  <law@redhat.com>
1999
2000         * tree-ssa-dom.c (opt_stats): Move so that it lives just after
2001         the opt_stats_d structure.
2002         (vrp_data): Change from a varray into a hash table.
2003         (vrp_hash_elt): New structure for elements in the vrp hash table.
2004         (vrp_hash, vrp_eq):New functions for hashing and testing equality
2005         in the vrp hash table.
2006         (tree_ssa_dominator_optimize): Initialize VRP_DATA.  Reorganize
2007         initialization slightly to make it easier to read.  No longer need
2008         to grow/clear the varray.  Instead empty and delete the hash table.
2009         (dom_opt_finalize_block): Update due to change of VRP_DATA from
2010         a varray to a hash table.
2011         (simplify_cond_and_loop_avail_expr, record_range): Similarly.
2012
2013         * tree-ssa-ccp.c (get_default_value): If we have a constant
2014         value recorded for an SSA_NAME, then use that constant as
2015         the initial lattice value.
2016         (substitute_and_fold): Transfer equivalences discovered into
2017         SSA_NAME_EQUIV.
2018
2019         * tree.h (SSA_NAME_EQUIV): Add comments.
2020         (SET_SSA_NAME_EQUIV): Similarly.
2021
2022 2004-09-21  David Edelsohn  <edelsohn@gnu.org>
2023
2024         * config/rs6000/linux64.h (PROCESSOR_DEFAULT64): Default to POWER4.
2025
2026         * config/rs6000/rs6000.c (rs6000_adjust_cost): dep_insn is used.
2027
2028 2004-09-21  Mark Mitchell  <mark@codesourcery.com>
2029
2030         * c-decl.c (implicityl_declare): Call maybe_apply_renaming_pragma.
2031         (finish_decl): Likewise.
2032
2033 2004-09-21  Devang Patel  <dpatel@apple.com>
2034
2035         * tree.def (VEC_COND_EXPR): New tree node.
2036         * tree-ssa-operands.c (get_expr_operands): Handle VEC_COND_EXPR.
2037
2038 2004-09-21  Stan Shebs  <shebs@apple.com>
2039
2040         * config/rs6000/darwin-tramp.asm: Add __ppc64__ case.
2041         * config/rs6000/darwin-world.asm: Likewise.
2042
2043 2004-09-21  Daniel Berlin  <dberlin@dberlin.org>
2044
2045         * tree-ssa.c (verify_def): Use print_generic_stmt,
2046         not debug_generic_stmt.
2047         (verify_use): Ditto.
2048         (verify_phi_args): Ditto.
2049         (verify_ssa): Ditto.
2050
2051 2004-09-21  Paul Brook  <paul@codesourcery.com>
2052
2053         * varasm.c (default_assemble_integer): Return false for values wider
2054         than the target word size.  Works around GAS bug.
2055
2056 2004-09-21  Zack Weinberg  <zack@codesourcery.com>
2057
2058         * reg-notes.def (REG_DEP_TRUE): New entry, place first so it
2059         gets value 0.
2060         * print-rtl.c (print_rtx): Print the name of a REG_NOTE even
2061         if it has value 0.
2062
2063 2004-09-21  Daniel Berlin <dberlin@dberlin.org>
2064
2065         * c-typeck.c (build_function_call): Give name of object
2066         we are attempting to call in error message.
2067         * c-objc-common.c (c_tree_printer): Call pp_expression,
2068         not return false, for 'E' case.
2069
2070 2004-09-21  Steven Bosscher  <stevenb@suse.de>
2071
2072         PR rtl-optimization/17482
2073         * postreload-gcse.c (reg_avail_info, oprs_unchanged_p,
2074         load_killed_in_block_p): Clarify comments.
2075         (record_last_reg_set_info): Make static inline.
2076         (mark_call, mark_set, mark_clobber, mark_oprs_set): Remove.
2077         (record_opr_changes): New function to replace the above.
2078         (compute_hash_table): Clarify comments.  Use record_opr_changes.
2079         (reg_set_between_after_reload_p): Clean up.
2080         (reg_used_between_after_reload_p): Likewise.
2081         (eliminate_partially_redundant_load): Clarify comments.
2082
2083 2004-09-21  Eric Botcazou  <ebotcazou@libertysurf.fr>
2084
2085         PR rtl-optimization/17266
2086         * regmove.c (optimize_reg_copy_3): Make a new SUBREG for each insn.
2087
2088 2004-09-21  Uros Bizjak  <uros@kss-loka.si>
2089
2090         PR rtl-optimization/14851
2091         * rtlanal.c (commutative_operand_precedence): Calculate
2092         precedence of stripped constant.
2093
2094 2004-09-20 Jeff Law  <law@redhat.com>
2095            Jan Hubicka  <jh@suse.cz>
2096
2097         * tree-ssanames.c (make_ssa_name): No longer need to clear, then
2098         initialize key elements here.
2099         (release_ssa_name): Zero the released SSA_NAME here.
2100         * tree.h (SSA_NAME_EQUIV, SET_SSA_NAME_EQUIV): New macros.
2101         (struct tree_ssa_name): Add new "equiv" field.
2102         * tree-ssa-dom.c (const_and_copies): Kill the global varray.
2103         (tree_ssa_dominator_optimize): No longer allocate, resize or
2104         clear CONST_AND_COPIES.
2105         (get_value_for, set_value_for): Kill.
2106         (thread_across_edge): Get/set the equivalency using
2107         SSA_NAME_EQUIV and SET_SSA_NAME_EQUIV.
2108         (restore_vars_to_original_value): Likewise.
2109         (record_equivalences_from_phis): Likewise.
2110         (record_dominating_conditions): Likewise.
2111         (record_const_or_copy, record_equality): Likewise.
2112         (lookup_avail_expr): Likewise.
2113         (record_equivalences_from_stmt, cprop_operand): Likewise.
2114         (cprop_into_successor_phis): No longer need to pass around
2115         CONST_AND_COPIES.  Callers updated. Get equivalences via
2116         SSA_NAME_EQUIV.
2117         (cprop_into_phis): Likewise.
2118
2119 2004-09-20  Matt Austern <austern@apple.com>
2120             Zack Weinberg  <zack@codesourcery.com>
2121
2122         * c-common.c (fix_string_type): Build the unqualified array
2123         type unconditionally, then use c_build_qualified_type to get
2124         the proper const-qualified variant, and set its
2125         TYPE_MAIN_VARIANT to refer to the unqualified type.
2126         * c-lex.c (c_lex_return_raw_string): New global.
2127         (c_lex_with_flags): Honor it.
2128         * c-pragma.h: Declare it.
2129
2130 2004-09-20  Daniel Berlin  <dberlin@dberlin.org>
2131
2132         * Makefile.in: Fix flags.h dependencies to be $(FLAGS_H).
2133
2134 2004-09-21  Jan Hubicka  <jh@suse.cz>
2135
2136         PR middle-end/17126
2137         * tree-optimize.c (update_inlined_to_pointers): Fix the recursion.
2138         (tree_rest_of_compilation): Cleanup.
2139
2140 2004-09-20  Ulrich Weigand  <uweigand@de.ibm.com>
2141
2142         * config/s390/s390.c (s390_select_rtx_section): Remove.
2143         (TARGET_ASM_SELECT_RTX_SECTION): Do not redefine.
2144
2145 2004-09-20  Kaz Kojima  <kkojima@gcc.gnu.org>
2146
2147         * config/sh/sh.c (sh_expand_prologue): Add a REG_FRAME_RELATED_EXPR
2148         note to pretend a direct save from the original register when an
2149         intermediate register is used for the save.
2150
2151 2004-09-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2152
2153         * tsystem.h (alloca): Provide a default definition.
2154
2155         Revert:
2156         2001-08-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2157             * unwind-dw2.c: Call __builtin_alloca, not alloca.
2158
2159 2004-09-20  Andrew Pinski  <pinskia@physics.uc.edu>
2160
2161         PR tree-opt/17558
2162         * tree-ssa-copy.c (may_propagate_copy): Only allow if the
2163         aliasing sets are the same rather than just conflicting.
2164
2165 2004-09-20  Jan Hubicka  <jh@suse.cz>
2166
2167         PR middle-end/16460
2168
2169         * cgraph.c (cgraph_unnest_node): New function.
2170         (c_finalize): Rename to ....
2171         (c_warn_unused_result_recursivly): ... this one; do only the warning
2172         (finish_function): Finalize the toplevel function; do not lower nested tree.
2173         * cgraph.h (cgraph_unnest_node): Declare.
2174         * cgraphunit.c (decide_is_function_needed): Do not use cgraph
2175         nestedness datastructure.
2176         * cse.c (cse_insn): Do not cprop nonlocal LABEL_REFs.
2177         * reload1.c (set_label_offsets): Fix call of set_label_offsets.
2178         * tree-nested.c (finlize_nesting_tree_1):  Use un-nesting code.
2179
2180 2004-09-20  Richard Henderson  <rth@redhat.com>
2181
2182         * config/alpha/alpha.c (some_small_symbolic_operand_int): Rename
2183         from some_small_symbolic_operand_1; export.
2184         (some_small_symbolic_operand): Remove.
2185         * config/alpha/alpha.md (some_small_symbolic_operand splitter): Remove
2186         extra C check.
2187         * config/alpha/predicates.md (some_small_symbolic_operand): New.
2188
2189 2004-09-20  Jan Hubicka  <jh@suse.cz>
2190
2191         * predict.c (return_prediction): New function.
2192         (apply_return_prediction): Likewise.
2193         (tree_bb_level_predictions): Likewise.
2194         (tree_estimate_probability): Add noreturn exit edges; call
2195         bb_level_predictions; fix logic of return heuristics.
2196         (predict_paths_leading_to):  Rescuesce from old CVS version of
2197         process_note_prediction function.
2198         * predict.def (PRED_TREE_EARLY_RETURN): New predictor.
2199
2200 2004-09-20  Andreas Krebbel  <krebbel1@de.ibm.com>
2201
2202         * config/s390/s390.c (s390_frame_info): Added alignment statement for
2203         floating point register area on stack.
2204
2205 2004-09-20  Jakub Jelinek  <jakub@redhat.com>
2206
2207         * predict.c (expr_expected_value): Use *_CLASS_P macros.
2208
2209 2004-09-20  Daniel Berlin  <dberlin@dberlin.org>
2210
2211         * tree-ssa-pre.c (compute_antic_aux): Use malloc'd worklist, to avoid
2212         generating useless garbage.
2213
2214 2004-09-20  Paolo Bonzini  <bonzini@gnu.org>
2215
2216         * builtins.c (fold_builtin): Call the new omonymous
2217         target hook for machine-dependent built-ins.
2218         * target-def.h (TARGET_FOLD_BUILTIN): New.
2219         * target.h (struct gcc_target): Add the fold_builtin hook.
2220         * targhooks.c (default_fold_builtin): New.
2221         * targhooks.h (default_fold_builtin): Declare it.
2222
2223 2004-09-20  Kazu Hirata  <kazu@cs.umass.edu>
2224
2225         * cfg.c, tree-ssa-threadupdate.c, tree-vectorizer.c: Fix
2226         comment typos.
2227
2228 2004-09-20  Richard Sandiford  <rsandifo@redhat.com>
2229
2230         PR target/17565
2231         * config/mips/mips.md (define_asm_attributes): Set can_delay to no.
2232
2233 2004-09-20  Jan Hubicka  <jh@suse.cz>
2234
2235         * predict.c (estimate_probability): Remove unnecesary code.
2236
2237 2004-09-19  Ira Rosen  <irar@il.ibm.com>
2238
2239         * tree-vectorizer.h (stmt_vec_info): Add vect_dr_base field.
2240         (STMT_VINFO_VECT_DR_BASE): Declare.
2241         (VECT_SMODULO): Declare.
2242         * tree-vectorizer.c (vect_compute_array_ref_alignment): New function.
2243         (vect_compute_array_base_alignment): New function.
2244         (vect_analyze_data_ref_access): Check array indices. Remove one
2245         dimensional arrays restriction.
2246         (vect_get_ptr_offset): New function.
2247         (vect_get_symbl_and_dr): New function.
2248         (vect_get_base_and_bit_offset): Support additional data refs. Renamed
2249         (former name vect_get_base_decl_and_bit_offset).
2250         (vect_create_index_for_array_ref): Removed.
2251         (vect_create_index_for_vector_ref): New function.
2252         (vect_create_addr_base_for_vector_ref): New function.
2253         (vect_create_data_ref): Handle additional data refs. Call
2254         vect_create_index_for_vector_ref and vect_create_addr_base_for_vector_ref.
2255         (vect_compute_data_ref_alignment): Support the changes. Call
2256         vect_get_base_and_bit_offset.
2257         (vect_analyze_data_refs): Call vect_get_symbl_and_dr. Support additional
2258         data refs. Store vect_dr_base.
2259         (vect_analyze_data_ref_accesses): Support nonconstant init.
2260         (new_stmt_vec_info): Initialize vect_dr_base field.
2261         (vect_is_simple_iv_evolution): Call initial_condition_in_loop_num.
2262         (get_vectype_for_scalar_type): Check for BLKmode.
2263         * tree-chrec.h (initial_condition_in_loop_num): Declare.
2264         * tree-chrec.c (initial_condition_in_loop_num): New function.
2265         (chrec_component_in_loop_num): New function.
2266         (evolution_part_in_loop_num): Call chrec_component_in_loop_num.
2267         * tree-data-ref.c (analyze_array_indexes): Change parameter (access_fns)
2268         to be pointer to varray_type.
2269
2270 2004-09-19  Jan Hubicka  <jh@suse.cz>
2271
2272         * basic-block.h (update_bb_profile_after_threading): Declare.
2273         * cfg.c (update_bb_profile_after_threading): Break out from ...
2274         * cfgcleanup.c (try_forward_edges): ... here; use it.
2275         * tree-ssa-dom.c (thread_across_edge): Use it.
2276         * tree-ssa-threadupdate.c (create_block_for_threading): Zero out
2277         profile of the new BB.
2278
2279 2004-09-19  Daniel Berlin  <dberlin@dberlin.org>
2280
2281         * tree-ssa-pre.c (insert_into_set): Don't put
2282         is_gimple_min_invariant values into the set.
2283
2284 2004-09-19  Andreas Jaeger  <aj@suse.de>
2285
2286         * tree-ssa-dom.c (restore_nonzero_vars_to_original_value): Fix
2287         prototype.
2288
2289 2004-09-18  Kazu Hirata  <kazu@cs.umass.edu>
2290
2291         * config/cris/cris.h: Preserve the original spelling in a
2292         quote.
2293
2294 2004-09-18 Jeff Law  <law@redhat.com>
2295
2296         * tree-ssa-dom.c (nonzero_vars_stack, vrp_variables_stack): New
2297         global varrays to replace the block local varrays.
2298         (struct dom_walk_block_data): Remove, no longer used.
2299         (get_eq_expr_value): No longer need to pass around pointers to local
2300         varrays.  Callers updated.  Unused markers added to unused parameters.
2301         (record_range, record_equivalences_from_stmt): Likewise.
2302         (record_equivalences_from_incoming_edge): Likewise.
2303         (record_var_is_nonzero): Likewise.  Update now that we have a
2304         single global varray of SSA_NAMEs that need restoring.
2305         (dom_opt_initialize_block_local_data): Kill, no longer used.
2306         (tree_ssa_dominator_optimize): Initialize new global varrays.
2307         Update callbacks in dominator walker structure.
2308         (dom_opt_initialize_block): Add markers to NONZERO_VAR_STACK and
2309         VRP_VARIABLES_STACK.
2310         (restore_nonzero_vars_to_original_value): Update now that we have
2311         a single global varray of SSA_NAMEs that need restoring.
2312         (dom_opt_finalize_block): Similarly for VRP_VARIABLES_STACK.
2313         Remove unused variables.
2314         (optimize_stmt): Remove unused variable.
2315
2316 2004-09-18  Jan Hubicka  <jh@suse.cz>
2317
2318         * tree-cfg.c (thread_jumps):  Fix updating of the profile.
2319
2320         * tree-optimize.c (tree_rest_of_compilation): Kill forgotten
2321         verify_cgraph call.
2322
2323 2004-09-18  Kazu Hirata  <kazu@cs.umass.edu>
2324
2325         * alias.c, crtstuff.c, dbxout.c, domwalk.c, domwalk.h, gcc.c,
2326         gcse.c, global.c, lambda-code.c, loop.c, mips-tdump.c,
2327         optabs.h, predict.c, reg-stack.c, regclass.c, sched-rgn.c,
2328         tree-optimize.c, tree-ssa-dom.c, tree-ssa-forwprop.c,
2329         tree-ssa-operands.c, tree-ssa-phiopt.c,
2330         tree-ssa-threadupdate.c: Fix comment typos.
2331
2332 2004-09-18  Kazu Hirata  <kazu@cs.umass.edu>
2333
2334         * config/darwin-c.c, config/arc/arc.c, config/arc/arc.md,
2335         config/arm/README-interworking, config/arm/arm-cores.def,
2336         config/arm/arm.c, config/arm/arm.h, config/arm/pe.c,
2337         config/arm/vfp.md, config/c4x/c4x.c, config/c4x/c4x.h,
2338         config/cris/cris.c, config/cris/cris.h, config/fr30/fr30.c,
2339         config/fr30/fr30.h, config/fr30/fr30.md, config/frv/frv.c,
2340         config/frv/frv.md, config/i386/winnt.c,
2341         config/ia64/unwind-ia64.c, config/iq2000/iq2000.c,
2342         config/iq2000/iq2000.h, config/m68hc11/m68hc11.c,
2343         config/m68hc11/m68hc11.md, config/m68k/m68k.c,
2344         config/mcore/mcore.c, config/mips/mips.h,
2345         config/mn10300/mn10300.md, config/pa/pa.c,
2346         config/pa/pa64-regs.h, config/pdp11/pdp11.c,
2347         config/rs6000/rs6000.c, config/sh/symbian.c,
2348         config/sparc/sparc.h: Fix comment typos.  Follow spelling
2349         conventions.
2350
2351 2004-09-18  Joseph S. Myers  <jsm@polyomino.org.uk>
2352
2353         PR c/17424
2354         * c-typeck.c (c_expr_sizeof_expr): Check for error_mark_node.
2355
2356 2004-09-18  Diego Novillo  <dnovillo@redhat.com>
2357
2358         * tree-ssa-alias.c (setup_pointers_and_addressables): Don't
2359         remove TREE_ADDRESSABLE from RESULT_DECL.
2360
2361 2004-09-18  Diego Novillo  <dnovillo@redhat.com>
2362
2363         * tree-ssa-alias.c (dump_alias_info): Ignore NULL SSA_NAMEs.
2364
2365 2004-09-18  Jan Hubicka  <jh@suse.cz>
2366
2367         * tree-into-ssa.c (rewrite_ssa_into_ssa):  Expect ssa_name to return
2368         NULL.
2369         * tree-ssa-alias.c (init_alias_info): Likewise.
2370         * tree-ssa.c (verify_flow_sensitive_alias_info): Likewise.
2371         (verify_ssa): Likewise.
2372         * tree-ssanames.c (make_ssa_name): Clear out ssa_names arrays.
2373
2374 2004-09-18  Jan Hubicka  <jh@suse.cz>
2375
2376         * i386.c (legitimize_pic_address): Fix splitting of PLUS with
2377         huge offset.
2378
2379 2004-09-18  Kaz Kojima  <kkojima@gcc.gnu.org>
2380
2381         * config/sh/linux.h (ASM_PREFERRED_EH_DATA_FORMAT): Remove.
2382         * config/sh/sh.h (ASM_PREFERRED_EH_DATA_FORMAT): Use
2383         DW_EH_PE_sdata* for data.
2384         (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Likewise.
2385
2386 2004-09-17  Geoffrey Keating  <geoffk@apple.com>
2387
2388         * tree-inline.c (copy_tree_r): Don't duplicate constants, they're
2389         shared anyway.
2390
2391         PR pch/13361
2392         * c-typeck.c (constructor_asmspec): Delete.
2393         (struct initializer_stack): Delete field 'asmspec'.
2394         (start_init): Delete saving of asmspec.
2395         (finish_init): Don't update constructor_asmspec.
2396         * dwarf2out.c (rtl_for_decl_location): Duplicate string from tree.
2397         * stmt.c (expand_asm): Duplicate strings from tree.
2398         (expand_asm_operands): Likewise.
2399         * tree.c (tree_size): Update computation of size of STRING_CST.
2400         (make_node): Don't make STRING_CST nodes.
2401         (build_string): Allocate string with tree node.
2402         (tree_code_size): Clean up assertions, don't allow requests
2403         for "the size of a STRING_CST".
2404         * tree.def (STRING_CST): Update comment.
2405         * tree.h (TREE_STRING_POINTER): Adjust for change to STRING_CST.
2406         (tree_string): Place contents of string in tree node.
2407         * config/sh/sh.c (sh_handle_sp_switch_attribute): Duplicate string
2408         from tree.
2409
2410 2004-09-17  Zack Weinberg  <zack@codesourcery.com>
2411
2412         * Makefile.in (c-parse.o): Depend on $(C_PRAGMA_H).
2413         * objc/Make-lang.in (objc/objc-parse.o): Likewise.
2414
2415 2004-09-17  Jones Desougi  <jones@ingate.com>
2416
2417         * configure.ac: Replace AC_COMPILE_CHECK_SIZEOF with AC_CHECK_SIZEOF.
2418         * configure, config.in: Regenerate.
2419
2420 2004-09-17  Zack Weinberg  <zack@codesourcery.com>
2421
2422         * tree.c, tree.h (tree_class_strings): Make array const.
2423         Reindent per coding convention.  Move asterisk to proper place
2424         per coding convention.
2425
2426 2004-09-18  Andreas Schwab  <schwab@suse.de>
2427
2428         * Makefile.in (gimple-low.o): Depend on $(EXPR_H).
2429         (tree-vectorizer.o): Likewise.
2430         (targhooks.o): Likewise.
2431
2432 2004-09-17  Jeffrey D. Oldham  <oldham@codesourcery.com>
2433             Zack Weinberg  <zack@codesourcery.com>
2434
2435         * alias.c (find_base_decl): Remove unreachable case '3' block.
2436         * expr.c (safe_from_p): Abort if passed a type.
2437         * tree-gimple.c (recalculate_side_effects): Abort if passed
2438         anything other than an expression.
2439         * tree-ssa-pre.c (phi_translate): Return expr immediately if
2440         is_gimple_min_invariant is true for it.  Reorder cases for clarity.
2441         Abort on un-handled tree classes.
2442         (valid_in_set): Likewise.
2443         * tree.c (tree_code_class_strings): New static data.
2444
2445         * tree.h (enum tree_code_class): New.
2446         (tree_code_class_strings): Declare.
2447         (TREE_CODE_CLASS_STRING, EXCEPTIONAL_CLASS_P, CONSTANT_CLASS_P)
2448         (REFERENCE_CLASS_P, COMPARISON_CLASS_P, UNARY_CLASS_P, BINARY_CLASS_P)
2449         (STATEMENT_CLASS_P, EXPRESSION_CLASS_P, IS_TYPE_OR_DECL_P): New macros.
2450         (TYPE_P, DECL_P, IS_NON_TYPE_CODE_CLASS, IS_EXPR_CODE_CLASS)
2451         (checking macros, EXPR_LOCATION, SET_EXPR_LOCATION, EXPR_LOCUS): Update.
2452
2453         * tree.def, c-common.def, objc/objc-tree.def: Use
2454         tree_code_class enumeration constants instead of code letters.
2455
2456         * alias.c, builtins.c, c-common.c, c-format.c, c-lang.c, c-pragma.c
2457         * c-typeck.c, cgraphunit.c, convert.c, dbxout.c, dwarf2out.c
2458         * emit-rtl.c expr.c, fold-const.c, gimplify.c, lambda-code.c
2459         * langhooks.c, langhooks.h, predict.c, print-tree.c, reload1.c, stmt.c
2460         * tree-browser.c, tree-cfg.c, tree-chrec.c, tree-complex.c, tree-dfa.c
2461         * tree-dump.c, tree-eh.c, tree-gimple.c, tree-inline.c, tree-nested.c
2462         * tree-outof-ssa.c, tree-pretty-print.c, tree-sra.c, tree-ssa-ccp.c
2463         * tree-ssa-dce.c, tree-ssa-dom.c, tree-ssa-forwprop.c, tree-ssa-live.c
2464         * tree-ssa-loop-im.c, tree-ssa-loop-ivopts.c, tree-ssa-operands.c
2465         * tree-ssa-phiopt.c, tree-ssa-pre.c, tree-ssa-propagate.c
2466         * tree-ssa.c, tree-ssanames.c, tree-tailcall.c, tree.c, varasm.c
2467         * config/sol2-c.c, config/arm/arm.c, config/i386/winnt.c
2468         * config/pa/pa.c, config/pa/pa.h, config/sh/sh.c, objc/objc-lang.c
2469         Update to match.
2470
2471         * LANGUAGES: Add note about change.
2472
2473 2004-09-17  Diego Novillo  <dnovillo@redhat.com>
2474
2475         PR tree-optimization/17319
2476         * tree-ssa-alias.c (compute_points_to_and_addr_escape): Also
2477         examine pointers on the LHS of an assignment.
2478         (collect_points_to_info_r): Handle RETURN_EXPR.
2479
2480 2004-09-17 Jeff Law  <law@redhat.com>
2481
2482         * tree-ssa-dom.c (const_and_copies_stack): New.
2483         (dom_walk_block_data): Remove const_and_copies field.
2484         (record_const_or_copy): No longer need to pass in varray_type *.
2485         Use CONST_AND_COPIES_STACK rather than passed in block local stack.
2486         Callers updated.
2487         (record_equality): Similarly.
2488         (restore_vars_to_original_value): Similarly.  Revamp to use new
2489         single global stack rather than per-block stacks.
2490         (tree_ssa_dominator_optimize): Initialize the CONST_AND_COPIES_STACK.
2491         (thread_across_edge): Remove now unused parameters.
2492         (dom_opt_initialize_block_local_data): No longer test the block
2493         local CONST_AND_COPIES.
2494         (dom_opt_initialize_block): Push a marker on CONST_AND_COPIES_STACK.
2495
2496 2004-09-17  Jan Hubicka  <jh@suse.cz>
2497
2498         PR tree-optimization/17509
2499         * tree-optimize.c (update_inlined_to_pointers): New function.
2500         (tree_rest_of_compilation): Use it.
2501
2502 2004-09-17  Devang Patel  <dpatel@apple.com>
2503
2504         * dbxout.c (get_lang_number): New.
2505         (dbxout_init): Include lang number in N_SO  stab.
2506         * dbxout.h (N_SO_AS, N_SO_C, N_SO_ANSI_C, N_SO_CC, N_SO_FORTRAN,
2507         N_SO_PASCAL, N_SO_FORTRAN90, N_SO_OBJC, N_SO_OBJCPLUS): New #define.
2508
2509 2004-09-17  Diego Novillo  <dnovillo@redhat.com>
2510
2511         PR tree-optimization/17273
2512         * tree-ssa.c (replace_immediate_uses): Call fold_stmt if the
2513         replacement is a constant.
2514
2515 2004-09-17  Joseph S. Myers  <jsm@polyomino.org.uk>
2516
2517         * c-tree.h (enum c_typespec_keyword): New.
2518         (struct c_declspecs): Adjust description of "type".  Remove
2519         specbits, explicit_int_p and explicit_char_p.  Rename
2520         typedef_signed_p to explicit_signed_p.  Add default_int_p, long_p,
2521         short_p, signed_p, unsigned_p and complex_p.
2522         (finish_declspecs): New.
2523         * c-parse.in (datadef, datadecl, setspecs, decl, component_decl,
2524         typename): Call finish_declspecs.
2525         * c-decl.c (finish_declspecs): New.
2526         (declspecs_add_type): Check for combinations which cannot occur in
2527         valid specifier lists.  Update comments.
2528         (shadow_tag_warned): Remove checks done in finish_declspecs.
2529         Don't report useless type name if type defaulted to int.
2530         (grokdeclarator): Remove checks and actions done in
2531         finish_declspecs.  Don't allow for type being NULL.  Update for
2532         datastructures changes.  Initialize decl_attr.
2533         (build_null_declspecs, quals_from_declspecs): Update for
2534         datastructures changes.
2535
2536 2004-09-17  Sylvain Pion  <Sylvain.Pion@sophia.inria.fr>
2537
2538         * doc/extend.texi: Fix duplicated word.
2539
2540 2004-09-17  Toon Moene  <toon@moene.indiv.nluug.nl>
2541
2542         * doc/invoke.texi: Remove stray explanation on
2543         -freduce-all-givs and -fmove-all-movables.
2544
2545 2004-09-17  James Morrison  <phython@gcc.gnu.org>
2546
2547         * doc/cfg.texi: Use @smallexample.
2548         * doc/md.texi: Likewise.
2549         * doc/tree-ssa.texi: Likewise.
2550         * doc/extend.texi: Likewise.  Use @r{} in comments.
2551         * doc/trouble.texi: Use @r{} in comments.
2552
2553 2004-09-17  Hans-Peter Nilsson  <hp@bitrange.com>
2554
2555         * configure.ac (gcc_cv_gld_version): Handle whitespace before
2556         "VERSION=".
2557         * aclocal.m4 (_gcc_COMPUTE_GAS_VERSION): Ditto.
2558         * configure: Regenerate.
2559
2560 2004-09-17  J"orn Rennecke <joern.rennecke@superh.com>
2561
2562         * sh.c (sh_gimplify_va_arg_expr): Don't call pass_by_reference.
2563         (sh_pass_by_reference): Work around std_gimplify_va_arg_expr bug.
2564         * t-sh (MULTILIB_CPUS): s/ML_m/ML_sh/g .
2565         * t-sh64 (MULTILIB_CPU_DIRS): Likewise.  Match dashes and trailing
2566         slashes in substitutions.
2567         (MULTILIB_DIRNAMES): Remove defunct removal of /media32.
2568
2569 2004-09-17  Kazu Hirata  <kazu@cs.umass.edu>
2570
2571         * basic-block.h, c-decl.c, c-parse.in, cgraphunit.c, ddg.c,
2572         gimplify.c, lambda-code.c, optabs.c, predict.c,
2573         tree-scalar-evolution.c, tree-sra.c, tree-ssa-loop-ch.c,
2574         tree-ssa.c, vec.h: Fix comment typos.  Follow spelling
2575         conventions.
2576
2577 2004-09-17  Kazu Hirata  <kazu@cs.umass.edu>
2578
2579         * doc/compat.texi, doc/cpp.texi, doc/cppopts.texi,
2580         doc/extend.texi, doc/install.texi, doc/invoke.texi,
2581         doc/sourcebuild.texi, doc/tm.texi, doc/tree-ssa.texi,
2582         doc/trouble.texi: Use @option around options.
2583
2584 2004-09-17  Richard Sandiford  <rsandifo@redhat.com>
2585
2586         * Makefile.in (gen-protos.o): Depend on errors.h.
2587
2588 2004-09-17  Steven Bosscher  <stevenb@suse.de>
2589
2590         PR tree-optimization/17513
2591         * cfgexpand.c (construct_init_block): Clear EDGE_EXECUTABLE
2592         for successors of the entry block.
2593
2594 2004-09-17  Uros Bizjak  <uros@kss-loka.si>
2595
2596         PR rtl-optimization/15187
2597         * ifcvt.c (noce_try_cmove_arith): Exit early if total
2598         insn_rtx_cost of both branches > BRANCH_COST
2599
2600 2004-09-16  Diego Novillo  <dnovillo@redhat.com>
2601
2602         PR tree-optimization/17528
2603         * tree-ssa-alias.c (compute_flow_insensitive_aliasing): Do not
2604         erase the may-alias set for a tag when merging it with
2605         another.
2606
2607 2004-09-16  Kaz Kojima  <kkojima@gcc.gnu.org>
2608
2609         * config/sh/sh.md (call): Extend 32-bit addresses to DImode
2610         for 32-bit TARGET_SHMEDIA.
2611         (call_value): Likewise.
2612
2613 2004-09-16  Diego Novillo  <dnovillo@redhat.com>
2614
2615         * tree-ssa-operands.c (add_call_clobber_ops): Make read-only
2616         test apply only to TREE_STATIC and DECL_EXTERNAL.
2617
2618 2004-09-16  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
2619
2620         * Makefile.in (tree-cfg.o): Add CFGLAYOUT_H dependency.
2621         * basic-block.h (get_dominated_by_region): Declare.
2622         * dominance.c (get_dominated_by_region): New function.
2623         * tree-cfg.c: Include cfglayout.h.
2624         (tree_duplicate_bb): Duplicate also phi nodes.
2625         (struct ssa_name_map_entry): New type.
2626         (add_phi_args_after_copy_bb, add_phi_args_after_copy,
2627         ssa_name_map_entry_hash, ssa_name_map_entry_eq,
2628         allocate_ssa_names, rewrite_to_new_ssa_names_def,
2629         rewrite_to_new_ssa_names_use, rewrite_to_new_ssa_names_bb,
2630         rewrite_to_new_ssa_names, tree_duplicate_sese_region): New functions.
2631         * tree-flow.h (tree_duplicate_sese_region, add_phi_args_after_copy_bb,
2632         add_phi_args_after_copy, rewrite_to_new_ssa_names_bb,
2633         rewrite_to_new_ssa_names, allocate_ssa_names,
2634         rewrite_into_loop_closed_ssa, verify_loop_closed_ssa): Declare.
2635         * tree-ssa-loop-ch.c (duplicate_blocks): Removed.
2636         (copy_loop_headers): Use tree_duplicate_sese_region.
2637
2638 2004-09-16  Frank Ch. Eigler  <fche@redhat.com>
2639
2640         * profile.c (branch_prob): Restore support for USE_MAPPED_LOCATION.
2641
2642 2004-09-16 Jeff Law  <law@redhat.com>
2643
2644         * tree-into-ssa.c (block_defs_stack): New toplevel varray.
2645         (rewrite_block_data): Remove, no longer used.
2646         (rewrite_initialize_block_local_data): Remove, no longer used.
2647         (rewrite_initialize_block): Mark parameters as unused as needed.
2648         Change references to the block local block_defs to be block_defs_stack.
2649         Push a marker onto the block_defs_stack.
2650         (ssa_rewrite_initialize_block): Similarly.
2651         (rewrite_stmt, ssa_rewrite_stmt): Similarly.
2652         (ssa_register_new_def): No longer needs varray argument.  Use
2653         block_defs_stack instead.  No longer handle possibly null block_defs
2654         varray.  Reverse order of items we push on the stack to make it
2655         easier to identify our marker.
2656         (register_new_def): No longer handle possibly null block_defs
2657         varray.
2658         (rewrite_finalize_block): Revamp to look for markers in the global
2659         block_defs_stack varray rather than wiping a block local varray.
2660         Mark arguments as unused as needed.
2661         (ssa_rewrite_finalize_block): Similarly.
2662         (rewrite_into_ssa): Update initialization of dom walker structure
2663         to reflect that we don't need block local data anymore.  Initialize
2664         the block_defs_stack varray.
2665         (rewrite_ssa_into_ssa): Similarly.
2666         * tree-ssa-dom.c (block_defs_stack): New toplevel varray.
2667         (struct dom_walk_data): Kill block_defs field.
2668         (tree_ssa_dominator_optimize): Initialize block_defs_stack.
2669         (thread_across_edge): Use the global block_defs_stack instead of
2670         the old block_defs varray.
2671         (dom_opt_initialize_block_local_data): Update now that we don't have
2672         block_defs field to check anymore.
2673         (dom_opt_initialize_block): Push a marker onto block_defs_stack.
2674         (restore_currdefs_to_original_value): Use the new block_defs_stack
2675         instead of a block local varray.
2676         (dom_opt_finalize_block): Similarly.
2677         (record_equivalencs_from_phis): Similarly.
2678         (optimize_stmt, register_definitions_for_stmt): Similarly.
2679
2680 2004-09-16  Andrew MacLeod  <amacleod@redhat.com>
2681
2682         PR tree-optimization/17517
2683         * tree-ssa-copyrename.c (copy_rename_partition_coalesce): Don't
2684         coalesce same-root variables without checking for abnormal PHI usage.
2685
2686 2004-09-16  Daniel Berlin  <dberlin@dberlin.org>
2687
2688         * cfgloop.h (duplicate_loop):  Add prototype.
2689         * cfgloopmanip.c (duplicate_loop): Make non-static.
2690         * lambda-code.c (perfect_nestify): Factor out test whether
2691         we can handle this loop into separate function.
2692         Call it.
2693         (can_convert_to_perfect_nest): New function.
2694         (replace_uses_of_x_with_y): Add modify_stmt call.
2695         * tree-loop-linear.c (linear_transform_loops): Call
2696         rewrite_into_loop_closed_ssa and free_df.
2697
2698 2004-09-16  Daniel Berlin  <dberlin@dberlin.org>
2699
2700         * lambda-code.c (invariant_in_loop): is_gimple_min_invariant is
2701         loop invariant as well.
2702         (perfect_nestify): new function.
2703         (gcc_loop_to_lambda_loop): New parameters to track lower bounds,
2704         upper bounds, and steps.
2705         Set outerinductionvar properly.
2706         (gcc_loopnest_to_lambda_loopnest): Add loops and need_perfect
2707         parameters.
2708         Return NULL if we need a perfect loop and can't make one.
2709         (lambda_loopnest_to_gcc_loopnest): Correct algorithm.
2710         (not_interesting_stmt): New function.
2711         (phi_loop_edge_uses_def): Ditto.
2712         (stmt_uses_phi_result): Ditto.
2713         (stmt_is_bumper_for_loop): Ditto.
2714         (perfect_nest_p): Ditto.
2715         (nestify_update_pending_stmts): Ditto.
2716         (replace_uses_of_x_with_y): Ditto.
2717         (stmt_uses_op): Ditto.
2718         (perfect_nestify): Ditto.
2719         * lambda-mat.c (lambda_matrix_id_p): New function.
2720         * lambda-trans.c (lambda_trans_matrix_id_p): Ditto.
2721         * lambda.h: Update prototypes.
2722         * tree-loop-linear (linear_transform_loop): Use new
2723         perfect_nest_p. Detect and ignore identity transform.
2724         * tree-ssa-loop.c (pass_linear_transform): Use TODO_write_loop_closed.
2725
2726 2004-09-16  Sebastian Pop  <pop@cri.ensmp.fr>
2727
2728         * tree-loop-linear.c (gather_interchange_stats): Add more comments.
2729         Gather also strides of accessed data.  Pass in the data references
2730         array.
2731         (try_interchange_loops): Add a new heuristic for handling the temporal
2732         locality.  Pass in the data references array.
2733         (linear_transform_loops): Pass the data references array to
2734         try_interchange_loops.
2735
2736 2004-09-16  Kazu Hirata  <kazu@cs.umass.edu>
2737
2738         * doc/invoke.texi: Fix typos.  Follow spelling conventions.
2739
2740 2004-09-16  Nathan Sidwell  <nathan@codesourcery.com>
2741
2742         * doc/c-tree.texi (Classes): Remove index entries for
2743         TREE_VIA_{PUBLIC,PROTECTED,PRIVATE}.
2744
2745 2004-09-16  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
2746
2747         * fold-const.c (fold): Fold difference of addresses.
2748         (ptr_difference_const): Moved from tree-ssa-loop-ivopts, based on
2749         get_inner_reference.
2750         * tree-ssa-loop-ivopts.c (peel_address): Removed.
2751         (ptr_difference_const): Moved to fold-const.c.
2752         (split_address_cost): Use get_inner_reference instead of peel_address.
2753         (ptr_difference_cost): Change type of diff to HOST_WIDE_INT.
2754         * tree.h (ptr_difference_const): Export.
2755
2756         * tree-ssa-loop-ivopts.c (dump_iv, dump_use, dump_cand): Add induction
2757         variable type to the dump.  Fix indentation.
2758         (idx_find_step): Handle nonconstant array_ref_element_size and
2759         array_ref_low_bound.
2760         (idx_record_use): Handle array_ref_element_size and
2761         array_ref_low_bound.
2762         (find_interesting_uses_stmt): Handle memory = nontrivial_expression
2763         statements correctly.
2764         (get_computation_at, iv_value): Do not unshare expressions here.
2765         (rewrite_use_outer): Unshare the expression before it is emitted
2766         to code.
2767         * tree-ssa-loop-niter.c (unsigned_type_for, signed_type_for):
2768         Moved to tree.c.
2769         * tree.c (unsigned_type_for, signed_type_for): Moved from
2770         tree-ssa-loop-niter.c.  Use langhooks.
2771         * tree.h (signed_type_for): Export.
2772
2773 2004-09-16  David Edelsohn  <edelsohn@gnu.org>
2774
2775         * config/rs6000/rs6000.c (rs6000_xcoff_asm_named_section): Update
2776         prototype.
2777
2778 2004-09-15  Andrew Pinski  <pinskia@physics.uc.edu>
2779
2780         PR target/11572
2781         * c-incpath.h (target_c_incpath_s): Add extra_pre_includes.
2782         Add two parameters to extra_includes.
2783         (C_INCPATH_INIT): Remove.
2784         * c-incpath.c (register_include_chains): Call extra_pre_includes
2785         before adding the standard include directory.
2786         Update call to extra_includes.
2787         (!defined TARGET_EXTRA_INCLUDES): Update
2788         hook_void_charptr_charptr_int and add !define
2789         TARGET_EXTRA_PRE_INCLUDES.
2790         (!define TARGET_EXTRA_INCLUDES): Define as
2791         hook_void_charptr_charptr_int.
2792         (!define TARGET_EXTRA_PRE_INCLUDES): Likewise.
2793         (target_c_incpath): Always declare.
2794         * fixinclude.c (defined TARGET_EXTRA_INCLUDES): Declare a
2795         empty function.
2796         (define TARGET_EXTRA_PRE_INCLUDES): Likewise.
2797         * config/darwin.h: (darwin_register_frameworks): Update for
2798         the two new parameters.
2799         (darwin_register_objc_includes): Add prototype.
2800         (TARGET_EXTRA_PRE_INCLUDES): Define.
2801         * config/darwin-c.c (darwin_register_objc_includes): New function.
2802         (darwin_register_frameworks): Update for the two new parameters.
2803         (target_c_incpath): Remove.
2804         * config/t-darwin (darwin-c.o): Add $(PREPROCESSOR_DEFINES) to
2805         the compile line.
2806         * doc/tm.texi (TARGET_EXTRA_INCLUDES): Document the two new
2807         parameters.
2808         (TARGET_EXTRA_PRE_INCLUDES): Document.
2809
2810         * gcc.c (spec_function): Add replace-outfile.
2811         (replace_outfile_spec_function): New function.
2812         * config/darwin.h (LINK_SPEC): Add replace
2813         -lobjc with -lobjc-gnu if -fgnu-runtime is
2814         supplied.
2815         * invoke.texi (replace-outfile): Document.
2816
2817 2004-09-13  Jan Hubicka  <jh@suse.cz>
2818
2819         * predict.c (expr_expected_value, strip_builtin_expect): New function.
2820         (tree_predict_by_opcode): Use it.
2821         (tree_estimate_probability): Add, for now disabled,
2822         strip_builtin_expect call.
2823
2824 2004-09-15  James E Wilson  <wilson@specifixinc.com>
2825
2826         PR target/17455
2827         * config/ia64/ia64.c (ia64_function_ok_for_sibcall): Return false
2828         if current_function_decl is a sibcall.
2829
2830 2004-09-15  Mark Mitchell  <mark@codesourcery.com>
2831
2832         * varasm.c (default_function_rdodata_section): Make sure to pass
2833         along a decl for a link-once section.
2834
2835 2004-09-15  Richard Henderson  <rth@redhat.com>
2836
2837         * tree-ssa-operands.c (add_call_clobber_ops): Fix unused variable
2838         warning with code disable.  Fix formatting.
2839
2840 2004-09-15  Steven Bosscher  <stevenb@suse.de>
2841
2842         * Makefile.in (tree-ssa-dom.o): Depend on tree-ssa-propagate.h.
2843         * tree-ssa-dom.c (cprop_into_stmt): Recompute TREE_INVARIANT
2844         after propagating into an ADDR_EXPR.
2845
2846 2004-09-15  Andrew Pinski  <apinski@apple.com>
2847
2848         PR rtl-opt/17427
2849         * gcse.c (process_insert_insn): insn_invalid_p has side effects.
2850         Move it out of gcc_assert.
2851
2852 2004-09-15  Joseph S. Myers  <jsm@polyomino.org.uk>
2853
2854         * attribs.c, builtins.c, c-format.c, c-pch.c, coverage.c,
2855         except.c, fold-const.c, function.c, langhooks.c, params.c,
2856         reload.c, reload1.c, stmt.c, stor-layout.c, toplev.c, tree-cfg.c,
2857         tree-dump.c, tree-mudflap.c, tree.c, varasm.c: Use %<, %> and %q
2858         for quoting in diagnostics going through pretty-print.c.  Use ''
2859         for quoting in other diagnostic text.
2860         * langhooks.c: Include intl.h.  Mark text locating diagnostics for
2861         translation.
2862         * Makefile.in (langhooks.o): Update dependencies.
2863         * pretty-print.h (pp_printf): Mark as accepting GCC diagnostic
2864         formats.
2865
2866 2004-09-15  Mark Mitchell  <mark@codesourcery.com>
2867
2868         * configure.ac: Check for COMDAT support.  Robustify check for
2869         SHF_MERGE support.
2870         * configure: Regenerated.
2871         * config.in: Likewise.
2872         * langhooks-def.h (lhd_comdat_group): New function.
2873         (LANG_HOOKS_COMDAT_GROUP): New macro.
2874         (LANG_HOOKS_DECLS): Use it.
2875         * langhooks.c (lhd_comdat_group): Define.
2876         * langhooks.h (lang_hooks_for_decls): Add comdat_group.
2877         * output.h (named_section_flags): Make it a macro.
2878         (named_section_real): New function.
2879         (default_no_named_section): Add decl parameter.
2880         (default_elf_asm_named_section): Likewise.
2881         (default_coff_asm_named_section): Likewise.
2882         (default_pe_asm_named_section): Likewise.
2883         * target.h (gcc_target): Adjust type of named_section.
2884         * varasm.c (named_section_flags): Rename to named_section_real.
2885         Add decl parameter.
2886         (default_no_named_section): Add decl parameter.
2887         (default_elf_asm_named_section): Use COMDAT, if available.  Deal
2888         with the case that ASM_COMMENT_START is "@".
2889         (default_coff_asm_named_section): Add decl parameter.
2890         (default_pe_asm_named_section): Likewise.
2891         * config/alpha/alpha.c (vms_asm_named_section): Add decl
2892         parameter.
2893         (unicosmk_asm_named_section): Likewise.
2894         * config/arm/arm.c (arm_elf_asm_named_section): Remove.
2895         * config/arm/elf.h (TARGET_ASM_NAMED_SECTION): Likewise.
2896         * config/c4x/c4x.c (c4x_asm_named_section): Add decl parameter.
2897         * config/cris/cris-protos.h (cris_target_asm_named_section):
2898         Likewise.
2899         * config/cris/cris.c (cris_target_asm_named_section):
2900         Likewise.
2901         * config/darwin/darwin-protos.h (darwin_asm_named_section):
2902         Likewise.
2903         * config/darwin/darwin.c (darwin_asm_named_section): Likewise.
2904         * config/h8300/h8300.c (h8300_asm_named_section): Likewise.
2905         * config/i386/i386-protos.h (i386_pe_asm_named_section):
2906         Likewise.
2907         * config/i386/winnt.c (i386_pe_asm_named_section): Likewise.
2908         * config/m68k/m68k.c (m68k_coff_asm_named_section): Likewise.
2909         * config/mcore/mcore.c (mcore_asm_named_section): Likewise.
2910         * config/rs6000/rs6000.c (rs6000_xcoff_asm_named_section):
2911         Likewise.
2912         * config/sparc/sparc.c (sparce_elf_asm_named_section): Likewise.
2913         * cp/cp-lang.h (LANG_HOOKS_COMDAT_GROUP): Define.
2914         * cp/cp-tree.h (cxx_comdat_group): Declare.
2915         * cp/decl.c (cxx_comdat_group): New function.
2916
2917 2004-09-15  Jan Hubicka  <jh@suse.cz>
2918
2919         * tree-ssa.c (verify_flow_sensitive_alias_info): Do not walk dead nodes.
2920         * tree-tailcall.c (eliminate_tail_call): Release SSA name.
2921
2922         * tree-cfg.c (remove_bb): Release SSA defs.
2923
2924 2004-09-15  Kazu Hirata  <kazu@cs.umass.edu>
2925
2926         * doc/tm.texi: Follow spelling conventions.
2927
2928 2004-09-15  Kazu Hirata  <kazu@cs.umass.edu>
2929
2930         * tree-ssa-dom.c: Fix comment typos.
2931
2932 2004-09-15  Alan Modra  <amodra@bigpond.net.au>
2933
2934         * config/rs6000/linux-unwind.h (struct gcc_pt_regs): Extend to
2935         include ccr.
2936         (ppc_fallback_frame_state): Save location of CR.
2937
2938 2004-09-15  Jakub Jelinek  <jakub@redhat.com>
2939
2940         * expr.c (string_constant): Handle also read-only variables
2941         initialized to string literals.
2942
2943         * builtins.c (expand_builtin_memmove): Optimize memmove (x, y, 1)
2944         into memcpy (x, y, 1) if memcpy can be expanded inline.
2945
2946 2004-09-15  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
2947
2948         PR tree-optimization/17468
2949         * tree-ssa.c (verify_use, verify_phi_args, verify_ssa):  Verify that
2950         definition inside a block precede uses.
2951         * tree-tailcall.c (adjust_return_value): Emit statements in the
2952         correct order.
2953
2954 2004-09-15  Richard Sandiford  <rsandifo@redhat.com>
2955
2956         * config/mips/mips.h (POINTERS_EXTEND_UNSIGNED): Delete.
2957
2958 2004-09-15  Eric Botcazou  <ebotcazou@libertysurf.fr>
2959
2960         * doc/install.texi (sparc-sun-solaris2*): Properly format warning.
2961
2962 2004-09-14 Jeff Law  <law@redhat.com>
2963
2964         * tree-ssa-dom.c (avail_exprs_stack): New global varray.
2965         (struct dom_walk_block_data): Remove avail_exprs member.
2966         (tree_ssa_dominator_optimize): Initialize avail_exprs_stack.
2967         (lookup_avail_expr): No longer need to pass in address of
2968         the block local available exprs stack.  All callers changed.
2969         (simplify_cond_and_lookup_avail_expr): Similarly.
2970         (simplify_switch_and_lookup_avail_expr): Similarly.
2971         (get_eq_expr_value, record_cond): Likewise.
2972         (record_dominating_conditions): Likewise.
2973         (update_rhs_and_lookup_avail_expr): Likewise.
2974         (record_equivalences_from_stmt): Likewise.
2975         (dom_opt_initialize_block_local_data): No longer test state of
2976         block local avail_exprs.
2977         (dom_opt_initialize_block): Mark unwind point in the global
2978         avail_expr stack.
2979         (remove_expressions_from_table): Update to unwind to the
2980         most recent unwind marker in the global avail_expr stack.
2981         All callers changed.
2982         (dom_opt_finalize_block): Mark unwind point in the global
2983         avail_expr stack as needed.
2984         (record_cond): Push elements into the global avail_exprs stack.
2985
2986         * tree-dfa.c (free_df_for_stmt): No longer static.
2987         (free_df): Update comments.
2988         * tree-flow.h (free_df_for_stmt): Prototype.
2989         * tree-ssa-dse.c (dse_optimize_stmt): Call free_df_for_stmt.  Also
2990         call release_defs.
2991
2992 2004-09-14  Diego Novillo  <dnovillo@redhat.com>
2993
2994         PR tree-optimization/17252
2995         * tree-ssa-alias.c (may_alias_p): Don't assume that a
2996         pointer may not point to itself when using relaxed
2997         aliasing rules.
2998
2999 2004-09-14  Richard Henderson  <rth@redhat.com>
3000
3001         PR middle-end/17397
3002         * gimplify.c (gimplify_addr_expr): Don't inadvertently change types
3003         while folding <ADDR_EXPR <INDIRECT_REF X>>.
3004
3005 2004-09-14  Andrew Pinski  <apinski@apple.com>
3006
3007         * tree-ssa-copy.c (may_propagate_copy): Don't check the aliasing
3008         sets of the pointers but the aliasing sets of what they point to.
3009
3010 2004-09-14  Roger Sayle  <roger@eyesopen.com>
3011
3012         PR rtl-optimization/9771
3013         * regclass.c (CALL_REALLY_USED_REGNO_P): New macro to eliminate
3014         conditional compilation in init_reg_sets_1.
3015         (init_reg_sets_1): Let global_regs[i] take priority over the frame
3016         (but not stack) pointer exceptions to regs_invalidated_by_call.
3017         (globalize_reg): Globalizing a fixed register may need to update
3018         regs_invalidated_by_call.
3019
3020 2004-09-14  Diego Novillo  <dnovillo@redhat.com>
3021
3022         PR tree-optimization/15262
3023         * tree-dfa.c (dump_variable): Also print the type of the
3024         variable.
3025         * tree-ssa-alias.c (compute_flow_insensitive_aliasing): If two
3026         memory tags are of conflicting alias sets but have no aliased
3027         symbols in common, add one tag to the alias set of the other.
3028         (setup_pointers_and_addressables): Remove hack to deal with
3029         programs with no aliased symbols.
3030         (may_alias_p): Don't special case aggregate types.
3031
3032 2004-09-14  Joseph S. Myers  <jsm@polyomino.org.uk>
3033
3034         PR c/15498
3035         * doc/invoke.texi (Environment Variables): Correct example locale.
3036
3037 2004-09-14  Jan Hubicka  <jh@suse.cz>
3038
3039         * cfg.c (expunge_block): Revert previous change adding ggc_free call.
3040
3041 2004-09-14  Mark Mitchell  <mark@codesourcery.com>
3042
3043         * config.gcc: Do not build a shared libgcc for arm-none-eabi.
3044
3045 2004-09-14  Joseph S. Myers  <jsm@polyomino.org.uk>
3046
3047         * c-tree.h (struct c_declspecs): Add const_p, volatile_p and
3048         restrict_p.
3049         (struct c_declarator): Change u.array.quals and pointer_quals to
3050         int.  Add u.array.attrs.
3051         (quals_from_declspecs): New.
3052         * c-decl.c (quals_from_declspecs): New.
3053         (shadow_tag_warned): Give more specific message for useless type
3054         qualifiers.
3055         (build_array_declarator, set_array_declarator_inner,
3056         grokdeclarator, make_pointer_declarator, build_null_declspecs,
3057         declspecs_add_qual): Update for changed structures.
3058
3059 2004-09-14  Jeff Law  <law@redhat.com>
3060
3061         * tree-ssa-dom.c (stmts_to_rescan): Move from a block-local
3062         to a global varray.
3063         (tree_ssa_dominator_optimize): Allocate stmts_to_rescan.
3064         (dom_opt_initialize_block_local_data): No longer test state
3065         of stmts_to_rescan.
3066         (dom_opt_finalize_block): Update due to change in scope of
3067         stmts_to_rescan.
3068         (optimize_stmt): Similarly.
3069
3070 2004-09-14  Kazu Hirata  <kazu@cs.umass.edu>
3071
3072         * cgraph.h, cgraphunit.c, fold-const.c, lambda-mat.c,
3073         lambda.h, profile.c, tree-optimize.c, tree-sra.c, vec.h: Fix
3074         comment typos.  Follow spelling conventions.
3075
3076 2004-09-14  Kazu Hirata  <kazu@cs.umass.edu>
3077
3078         * config/darwin-c.c, config/alpha/alpha.c, config/i386/i386.c,
3079         config/i386/predicates.md, config/sparc/sparc.c: Follow
3080         spelling conventions.
3081
3082 2004-09-14  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
3083             Steven Bosscher  <stevenb@suse.de>
3084
3085         * Makefile.in (loop-unroll.o): Add HASHTAB_H and RECOG_H dependency.
3086         * basic-block.h (struct reorder_block_def): Add copy_number field.
3087         * cfgloop.h (biv_p): Declare.
3088         * cfgloopmanip.c (duplicate_loop_to_header_edge): Set copy_number.
3089         * common.opt (fsplit-ivs-in-unroller): New flag.
3090         * loop-iv.c (biv_p): New function.
3091         * loop-unroll.c: Include hashtab.h and recog.h.
3092         (struct iv_to_split, struct split_ivs_info): New types.
3093         (analyze_ivs_to_split, si_info_start_duplication, split_ivs_in_copies,
3094         free_si_info, si_info_hash, si_info_eq, analyze_iv_to_split_insn,
3095         determine_split_iv_delta, get_ivts_expr, allocate_basic_variable,
3096         insert_base_initialization, split_iv): New functions.
3097         (peel_loop_completely, unroll_loop_constant_iterations,
3098         unroll_loop_runtime_iterations, peel_loop_simple, unroll_loop_stupid):
3099         Use them.
3100         * doc/invoke.texi (-fsplit-ivs-in-unroller): Document.
3101
3102 2004-09-14  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
3103
3104         * tree-cfg.c (thread_jumps): Update dominators correctly in
3105         case destination of threaded edge dominates its source.
3106
3107 2004-09-14  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
3108
3109         * unroll.c: Removed.
3110         * loop.h: Removed.
3111         * Makefile.in (LOOP_H, unroll.o): Removed.
3112         (toplev.o, passes.o, stmt.o, integrate.o, loop.o): Remove LOOP_H
3113         dependency.
3114         * alias.c (init_alias_analysis): Remove flag_old_unroll_loops
3115         reference.
3116         * cfgloop.h (LOOP_PREFETCH, loop_optimize): Moved from loop.h.
3117         * common.opt (fold-unroll-loops, fold-unroll-all-loops): Removed.
3118         * loop.c: Do not include loop.h.
3119         (LOOP_INFO, LOOP_MOVABLES, LOOP_REGS, LOOP_IVS, INSN_LUID,
3120         REGNO_FIRST_LUID, REGNO_LAST_LUID, enum g_types, struct induction,
3121         struct iv_class, enum iv_mode, struct iv, REG_IV_TYPE, REG_IV_INFO,
3122         REG_IV_CLASS, struct loop_ivs, struct loop_mem_info, struct loop_reg,
3123         struct loop_regs, struct loop_movables, struct loop_info): Moved
3124         from loop.h.
3125         (back_branch_in_range_p, fold_rtx_mult_add, biv_total_increment,
3126         reg_dead_after_loop, final_biv_value, loop_find_equiv_value,
3127         find_common_reg_term, loop_iterations, final_giv_value): Moved
3128         from unroll.c.
3129         (uid_luid, uid_loop, max_uid_for_loop, max_reg_before_loop,
3130         loop_dump_stream, for_each_insn_in_loop, express_from,
3131         extend_value_for_giv, loop_iv_add_mult_emit_before,
3132         loop_iv_add_mult_sink, loop_iv_add_mult_hoist,
3133         loop_insn_first_p, get_condition_for_loop,
3134         loop_insn_emit_before, loop_insn_hoist,
3135         loop_insn_sink): Made static.
3136         (loop_invariant_p): Made static.  Removed flag_old_unroll_loops
3137         reference.
3138         (strength_reduce): Do not call unroller.
3139         (record_giv): Do not initialize unrolled field.
3140         (prescan_loop): Do not set loop_info->preconditioned.
3141         * passes.c: Do not include loop.h.
3142         (rest_of_handle_loop_optimize): Do not call unroller.
3143         * predict.c: Do not include loop.h.
3144         * rtl.h (NOTE_PRECONDITIONED): Removed.
3145         * stmt.c: Do not include loop.h.
3146         * toplev.c: Do not include loop.h.
3147         (process_options): Do not handle flag_old_unroll_loops.
3148
3149         * doc/invoke.texi (fold-unroll-loops, fold-unroll-all-loops):
3150         Documentation removed.
3151         * doc/passes.texi (unroll.c, loop.h): Documentation removed.
3152
3153 2004-09-14  Nathan Sidwell  <nathan@codesourcery.com>
3154
3155         * Makefile.in (STAGE1_CHECKING): New variable.
3156         (stage1_build): Use it.
3157         * tree-ssa.c (verify_ssa): Preserve state of dominance
3158         information.
3159
3160 2004-09-14  Uros Bizjak  <uros@kss-loka.si>
3161
3162         * config/i386/i386.c (output_fp_compare): Add generation
3163         of ftst instruction.
3164         * config/i386/i386.md (*cmpfp_0_sf, cmpfp_0_df, cmpfp_0_xf):
3165         Use output_fp_compare () function.
3166         (cmpfp_i, *cmpfp_i_sse, *cmpfp_i_sse_only): Fix insn constraint.
3167         (fix_truncdi_memory): Remove operands[5] copy.
3168
3169 2004-09-14  Kazu Hirata  <kazu@cs.umass.edu>
3170
3171         * config/m32r/m32r.md, config/m68k/m68kelf.h,
3172         config/mcore/mcore.md, config/rs6000/linux64.h,
3173         config/rs6000/rs6000.c, config/sparc/sparc.c: Fix comment
3174         typos.
3175
3176 2004-09-13  James E Wilson  <wilson@specifixinc.com>
3177
3178         * Makefile.in (GEN_PROTOS_OBJS): Add $(BUILD_ERRORS).
3179         * gen-protos.c: Include errors.h.
3180         (progname): Delete.
3181
3182 2004-09-14  Jan Hubicka  <jh@suse.cz>
3183
3184         * Makefile.in (predict.o): Depend on tree-scalar-evolution.h
3185         * predict.c: Include tree-scalar-evolution.h and cfgloop.h
3186         (predict_loops): Use number_of_iterations_exit to predict
3187         number of iterations on trees.
3188
3189 2004-09-13  Dale Johannesen  <dalej@apple.com>
3190
3191         PR 17408
3192         PR 17409
3193         * c-decl.c (start_decl): Repair TREE_STATIC for initialized
3194         objects declared extern.
3195
3196 2004-09-14  Paul Brook  <paul@codesourcery.com>
3197
3198         * config/arm/arm.c (arm_expand_prologue): Make args_to_push a
3199         HOST_WIDE_INT.
3200
3201 2004-09-13  Daniel Jacobowitz  <dan@debian.org>
3202
3203         * fold-const.c (fold_checksum_tree): Ignore TYPE_CACHED_VALUES.
3204         Only use TYPE_BINFO for aggregates.
3205
3206 2004-09-13  Daniel Jacobowitz  <dan@debian.org>
3207
3208         * expmed.c (synth_mult): Initialize latency.  Check cost before
3209         checking ops count.
3210
3211 2004-09-13  Kenneth Zadeck  <Kenneth.Zadeck@NaturalBridge.com>
3212
3213         * tree-ssa-operands.c (get_call_expr_operands): Added parm to
3214         add_call_clobber_ops and add_call_read_ops.
3215         (add_call_clobber_ops, add_call_read_ops): Added code to reduce
3216         the number of vdefs and vuses inserted based on analysis of global
3217         variables across calls.  * tree-dfa.c (find_referenced_vars):
3218         Needed to reset static var maps before each function is compiled.
3219         * cgraphunit.c:
3220         (static_vars_to_consider_by_tree,static_vars_to_consider_by_uid,
3221         static_vars_info,functions_to_static_vars_info,module_statics_escape,
3222         all_module_statics,searchc_env,dfs_info): New fields to support
3223         analysis of static global variables.
3224         (print_order, convert_UIDs_in_bitmap, new_static_vars_info,
3225         cgraph_reset_static_var_maps, get_global_static_vars_info,
3226         get_global_statics_not_read, get_global_statics_not_written,
3227         searchc, cgraph_reduced_inorder, has_proper_scope_for_analysis,
3228         check_rhs_var, check_lhs_var, get_asm_expr_operands,
3229         process_call_for_static_vars, scan_for_static_refs,
3230         cgraph_characterize_statics_local, cgraph_get_static_name_by_uid,
3231         clear_static_vars_maps, cgraph_propagate_bits,
3232         cgraph_characterize_statics): New. Functions to support analysis
3233         of static global variables.
3234         (cgraph_mark_local_and_external_functions): Renamed from:
3235         (cgraph_mark_local_functions)
3236         (cgraph_expand_all_functions): Remove call to
3237         cgraph_mark_local_and_external_functions.
3238         (cgraph_optimize): Added driver to analyze static variables whose
3239         scope is within the compilation unit.  * cgraph.h (struct
3240         cgraph_local_info, GTY): Added statics_read, statics_written,
3241         local, calls_read_all, calls_write_all, for_functions_valid.
3242         (struct cgraph_node): Added next_cycle.  * cgraph.c
3243         (dump_cgraph_node): Added print routines for new fields.  *
3244         makefile.in: macroized cgraph.h, added cgraphunit.c to the ggc
3245         list.
3246
3247 2004-09-13  Joseph S. Myers  <jsm@polyomino.org.uk>
3248
3249         * c-decl.c (grokdeclarator): Correct comments about where storage
3250         class specifiers are rejected by grammar and add corresponding
3251         asserts.  Diagnose typedefs and parameters declared inline.
3252         Change warning for inline main to a pedwarn.  Only diagnose inline
3253         main if hosted.
3254         (declspecs_add_scspec): Allow duplicate "inline".
3255
3256 2004-09-13  Steve Ellcey  <sje@cup.hp.com>
3257
3258         * config/ia64/ia64.c (ia64_scalar_mode_supported_p): New.
3259         (TARGET_SCALAR_MODE_SUPPORTED_P): New.
3260
3261 2004-09-13  Richard Henderson  <rth@redhat.com>
3262
3263         PR 17436
3264         * tree.h (TYPE_CONTAINS_PLACEHOLDER_INTERNAL): New.
3265         (tree_type): Replace spare with contains_placeholder_bits.
3266         (type_contains_placeholder_1): Rename from type_contains_placeholder_p,
3267         make static.  Remove seen_types list.
3268         (type_contains_placeholder_p): New.
3269
3270 2004-09-13  James E Wilson  <wilson@specifixinc.com>
3271
3272         * config/mips/mips.c (CODE_FOR_mips_sqrt_ps): New.
3273         (sb1_bdesc, bdesc_map, bdesc_arrays): New.
3274         (mips_expand_builtin): Add SB-1 support.  Use bdesc_map and
3275         bdesc_arrays instead of mips_bdesc.
3276         (mips_init_builtins): Likewise.
3277         * config/mips/mips.h (TARGET_SB1): New.
3278         (HAVE_SQRT_P): Delete.
3279         * config/mips/mips.md (divide_condition): Support V2SF.
3280         (sqrt_condition, recip_condition): New.
3281         (div<mode>3): Use ANYF instead of SCALARF.
3282         (*div<mode>3): Use ANYF instead of SCALARF.  Use UNITMODE instead of
3283         MODE.
3284         (*recip<mode>3, *rsqrt<mode>a, *rsqrt<mode>b): Use recip_condition
3285         instead of ISA_HAS_FP4.  Use ANYF instead of SCALARF.  Use UNITMODE
3286         instead of MODE.
3287         (sqrt<mode>2): Use sqrt_condition instead of HAVE_SQRT_P.  Use ANYF
3288         instead of SCALARF.  Use UNITMODE instead of MODE.
3289
3290 2004-09-13  Zack Weinberg  <zack@codesourcery.com>
3291
3292         * config.in: Regenerate after removal of libbanshee.
3293
3294 2004-09-13  Andrew MacLeod  <amacleod@redhat.com>
3295
3296         PR tree-optimization/17400
3297         * tree-ssa-copyrename.c (copy_rename_partition_coalesce): Don't
3298         coalesce partitions when one occurs in an abnormal PHI.
3299
3300 2004-09-13  Andrew Pinski  <apinski@apple.com>
3301
3302         * config/rs6000/darwin.h (ASM_OUTPUT_COMMON): Change variable size's
3303         name to _new_size.
3304
3305 2004-09-13  Richard Henderson  <rth@redhat.com>
3306
3307         PR inline-asm/6806
3308         * cselib.c (cselib_invalidate_rtx): Export.  Remove unused args.
3309         (cselib_invalidate_rtx_note_stores): New.
3310         (cselib_record_sets, cselib_process_insn): Update to match.
3311         * cselib.h (cselib_invalidate_rtx): Declare.
3312         * postreload.c (reload_cse_simplify): Invalidate asm clobbers.
3313
3314 2004-09-13  Richard Henderson  <rth@redhat.com>
3315
3316         PR tree-opt/10528
3317         * tree-inline.c (copy_body_r): Recompute bits for ADDR_EXPR,
3318         after copying its argument.
3319
3320 2004-09-13  Joseph S. Myers  <jsm@polyomino.org.uk>
3321
3322         * c-common.c, c-decl.c, c-lex.c, c-objc-common.c, c-opts.c,
3323         c-parse.in, c-pragma.c, c-typeck.c: Use %q, %< and %> for quoting
3324         in diagnostics.  Use %' for English apostrophes.
3325         * c-tree.h (ATTRIBUTE_GCC_CDIAG): Define.
3326         (pedwarn_c90, pedwarn_c99): Use it.
3327         * c-decl.c (lookup_label): Quote label name in diagnostic.
3328         * c-parse.in (yyprint): Use ' instead of ` for left quote.
3329         * c-typeck.c (warn_for_assignment): Likewise.
3330
3331 2004-09-13  Jan Hubicka  <jh@suse.cz>
3332
3333         * i386.c (x86_schedule): New global variable.
3334         (override_options): Disable scheduling when not supported.
3335         * i386.h (x86_schedule): Declare.
3336         (TARGET_SCHEDULE): New macro.
3337
3338 2004-09-12  Richard Henderson  <rth@redhat.com>
3339
3340         PR c++/16254
3341         * fold-const.c (fold) <case CLEANUP_POINT_EXPR>: Remove.
3342         * tree.c, tree.h (has_cleanups): Remove.
3343
3344 2004-09-12  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
3345
3346         * tree-ssa-loop-manip.c (split_loop_exit_edge): Handle non-ssaname
3347         arguments of the phi nodes correctly.
3348
3349 2004-09-12  Jan Hubicka  <jh@suse.cz>
3350
3351         * ggc-common.c (cmp_statistics): Fix sorting.
3352
3353 2004-09-12  David Edelsohn  <edelsohn@gnu.org>
3354
3355         PR target/16795
3356         * expmed.c (expand_divmod): If cheap power of 2 divide is
3357         available, use it for negative constant as well.
3358
3359 2004-09-12  Andrew Pinski  <apinski@apple.com>
3360
3361         * darwin.h (ASM_OUTPUT_COMMON): Make sure we do not have a
3362         size of 0.
3363
3364         * tree-chrec.c (initialize_scalar_evolutions_analyzer): Remove.
3365
3366 2004-09-12  Richard Henderson  <rth@redhat.com>
3367
3368         * config/i386/i386.c (ix86_split_ashldi): Special case op1 as one
3369         or minus one.
3370         (ix86_split_ashrdi, ix86_split_lshrdi): Clean up conditions for
3371         post-reload, and scratch NULL.
3372         * config/i386/i386.md (testqi_1): Use FLAGS_REG name.
3373         (x86_shift_adj_2): Use ix86_expand_clear.
3374         (ashldi3): Remove CMOVE expansion difference.
3375         (ashldi3_1): Remove.
3376         (*ashldi3_1): Rename from *ashldi3_2.  Use reg_or_pm1_operand and
3377         add constraints for immediates.  New peephole for split-with-temp.
3378         Run splitter after peep2 pass.
3379         (ashrdi3, ashrdi3_1, ashrdi3_2): Similarly.
3380         (lshrdi3, lshrdi3_1, lshrdi3_2): Similarly.
3381         (setcc_2): Rename with *.
3382         * config/i386/predicates.md (reg_or_pm1_operand): New.
3383         (ashldi_input_operand): New.
3384
3385 2004-09-12  Richard Henderson  <rth@redhat.com
3386
3387         * print-rtl.c (print_decl_name): New.
3388         (print_mem_expr): Use it.
3389
3390 2004-09-12  Richard Henderson  <rth@redhat.com
3391
3392         PR 17186, part deux
3393         * except.c (sjlj_emit_function_exit): Fix logic locating
3394         sjlj_exit_after in final block.
3395
3396 2004-09-12  Toon Moene  <toon@moene.indiv.nluug.nl>
3397
3398         * common.opt: Remove flags -fmove-all-movables and
3399         -freduce-all-givs.
3400         * loop-invariant.c (find_invariants_to_move):
3401         Remove all uses of flag_move_all_movables.
3402         * loop.c (move_movables): Remove all uses of
3403         flag_move_all_movables.
3404         (strength_reduce): Remove all uses of
3405         flag_reduce_all_givs.
3406         * doc/invoke.texi: Remove documentation of flags
3407         -fremove-all-movables and -freduce-all-givs.
3408
3409 2004-09-11  Roger Sayle  <roger@eyesopen.com>
3410
3411         PR middle-end/17411
3412         * tree-sra.c (generate_element_zero): Revert recent build_int_cst
3413         change. elt->type may be a floating point type, so use fold_convert.
3414
3415 2004-09-11  Geoffrey Keating  <geoffk@apple.com>
3416
3417         * config/darwin.c (machopic_validate_stub_or_non_lazy_ptr): Mark
3418         the thing referenced as used, not the stub itself.
3419
3420 2004-09-11  Joseph S. Myers  <jsm@polyomino.org.uk>
3421
3422         * c-tree.h (enum c_storage_class): New.
3423         (struct c_declspecs): Add storage_class, inline_p and thread_p.
3424         * c-decl.c (shadow_tag_warned): Give errors for "inline" in empty
3425         declarations and "auto" or "register" in file scope empty
3426         declarations.  Give more specific warnings for other cases of
3427         storage class specifiers in empty declarations.
3428         (grokdeclarator): Update for new structures.  Don't check for
3429         multiple storage classes.  Diagnose file-scope "register" if
3430         pedantic.
3431         (build_null_declspecs): Update.
3432         (declspecs_add_scspec): Update.  Diagnose multiple storage class
3433         specifiers and invalid uses of "__thread".
3434
3435 2004-09-11  Zack Weinberg  <zack@codesourcery.com>
3436
3437         * tree.c (tree_code_size): New function, bulk of code from tree_size.
3438         (tree_size, make_node): Use it.
3439         * tree-ssa-pre.c (init_pre): Use it.
3440         * tree.h: Prototype it.
3441
3442 2004-09-11  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
3443
3444         * tree-cfg.c (set_bb_for_stmt): Use PHI_BB.
3445         * tree-dfa.c (compute_immediate_uses, add_immediate_use,
3446         redirect_immediate_use): Use PHI_DF.
3447         * tree-flow-inline.h (stmt_ann): Abort on phi nodes.
3448         (bb_for_stmt): Use PHI_BB.
3449         (get_immediate_uses): Use PHI_DF.
3450         * tree-ssa-dse.c (max_stmt_uid): New variable.
3451         (get_stmt_uid): New function.
3452         (dse_optimize_stmt, dse_record_phis, tree_ssa_dse): Do not use phi
3453         node annotations.
3454         * tree-ssa-loop-im.c (LIM_DATA): Do not use phi statement annotations.
3455         (max_uid): Renamed to max_stmt_uid.
3456         (get_stmt_uid): New function.
3457         (maybe_queue_var, single_reachable_address, determine_lsm): Do not use
3458         phi node annotations.
3459         * tree-ssa.c (replace_immediate_uses): Do not use phi node annotations.
3460         * tree.h (PHI_BB, PHI_DF): New accessor functions.
3461         (struct tree_phi_node): Add bb and df fields.
3462
3463 2004-09-11  Richard Henderson  <rth@redhat.com>
3464
3465         PR middle-end/17416
3466         * cfgexpand.c (expand_used_vars_for_block): Fix off-by-one bug
3467         in conflict loop.
3468
3469 2004-09-11  Jan Hubicka  <jh@suse.cz>
3470
3471         * i386.h (MODE_NEEDED): Calls need UNINITIALIZED mode; add comment.
3472         (EMIT_MODE_SET): UNINITIALIZED mode needs no set.
3473         * i386.md (i387_cw): Add 'uninitialized' mode.
3474
3475         * profile.c (BB_TO_GCOV_INDEX): move more to the front.
3476         (output_location): Break out from ....
3477         (branch_prob): ... here; handle gcov output on trees.
3478         * toplev.c (process_options): No longer be sorry about coverage for
3479         trees.
3480
3481 2004-09-11  Steven Bosscher  <stevenb@suse.de>
3482
3483         PR c++/17412
3484         * fold-const.c (fold): Do not try to fold the operand of a
3485         CLEANUP_POINT_EXPR if that operand does itself not have any
3486         operands.
3487
3488         PR middle-end/17417
3489         * langhooks.c (lhd_decl_printable_name): Make sure that this
3490         function is called with is a decl node that has an identifier.
3491         * tree-pretty-print.c (dump_function_name): New function to
3492         wrap PRINT_FUNCTION_NAME and dump_decl_name.
3493         (print_call_name): Use it.
3494
3495 2004-09-11  Mohan Embar  <gnustuff@thisiscool.com>
3496
3497         * ggc-none.c: Include "bconfig.h" if -DGENERATOR_FILE,
3498         "config.h" if not.
3499
3500 2004-09-11  Jakub Jelinek  <jakub@redhat.com>
3501
3502         * tree-ssa-alias.c (collect_points_to_info_r): Handle
3503         pointing to PTR + OFFSET as PTR, not as pointing to PTR or pointing
3504         to OFFSET.
3505
3506 2004-09-11  Richard Henderson  <rth@redhat.com>
3507
3508         * expr.c (expand_expr_addr_expr_1) Rename from expand_expr_addr_expr.
3509         (expand_expr_addr_expr): New function.  Take ADDR_EXPR instead of the
3510         operand of the ADDR_EXPR.
3511         (expand_expr_real_1): Update to match.
3512
3513 2004-09-11  David Edelsohn  <edelsohn@gnu.org>
3514
3515         PR target/17277
3516         * config/rs6000/aix.h (MD_FROB_UPDATE_CONTEXT): Use __64BIT__ to
3517         choose 64-bit version.
3518
3519 2004-09-11  Richard Henderson  <rth@redhat.com>
3520
3521         PR c/17396
3522         * c-typeck.c (build_unary_op): Add legacy offsetof hack.
3523
3524 2004-09-11  Kazu Hirata  <kazu@cs.umass.edu>
3525
3526         * doc/cfg.texi, doc/hostconfig.texi, doc/install.texi,
3527         doc/invoke.texi, doc/md.texi, doc/tm.texi, doc/tree-ssa.texi:
3528         Insert @: after i.e. or e.g.
3529
3530 2004-09-10  Geoffrey Keating  <geoffk@apple.com>
3531
3532         * tree-pretty-print.c (dump_decl_name): Print unnamed decls as
3533         D.xxx rather than <Dxxx>.
3534
3535 2004-09-10  Adam Nemet  <anemet@lnxw.com>
3536
3537         * configure.ac (AC_MSG_CHECKING(what linker to use)):
3538         in_tree_ld_is_elf should be true for LynxOS.
3539         * configure: Regenerate.
3540
3541 2004-09-10  Adam Nemet  <anemet@lnxw.com>
3542
3543         * Makefile.in (all.cross): Add srcextra.
3544
3545 2004-09-10  Roger Sayle  <roger@eyesopen.com>
3546
3547         PR middle-end/17024
3548         * fold-const.c (fold_cond_expr_with_comparison): Handle unordered
3549         floating point comparison operators.  Change aborts to gcc_asserts.
3550
3551 2004-09-10  Geoffrey Keating  <geoffk@apple.com>
3552
3553         * final.c (output_asm_insn): Correct problem with -fverbose-asm.
3554
3555 2004-09-10  James E Wilson  <wilson@specifixinc.com>
3556
3557         * Makefile.in (LIBGCC_DEPS): Delete duplicate stmp-int-hdrs reference.
3558         (stmp-fixproto): Change stmp-int-headers to stmp-int-hdrs in comment.
3559
3560         * convert.c (convert_to_vector): Replace recursive call with
3561         error_mark_node.
3562
3563         * emit-rtl.c (gen_const_vector): Renamed from gen_const_vector_0.
3564         Add integer argument named constant.  Use const_tiny_rtx instead of
3565         CONST0_RTX.
3566         (gen_rtx_CONST_VECTOR): Rewrite to handle checks for both CONST0_RTX
3567         and CONST1_RTX.
3568         (init_emit_once): Fix users of gen_const_vector.  Set CONST1_RTX for
3569         vector types.
3570         * expr.c (const_vector_from_tree): Call gen_rtx_CONST_VECTOR instead
3571         of gen_rtx_raw_CONST_VECTOR.
3572
3573 2004-09-10  Eric Christopher  <echristo@redhat.com>
3574
3575         PR c/16046
3576         * c-parse.in (attribute): Add NULL_TREE for error case
3577         for error recovery.
3578
3579 2004-09-10  Zack Weinberg  <zack@codesourcery.com>
3580
3581         * c-common.h (struct c_fileinfo): Comment moved here from cp-tree.h.
3582         (extract_interface_info): Delete prototype.
3583         * c-decl.c (extract_interface_info): Delete stub.
3584         * c-lex.c (get_fileinfo): Initialize file_info_tree here, if
3585         it's not already been done ...
3586         (init_c_lex): ... not here.
3587         (fe_file_change): Don't call extract_interface_info.
3588
3589 2004-09-11  Joseph S. Myers  <jsm@polyomino.org.uk>
3590
3591         * c-tree.h (struct c_declspecs): Remove typedef_decl.  Add
3592         typedef_p and typedef_signed_p.
3593         * c-decl.c (shadow_tag_warned): Check typedef_p, not typedef_decl.
3594         (grokdeclarator): Don't use typedef_decl for warn_deprecated_use.
3595         Check typedef_p and typedef_signed_p, not typedef_decl.
3596         (grokfield): Check typedef_p, not typedef_decl.
3597         (build_null_declspecs): Initialize typedef_p and typedef_signed_p,
3598         not typedef_decl.
3599         (declspecs_add_type): Set typedef_p and typedef_signed_p, not
3600         typedef_decl.
3601
3602 2004-09-10  Kazu Hirata  <kazu@cs.umass.edu>
3603
3604         * doc/tm.texi, doc/tree-ssa.texi: Fix typos.
3605
3606 2004-09-10  Geoffrey Keating  <geoffk@apple.com>
3607
3608         * gimplify.c (create_tmp_var_raw): Don't name otherwise-nameless
3609         temporary variables.
3610
3611         * dbxout.c (dbxout_block): Update for
3612         current_function_func_begin_label a string.
3613         * dwarf2out.c (dwarf2out_begin_prologue): Likewise.
3614         * except.c (dw2_output_call_site_table): Likewise.
3615         * toplev.c (current_function_func_begin_label): Likewise.
3616         * tree.h (current_function_func_begin_label): Likewise.
3617         * config/rs6000/linux64.h (DBX_OUTPUT_BRAC): Likewise.
3618
3619         * final.c (output_asm_insn): Use strtoul instead of atoi, save a
3620         loop.
3621
3622         * config/darwin.c: Include target.h.
3623         (struct machopic_indirection): Make ptr_name a string.
3624         (machopic_indirection_hash): Update for ptr_name a string.
3625         (machopic_indirection_eq): Likewise.
3626         (machopic_indirection_name): Likewise.
3627         (machopic_output_indirection): Likewise.
3628         (machopic_validate_stub_or_non_lazy_ptr): Update for ptr_name a
3629         string.  Don't expect stub names to be in the identifier hash table.
3630         Do call strip_name_encoding before looking up entry in ID hash table.
3631         * config/t-darwin (darwin.o): Add target.h to dependencies.
3632
3633         * gcc/config/rs6000/rs6000.c (print_operand): Use fputs instead
3634         of fprintf for register names.
3635
3636         * output.h (unlikely_section_label): Delete declaration.
3637         (unlikely_text_section_name): Likewise.
3638         * varasm.c (unlikely_section_label_printed): Make static.
3639         (unlikely_section_label): Likewise.
3640         (unlikely_text_section_name): Likewise.
3641         (assemble_start_function): Use reconcat.
3642
3643         * rtl.def (REG): Add comment to describe third field.
3644
3645 2004-09-10  Andrew Pinski  <apinski@apple.com>
3646
3647         * config/darwin.c (machopic_mcount_stub_name): Call
3648         machopic_indirection_name instead of making the string
3649         ourselves.
3650
3651 2004-09-10  Diego Novillo  <dnovillo@redhat.com>
3652
3653         Revert
3654
3655         2004-09-08  Jie Zhang  <zhangjie@magima.com.cn>
3656
3657             * tree-ssa-alias.c (compute_flow_insensitive_aliasing): If type
3658             memory tag is call clobbered, so are its aliases.
3659             (group_aliases): When two memory tags being grouped, if one is
3660             call clobbered, so are the other and its aliases.
3661             (add_may_alias): Remove call-clobbering stuff.
3662             (replace_may_alias): Likewise.
3663             (merge_pointed_to_info): Merge pt_global_mem
3664
3665 2004-09-10  Kazu Hirata  <kazu@cs.umass.edu>
3666
3667         * bb-reorder.c, c-common.c, c-incpath.c, c-typeck.c,
3668         genrecog.c, lambda-code.c, mips-tdump.c, mips-tfile.c,
3669         passes.c, tree-data-ref.c, tree-data-ref.h, tree-mudflap.c,
3670         tree-scalar-evolution.c, tree-ssa-copyrename.c,
3671         tree-ssa-live.c, tree-ssa-live.h: Fix comment typos.
3672
3673 2004-09-10  Richard Sandiford  <rsandifo@redhat.com>
3674
3675         * config/frv/frv.md (UNSPEC_MASACCS, UNSPEC_MDASACCS): New constants.
3676         (maddaccs, msubaccs, *maddacc): Turn operand 0 into a single ACC/ACCG
3677         pair.  Remove match_dup from inputs.  Remove masaccs handling.
3678         (mdaddaccs, mdsubaccs, *mdaddacc): Likewise a dual ACC/ACCG pair.
3679         (masaccs, mdasaccs): Turn into define_insns.
3680
3681 2004-09-10  Richard Sandiford  <rsandifo@redhat.com>
3682
3683         * tree-tailcall.c (process_assignment): Only do accumulator transforms
3684         for floating-point types if flag_unsafe_math_optimizations.
3685
3686 2004-09-10  Kazu Hirata  <kazu@cs.umass.edu>
3687
3688         * config/darwin.c, config/alpha/alpha.h, config/arm/arm.c,
3689         config/arm/arm.h, config/arm/arm.md, config/arm/bpabi.h,
3690         config/arm/predicates.md, config/frv/frv.c, config/frv/frv.md,
3691         config/h8300/h8300.md, config/i386/gmm_malloc.h,
3692         config/ia64/ia64.md, config/ip2k/libgcc.S,
3693         config/mips/mips-ps-3d.md, config/mips/mips.c,
3694         config/rs6000/rs6000.c, config/s390/s390.c,
3695         config/sh/symbian.c: Fix comment typos.
3696
3697 2004-09-10  Andreas Krebbel  <krebbel1@de.ibm.com>
3698
3699         * config/s390/s390.c (s390_emit_prologue): Added missing
3700         "{}" brackets.
3701
3702 2004-09-10  Kazu Hirata  <kazu@cs.umass.edu>
3703
3704         * doc/extend.texi, doc/invoke.texi, doc/passes.texi: Fix
3705         typos.  Follow spelling conventions.
3706
3707 2004-09-10  Joseph S. Myers  <jsm@polyomino.org.uk>
3708
3709         * toplev.c (warn_deprecated_use): Correct logic for saying "type"
3710         in diagnostic.  Don't dereference NULL TYPE_NAME.
3711
3712 2004-09-10  Kazu Hirata  <kazu@cs.umass.edu>
3713
3714         * c-common.c, c-pch.c, defaults.h, lambda-code.c, passes.c,
3715         tree-data-ref.c, tree-flow.h, tree-ssa-operands.c,
3716         tree-ssa-threadupdate.c, tree-vectorizer.c, tree-vectorizer.h,
3717         value-prof.c: Fix comment typos.  Follow spelling conventions.
3718
3719 2004-09-10  Jan Hubicka  <jh@suse.cz>
3720
3721         * tree-ssa-dce.c (remove_dead_stmt): Update profile.
3722         * tree-split_edge.c (tree_split_edge): Likewise.
3723         (thread_jumps): Likewise.
3724
3725 2004-09-10  Kazu Hirata  <kazu@cs.umass.edu>
3726
3727         * cgraphunit.c, predict.c, tree-ssa-loop-ivopts.c: Fix comment
3728         typos.
3729
3730 2004-09-10  Paolo Bonzini  <bonzini@gnu.org>
3731
3732         * cgraph.h (cgraph_dump_file): Do not declare.
3733         * cgraphunit.c (cgraph_dump_file): Declare as static.
3734         (init_cgraph): New.
3735         * toplev.c (cgraph_dump_file): Do not declare.
3736         (compile_file): Call init_cgraph.
3737         * tree-dump.c (dump_files): Add IPA dump file, remove
3738         XML dump of call graph.
3739         (get_dump_file_name): Support IPA dump file naming scheme.
3740         * tree.h (enum tree_dump_index): Add IPA dump file, remove
3741         XML dump of call graph.
3742         * doc/invoke.texi (Debugging Options): Document the new options.
3743
3744 2004-09-10  Richard Sandiford  <rsandifo@redhat.com>
3745
3746         * doc/extend.texi: Document the FR-V built-in functions.
3747
3748 2004-09-09  James E Wilson  <wilson@specifixinc.com>
3749
3750         * doc/sourcebuild.texi: Delete libbanshee reference.
3751
3752 2004-09-10  Kelley Cook  <kcook@gcc.gnu.org>
3753
3754         * Makefile.in (s-gtype): Add $(build_exeext) to gengtype command.
3755
3756 2004-09-09  James E Wilson  <wilson@specifixinc.com>
3757
3758         * c-typeck.c (convert_for_assignment): Check that rhs has VECTOR_TYPE
3759         before calling vector_types_convertible_p.
3760         (digest_init): Check that inside_init has VECTOR_TYPE before calling
3761         vector_types_convertible_p.  Don't give another error if
3762         convert_for_assignment returns error_mark_node.
3763
3764 2004-09-09  Roger Sayle  <roger@eyesopen.com>
3765
3766         PR middle-end/17055
3767         * fold-const.c (build_zero_vector): New function to construct a
3768         vector (either floating point or integer) of zeros.
3769         (fold_convert): Internally, enable conversions of integer zero
3770         to arbitrary vector types, using the new build_zero_vector.
3771
3772 2004-09-09  Roger Sayle  <roger@eyesopen.com>
3773
3774         * config/i386/i386.c (ix86_expand_ashlsi3_const): New function to
3775         expand a left shift by an immediate constant as either an ashl or
3776         a sequence of additions.
3777         (ix86_split_ashldi): Use new ix86_expand_ashlsi3_const function
3778         instead of calling gen_ashlsi3 with a constant directly.
3779
3780 2004-09-09  Roger Sayle  <roger@eyesopen.com>
3781
3782         * config/i386/i386.c (ix86_split_long_move): When optimizing for
3783         size, and the low and high parts of a DImode constant are equal,
3784         copy one register to another instead of loading the same immediate
3785         value twice.
3786
3787 2004-09-09  Richard Henderson  <rth@redhat.com>
3788
3789         PR middle-end/17367
3790         * function.c (assign_parm_setup_block): Only put PARALLELs into
3791         a register if use_register_for_decl.
3792
3793 2004-09-09  Eric Christopher  <echristo@redhat.com>
3794
3795         * ra-colorize.c (reset_lists): Move variable declaration inside
3796         ENABLE_CHECKING to avoid unused variable warnings when
3797         not --enable-checking.
3798         (check_colors): Ditto.
3799
3800 2004-09-09  Mike Stump  <mrs@apple.com>
3801
3802         * version.c (version_string): Bump to 4.0.0.
3803         * doc/include/gcc-common.texi (version-GCC): Likewise.
3804
3805 2004-09-10  Jakub Jelinek  <jakub@redhat.com>
3806
3807         * doc/extend.texi (nothrow attribute): The attribute is not
3808         implemented in 3.2 and earlier.
3809
3810 2004-09-09  Steve Ellcey  <sje@cup.hp.com>
3811
3812         * genrecog.c (compute_predicate_codes): Use op0_codes
3813         instead of codes.
3814
3815 2004-09-09  Ulrich Weigand  <uweigand@de.ibm.com>
3816
3817         * ra-colorize.c (hardregset_to_string): Adapt to HARD_REG_SET
3818         implementation changes.
3819
3820 2004-09-09  Ulrich Weigand  <uweigand@de.ibm.com>
3821
3822         * combine.c (try_combine): When swapping i2 and i3, newi2pat may be
3823         a PARALLEL instead of a SET due to added clobbers.
3824
3825 2004-09-09  Ulrich Weigand  <uweigand@de.ibm.com>
3826
3827         * reload.c (find_reloads_address): Pass correct operand to
3828         maybe_memory_address_p.
3829
3830 2004-09-09  Daniel Berlin  <dberlin@dberlin.org>
3831
3832         * Makefile.in: Remove libbanshee, tree-alias-*.
3833         Remove tree-alias-common.h dependencies.
3834         * common.opt: Remove -ftree-points-to.
3835         * configure.ac: Remove libbanshee.
3836         * flags.h: Remove pta_type, flag_tree_points_to.
3837         * gengtype.c (open_base_files): Remove tree-alias-type.h.
3838         * opts.c (OPT_ftree_points_to): Remove.
3839         * toplev.c: Remove tree-alias-common.h, flag_tree_points_to.
3840         * tree-dfa.c: Remove tree-alias-common.h
3841         * tree-into-ssa.c: Ditto.
3842         * tree-outof-ssa.c: Ditto.
3843         * tree-ssa-copyrename.c: Ditto.
3844         * tree-ssa-live.c: Ditto.
3845         * tree-optimize.c: Ditto.
3846         * tree-ssa.c: Ditto.
3847         Remove pass_build_pta, pass_del_pta.
3848         * tree-pass.h: Ditto.
3849         * tree-ssa-alias.c: Remove tree-alias-common.h.
3850         (struct alias_stats_d): Remove pta_queries, pta_resolved.
3851         (pass_may_alias): Remove PROP_pta requirement.
3852         (may_alias_p): Remove pta_queries, pta_resolved, use of andersens.
3853         (get_tmt_for): Ditto.
3854         (dump_alias_stats): Ditto.
3855         * doc/passes.texi: Remove blurb about points-to analysis.
3856         * fortran/Make-lang.in: Remove tree-alias-*.o.
3857
3858 2004-09-09  Richard Sandiford  <rsandifo@redhat.com>
3859
3860         * genattrtab.c (write_insn_cases): New function, split out from
3861         write_attr_case.  Correctly handle define_peepholes when printing
3862         the instruction name.
3863         (write_attr_case, write_const_num_delay_slots): Use write_insn_cases.
3864
3865 2004-09-09  Hans-Peter Nilsson  <hp@axis.com>
3866
3867         PR target/17377
3868         * config/cris/cris-protos.h (cris_return_address_on_stack): Declare.
3869         * config/cris/cris.c (cris_return_address_on_stack): New function.
3870         * config/cris/cris.md ("return"): For location of return address,
3871         also check cris_return_address_on_stack.
3872
3873 2004-09-09  Diego Novillo  <dnovillo@redhat.com>
3874
3875         * tree-outof-ssa.c (coalesce_abnormal_edges): Fix typo in
3876         calling phi_ssa_name_p.
3877
3878 2004-09-09  Richard Henderson  <rth@redhat.com>
3879
3880         PR c/17322
3881         * c-typeck.c (valid_compound_expr_initializer): Use only
3882         initializer_constant_valid_p, and not TREE_CONSTANT.
3883         (digest_init): Likewise.
3884         (output_init_element): Likewise.
3885
3886 2004-09-09  Giovanni Bajo  <giovannibajo@gcc.gnu.org>
3887
3888         * ra-build.c (copy_insn_p, remember_move, defuse_overlap_p_1,
3889         live_out_1, prune_hardregs_for_mode, init_one_web_common,
3890         reinit_one_web, add_subweb, add_subweb_2, init_web_parts,
3891         record_conflict, compare_and_free_webs, init_webs_defs_uses,
3892         parts_to_webs_1, parts_to_webs, reset_conflicts,
3893         check_conflict_numbers, remember_web_was_spilled, handle_asm_insn,
3894         ra_build_free): Use gcc_assert and gcc_unreachable instead of abort.
3895         * ra-colorize.c (push_list, put_web, reset_lists, put_web_at_end,
3896         put_move, remove_move, combine, select_spill, colorize_one_web,
3897         try_recolor_web, insert_coalesced_conflicts, check_colors,
3898         break_precolored_alias, restore_conflicts_from_coalesce,
3899         sort_and_combine_web_pairs, check_uncoalesced_moves): Likewise.
3900         * ra-rewrite.c (spill_coalescing, slots_overlap_p, emit_loads,
3901         reloads_to_loads, rewrite_program2, emit_colors): Likewise.
3902         * ra.c (first_hard_reg, create_insn_info, find_subweb, init_ra,
3903         check_df): Likewise.
3904         * real.c (do_add, do_multiply, do_divide, do_compare, do_fix_trunc,
3905         real_arithmetic, real_compare, real_exponent, real_ldexp,
3906         real_identical, real_to_integer, real_to_integer2, real_to_decimal,
3907         real_to_hexadecimal, real_from_integer, ten_to_ptwo, ten_to_mptwo,
3908         real_digit, real_nan, real_maxval, round_for_format, real_convert,
3909         real_to_target, real_from_target, real_hash, encode_ieee_single,
3910         encode_ieee_double, encode_ieee_extended, encode_ieee_quad,
3911         encode_vax_f, encode_vax_d, encode_vax_g, encode_i370_single,
3912         encode_i370_double, encode_c4x_single, encode_c4x_extended): Likewise.
3913         * recog.c (validate_change, validate_replace_rtx_1, asm_operand_ok,
3914         extract_insn, peep2_next_insn, peep2_reg_dead_p,
3915         peep2_find_free_register, peephole2_optimize, store_data_bypass_p,
3916         if_test_bypass_p): Likewise.
3917         * reg-stack.c (record_label_references, get_asm_operand_n_inputs,
3918         stack_result, remove_regno_note, get_hard_regnum, emit_pop_insn,
3919         emit_swap_insn, swap_to_top, move_for_stack_reg,
3920         subst_stack_regs_pat, subst_asm_stack_regs, change_stack,
3921         compensate_edge, convert_regs_1): Likewise.
3922         * regclass.c (init_reg_sets, init_reg_sets_1,
3923         memory_move_secondary_cost): Likewise.
3924         * regrename.c (note_sets, clear_dead_regs, scan_rtx_reg, scan_rtx):
3925         Likewise.
3926         * reload.c (push_secondary_reload, find_valid_class, push_reload,
3927         operands_match_p, decompose, immune_p, find_reloads,
3928         find_reloads_toplev, find_reloads_address_1, subst_reloads,
3929         copy_replacements, refers_to_regno_for_reload_p,
3930         reg_overlap_mentioned_for_reload_p): Likewise.
3931         * reload1.c (compute_use_by_pseudos, replace_pseudos_in, reload,
3932         count_pseudo, find_reg, eliminate_regs, eliminate_regs_in_insn,
3933         verify_initial_elim_offsets, finish_spills, clear_reload_reg_in_use,
3934         reload_reg_free_p, reload_reg_reaches_end_p, reloads_conflict,
3935         choose_reload_regs, merge_assigned_reloads, emit_input_reload_insns,
3936         do_output_reload, fixup_abnormal_edges): Likewise.
3937         * reorg.c (stop_search_p, emit_delay_sequence, get_jump_flags,
3938         fill_slots_from_thread, relax_delay_slots): Likewise.
3939         * resource.c (mark_referenced_resources, mark_set_resources):
3940         Likewise.
3941         * rtl.c (copy_rtx, rtx_equal_p): Likewise.
3942         * rtlanal.c (insn_dependent_p, reg_overlap_mentioned_p,
3943         dead_or_set_p, find_reg_fusage, remove_note, replace_rtx,
3944         subreg_lsb_1, subreg_regno_offset, subreg_offset_representable_p,
3945         find_first_parameter_load, can_hoist_insn_p, hoist_update_store,
3946         hoist_insn_after, hoist_insn_to_edge, nonzero_bits1): Likewise.
3947         * rtlhooks.c (gen_lowpart_general): Likewise.
3948         * sbitmap.c (sbitmap_difference): Likewise.
3949         * sched-deps.c (add_dependence, sched_analyze_1, sched_analyze_2,
3950         sched_analyze, add_forward_dependence): Likewise.
3951         * sched-ebb.c (fix_basic_block_boundaries, schedule_ebb): Likewise.
3952         * sched-rgn.c (debug_regions, compute_trg_info, schedule_region,
3953         schedule_insns): Likewise.
3954         * sched-vis.c (print_pattern): Likewise.
3955         * sdbout.c (sdbout_symbol, sdbout_toplevel_data): Likewise.
3956         * simplify-rtx.c (simplify_unary_operation, simplify_binary_operation,
3957         simplify_const_relational_operation, simplify_ternary_operation,
3958         simplify_immed_subreg, simplify_subreg, simplify_gen_subreg):
3959         Likewise.
3960         * sreal.c (copy, sreal_sub, sreal_div): Likewise.
3961         * stmt.c (force_label_rtx, expand_goto, expand_asm_operands,
3962         resolve_operand_name_1, expand_return, expand_decl,
3963         expand_anon_union_decl, emit_case_bit_tests, expand_case): Likewise.
3964         * stor-layout.c (put_pending_size, smallest_mode_for_size,
3965         int_mode_for_mode, layout_decl, finish_builtin_struct, layout_type,
3966         set_sizetype, get_mode_bounds): Likewise.
3967
3968 2004-09-09  Zack Weinberg  <zack@codesourcery.com>
3969
3970         * defaults.h (MULTIPLE_SYMBOL_SPACES): Provide default.
3971         * config/arm/pecoff.h, config/i386/beos-elf.h
3972         * config/i386/cygming.h, config/i386/i386-interix.h:
3973         Define MULTIPLE_SYMBOL_SPACES to 1, not nothing.  Remove
3974         comment cloned from manual.
3975         * doc/tm.texi: Update description of MULTIPLE_SYMBOL_SPACES.
3976
3977 2004-09-09  Frank Ch. Eigler  <fche@redhat.com>
3978
3979         * builtins.c (build_va_arg_indirect_ref): New function.
3980         (std_gimplify_va_arg_expr): Call it instead of mudflap check and
3981         build_fold_indirect_ref.
3982         * config/i386/i386.c (ix86_gimplify_va_arg): Ditto.
3983         * config/ia64/ia64.c (ia64_gimplify_va_arg): Ditto.
3984         * tree.h: Declare new function.
3985
3986 2004-09-09  Nathan Sidwell  <nathan@codesourcery.com>
3987
3988         * cgraphunit.c (cgraph_mark_functions_to_output): Renable node
3989         dumping for development builds.
3990         * emit-rtl.c (verify_rtx_sharing): Give verbose failure for
3991         development builds only.
3992         * genattrtab.c (write_eligible_delay): Fix typo in previous
3993         commit.
3994         * tree.c (iterative_hash_expr): Replace gcc_unreachable with
3995         gcc_assert.
3996
3997 2004-09-09  Nathan Sidwell  <nathan@codesourcery.com>
3998
3999         * gcse.c (INSN_CUID, insert_set_in_table, find_avail_set,
4000         cprop_insn, do_local_cprop, local_cprop_pass, find_bypass_set,
4001         process_insert_insn, insert_insn_end_bb, pre_insert_copy_insn,
4002         hoist_code, extract_mentioned_regs_helper, compute_store_table,
4003         insert_store): Use gcc_assert and gcc_unreachable.
4004         * ggc-common.c (ggc_splay_alloc, ggc_splay_dont_free,
4005         gt_pch_note_object, gt_pch_note_reorder, relocate_ptrs,
4006         ggc_record_overhead): Likewise.
4007         * ggc-page.c (alloc_page, free_page, ggc_set_mark, ggc_marked_p,
4008         init_ggc, ggc_push_context, ggc_recalculate_in_use_p,
4009         ggc_pop_context, clear_marks, validate_free_objects,
4010         ggc_pch_read): Likewise.
4011         * ggc-zone.c (ggc_allocated_p, free_chunk, ggc_set_mark,
4012         ggc_marked_p, ggc_get_size, init_ggc, destroy_ggc_zone,
4013         ggc_push_context, check_cookies, ggc_collect,
4014         ggc_print_statistics): Likewise.
4015         * gimple-low.c (lower_function_body, lower_stmt,
4016         lower_bind_expr): Likewise.
4017         * gimplify.c (gimple_tree_eq, push_gimplify_context,
4018         pop_gimplify_context, gimple_pop_condition, create_tmp_var,
4019         declare_tmp_vars, gimple_add_tmp_var, annotate_all_with_locus,
4020         mostly_copy_tree_r, gimplify_return_expr, gimplify_switch_expr,
4021         gimplify_case_label_expr, gimplify_exit_block_expr,
4022         canonicalize_component_ref, gimplify_compound_lval,
4023         gimplify_self_mod_expr, gimplify