OSDN Git Service

f5b3abdefd33bdffb31b49bb46732dfdb44f6af2
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2004-11-05  Andreas Krebbel  <krebbel1@de.ibm.com>
2
3         * config/s390/s390.c (s390_fixed_condition_code_regs): New function.
4         (TARGET_FIXED_CONDITION_CODE_REGS): Macro defined.
5
6 2004-11-05  Nathan Sidwell  <nathan@codesourcery.com>
7
8         * bitmap.h (enum bitmap_bits): Remove.
9         (bitmap_operation): Remove.
10         (bitmap_and, bitmap_and_into, bitmap_and_compl,
11         bitmap_and_compl_into, bitmap_ior, bitmap_ior_into, bitmap_xor,
12         bitmap_xor_into): Prototype.
13         * bitmap.c (bitmap_elt_insert_after, bitmap_elt_clear_from): New.
14         (bitmap_operation): Remove.
15         (bitmap_and, bitmap_and_into, bitmap_and_compl,
16         bitmap_and_compl_into, bitmap_ior, bitmap_ior_into, bitmap_xor,
17         bitmap_xor_into): New.
18         (bitmap_ior_and_compl, bitmap_ior_and_compl_into): Adjust.
19
20         PR tree-optimization/18307
21         * tree-ssa-alias.c (merge_pointed_to_info): Protected against DEST
22         and ORIG being the same node.
23
24 2004-11-04  Geoffrey Keating  <geoffk@apple.com>
25
26         * Makefile.in (distclean): Don't delete nonexistent fixinc/ directory.
27         (install-mkheaders): Install the version built for the
28         host, not for the build machine.
29         * configure.ac: Always run fixincludes.
30         (all_outputs): Remove mkheaders.
31         * configure: Regenerate.
32         * fixinc.in: Move to fixincludes/.
33         * mkfixinc.sh: Likewise.
34         * mkheaders.in: Likewise.
35         * README-fixinc: Likewise.
36
37 2004-11-05  Ramana Radhakrishnan  <ramana.radhakrishnan@codito.com>
38
39         PR target/18263
40         * config/arc/lib1funcs.asm (___umulsidi3): Change use of cmp to the
41         equivalent on the A4.
42
43 2004-11-05  Joseph S. Myers  <joseph@codesourcery.com>
44
45         * doc/c-tree.texi, doc/cfg.texi, doc/contrib.texi, doc/cpp.texi,
46         doc/cppopts.texi, doc/extend.texi, doc/fragments.texi,
47         doc/frontends.texi, doc/gcov.texi, doc/hostconfig.texi,
48         doc/implement-c.texi, doc/install.texi, doc/invoke.texi,
49         doc/libgcc.texi, doc/md.texi, doc/passes.texi,
50         doc/portability.texi, doc/rtl.texi, doc/sourcebuild.texi,
51         doc/standards.texi, doc/tm.texi, doc/tree-ssa.texi,
52         doc/trouble.texi: Correct end-of-sentence markup and markup of
53         "etc.", "e.g." and "i.e.".  Use @code in various places where
54         appropriate.
55
56 2004-11-05  Joseph S. Myers  <joseph@codesourcery.com>
57
58         * doc/c-tree.texi, doc/cfg.texi, doc/extend.texi, doc/gty.texi,
59         doc/install.texi, doc/invoke.texi, doc/md.texi, doc/passes.texi,
60         doc/rtl.texi, doc/tm.texi, doc/tree-ssa.texi: Remove trailing
61         whitespace.
62
63 2004-11-04  Mark Mitchell  <mark@codesourcery.com>
64
65         * config/arm/arm.c (arm_handle_notshared_attribute): New function.
66         * doc/extend.texi: Document "notshared" attribute.
67         
68 2004-11-04  Kazu Hirata  <kazu@cs.umass.edu>
69
70         * tree-phinodes.c (make_phi_node): Make it static.
71         * tree.h: Remove the prototypes for make_phi_node.
72
73 2004-11-04  Kazu Hirata  <kazu@cs.umass.edu>
74
75         * stmt.c (expand_asm, expand_asm_operands): Make them static.
76         * tree.h: Remove the prototypes for expand_asm and
77         expand_asm_operands.
78
79 2004-11-04  Kazu Hirata  <kazu@cs.umass.edu>
80
81         * passes.c (rest_of_compilation): Make it static.
82         * toplev.h: Remove the prototype for rest_of_compilation.
83
84 2004-11-04  Kazu Hirata  <kazu@cs.umass.edu>
85
86         * jump.c (cleanup_barriers): Use delete_insn instead of
87         delete_barrier.
88         (delete_barrier): Remove.
89         * rtl.h: Remove the corresponding prototype.
90
91 2004-11-04  Kazu Hirata  <kazu@cs.umass.edu>
92
93         * expr.c (mostly_zero_p): Make it static.
94         * tree.h: Remove the prototype for mostly_zeros_p.
95
96 2004-11-04  Kazu Hirata  <kazu@cs.umass.edu>
97
98         * cfgrtl.c (force_nonfallthru_and_redirect): Make it static.
99
100 2004-11-04  Kazu Hirata  <kazu@cs.umass.edu>
101
102         * builtins.c (expand_builtin_return_addr,
103         expand_builtin_longjmp, expand_builtin_trap): Make them static.
104         * expr.h: Remove the prototypes for expand_builtin_longjmp and
105         expand_builtin_trap.
106         * tree.h: Remove the prototype for expand_builtin_return_addr.
107
108 2004-11-04  Kazu Hirata  <kazu@cs.umass.edu>
109
110         * tree-cfg.c (find_taken_edge): Reject VAL begin NULL.
111         * tree-ssa-ccp.c (visit_cond_stmt): Don't call find_taken_edge
112         with VAL being NULL.
113
114 2004-11-04  Kazu Hirata  <kazu@cs.umass.edu>
115
116         * cfghooks.c (delete_basic_block): Remove code to truncate
117         edge vectors.
118
119 2004-11-04  Andrew Pinski  <pinskia@physics.uc.edu>
120
121         * flow.c (init_propagate_block_info): Change the type of i to 
122         unsigned.
123
124 2004-11-04  Ulrich Weigand  <uweigand@de.ibm.com>
125
126         PR tree-optimization/18184
127         * c-typeck.c (comptypes): Do not treat pointers of different
128         modes or alias-all flags as equivalent.
129         * tree-ssa.c (tree_ssa_useless_type_conversion_1): Likewise.
130
131 2004-11-04  Joseph S. Myers  <joseph@codesourcery.com>
132
133         * doc/gty.texi, doc/makefile.texi, doc/sourcebuild.texi: Don't
134         reference specific C parser files in examples.
135
136 2004-11-04  Richard Sandiford  <rsandifo@redhat.com>
137
138         PR target/15342
139         * regrename.c (scan_rtx): Treat the destinations of SETs and CLOBBERs
140         as OP_INOUT if the instruction is predicated.
141
142 2004-11-04  Kazu Hirata  <kazu@cs.umass.edu>
143
144         * bitmap.h: Fix a comment typo.  Follow spelling conventions.
145         * tree-vectorizer.c: Fix a comment typo.
146
147 2004-11-04  Kazu Hirata  <kazu@cs.umass.edu>
148
149         * sdbout.c (SDB_GENERATE_FAKE): Remove.
150         (gen_fake_label): Don't use SDB_GENERATE_FAKE.
151         * system.h: Poison SDB_GENERATE_FAKE.
152         * doc/tm.texi (SDB_GENERATE_FAKE): Remove.
153
154 2004-11-04  Ulrich Weigand  <uweigand@de.ibm.com>
155
156         * config/s390/s390.md ("*addsi3_sign"): Use canonical RTL.
157
158 2004-11-04  Eric Botcazou  <ebotcazou@libertysurf.fr>
159
160         PR other/18277
161         * gthr-posix.h (__gthread_recursive_mutex_init_function): Revert
162         2004-10-29 patch
163
164 2004-11-04  Nathan Sidwell  <nathan@codesourcery.com>
165
166         * predict.c (propagate_freq): Make bitno unsigned. Move
167         npredecessors update out of loop.
168
169         * bitmap.h (bitmap_iterator): Remove word_bit and bit
170         fields. Rename others.
171         (bmp_iter_common_next_1, bmp_iter_single_next_1,
172         bmp_iter_single_init, bmp_iter_end_p, bmp_iter_single_next,
173         bmp_iter_and_not_next_1, bmp_iter_and_not_init,
174         bmp_iter_and_not_next, bmp_iter_and_next_1, bmp_iter_and_init,
175         bmp_iter_and_next): Remove.
176         (bmp_iter_set_init, bmp_iter_and_init, bmp_iter_and_compl_init,
177         bmp_iter_next, bmp_iter_set, bmp_iter_and, bmp_iter_and_compl):
178         New.
179         (EXECUTE_IF_SET_IN_BITMAP, EXECUTE_IF_AND_IN_BITMAP,
180         EXECUTE_IF_AND_COMPL_IN_BITMAP): Adjust.
181
182         * bitmap.h (bitmap_a_or_b, bitmap_a_and_b): Remove.
183         * df.c (dataflow_set_a_op_b): Use bitmap_and, bitmap_ior,
184         bitmap_and_into, bitmap_ior_into as appropriate.
185         * except.c (remove_eh_handler): Likewise.
186         * global.c (modify_bb_reg_pav, make_accurate_live_analysis): Likewise.
187         * tree-dfa.c (mark_new_vars_to_rename): Likewise.
188         * tree-ssa-alias.c (merge_pointed_to_info): Likewise.
189         * tree-ssa-live.h (live_merge_and_clear): Likewise.
190         * tree-ssa-loop-ivopts.c (find_best_candidate, try_add_cand_for):
191         Likewise.
192
193         * bitmap.c (bitmap_print): Make bitno unsigned.
194         * bt-load.c (clear_btr_from_live_range,
195         btr_def_live_range): Likewise.
196         * caller-save.c (save_call_clobbered_regs): Likewise.
197         * cfganal.c (compute_dominance_frontiers_1): Likewise.
198         * cfgcleanup.c (thread_jump): Likewise.
199         * cfgrtl.c (safe_insert_insn_on_edge): Likewise.
200         * conflict.c (conflict_graph_compute): Likewise.
201         * ddg.c (add_deps_for_use): Likewise.
202         * df.c (df_refs_update): Likewise.
203         * except.c (remove_eh_handler): Likewise.
204         * flow.c (verify_local_live_at_start, update_life_info,
205         initialize_uninitialized_subregs, propagate_one_insn,
206         free_propagate_block_info, propagate_block, find_use_as_address,
207         reg_set_to_hard_reg_set): Likewise.
208         * gcse.c (clear_modify_mem_tables): Likewise.
209         * global.c (global_conflicts, build_insn_chain): Likewise.
210         * ifcvt.c (dead_or_predicable): Likewise.
211         * local-alloc.c (update_equiv_regs): Likewise.
212         * loop.c (load_mems): Likewise.
213         * ra-build.c (livethrough_conflicts_bb, conflicts_between_webs):
214         Likewise.
215         * ra-rewrite.c (reloads_to_loads, rewrite_program2, actual_spill):
216         Likewise.
217         * reload1.c (order_regs_for_reload, finish_spills): Likewise.
218         * sched-deps.c (sched_analyze_insn, free_deps): Likewise.
219         * sched-rgn.c (propagate_deps
220         * tree-cfg.c (tree_purge_all_dead_eh_edges): Likewise.
221         * tree-dfa.c (dump_dfa_stats
222         tree-into-ssa.c (compute_global_livein, insert_phi_nodes,
223         insert_phi_nodes_for, debug_def_blocks_r, invalidate_name_tags):
224         Likewise.
225         * tree-outof-ssa.c (coalesce_ssa_name, coalesce_vars,
226         free_temp_expr_table, find_replaceable_exprs): Likewise.
227         * tree-sra.c (scan_function, scalarize_parms): Likewise.
228         * tree-ssa-alias.c (init_alias_info,
229         compute_points_to_and_addr_escape,
230         compute_flow_sensitive_aliasing, maybe_create_global_var): Likewise.
231         * tree-ssa-dce.c (mark_control_dependent_edges_necessary): Likewise.
232         * tree-ssa-live.c (new_tree_live_info, live_worklist,
233         calculate_live_on_entry, calculate_live_on_exit, compare_pairs,
234         sort_coalesce_list, build_tree_conflict_graph, dump_live_info
235         tree-ssa-loop-manip.c (add_exit_phis_var): Likewise.
236         tree-ssa-operands.c (get_asm_expr_operands, add_call_clobber_ops,
237         add_call_read_ops): Likewise.
238         * tree-ssa-pre.c (bitmap_print_value_set, insert_aux): Likewise.
239         * tree-ssa-live.h (num_var_partitions): Return unsigned.
240
241 2004-11-03  Dorit Naishlos  <dorit@il.ibm.com>
242
243         PR tree-optimization/18009
244         * tree-vectorizer.h (enum dr_alignment_support): New type.
245         (MAX_NUMBER_OF_UNALIGNED_DATA_REFS): Removed.
246         (LOOP_UNALIGNED_DR): replaced with LOOP_VINFO_UNALIGNED_DR and holds a
247         single data_reference (instead of a varray of references).
248         * tree-vectorizer.c (new_loop_vec_info): Likewise.
249         (vect_gen_niters_for_prolog_loop): Likewise.
250         (vect_update_inits_of_drs): Likewise.
251
252         (vect_update_inits_of_drs): Setting of DR_MISALIGNMENT moved to
253         vect_enhance_data_refs_alignment.
254         (vect_do_peeling_for_alignment): Likewise.
255         (vect_enhance_data_refs_alignment): Decide if and by how much to peel;
256         this functionality used to be in vect_analyze_data_refs_alignment.
257         Also update DR_MISALIGNMENT due to peeling; this functionality used to
258         be in vect_update_inits_of_drs and vect_do_peeling_for_alignment).
259         (vect_analyze_data_refs_alignment): Decision on whether and by how much
260         to peel moved to vect_enhance_data_refs_alignment. Call 
261         vect_supportable_dr_alignment.
262
263         (vect_compute_data_ref_alignment): Set STMT_VINFO_VECTYPE.
264         (vect_compute_data_refs_alignment): Return bool. Consider return value
265         of vect_compute_data_ref_alignment and return true/false accordingly.
266         (vect_enhance_data_refs_alignment): Consider return value of 
267         vect_compute_data_refs_alignment and return true/false accordingly.
268
269         (vect_supportable_dr_alignment): New function.
270         (vectorizable_store): Call vect_supportable_dr_alignment.
271         (vectorizable_load): Call vect_supportable_dr_alignment. Alignment
272         support checks moved from here to vect_supportable_dr_alignment.
273
274         (vect_transform_loop): Avoid 80 columns overflow.
275
276 2004-11-03  Andrew Pinski  <pinskia@physics.uc.edu>
277
278         * timevar.c (timevar_enable): Change from
279         static.
280         (timevar_push): Rename to ...
281         (timevar_push_1): this and remove the
282         enabled check.
283         (timevar_pop): Rename to ...
284         (timevar_pop_1): this and remove the
285         enabled check.
286         * timevar.h (POP_TIMEVAR_AND_RETURN): Use do/while loops.
287         (timevar_pop): New macro.
288         (timevar_push): New macro.
289         (timevar_enable): Declare.
290
291 2004-11-03  Andrew Pinski  <pinskia@physics.uc.edu>
292
293         * config/darwin.h (REAL_LIBGCC_SPEC): Define to use shared
294         libgcc for shared libraries.
295
296 2004-11-03  Ulrich Weigand  <uweigand@de.ibm.com>
297
298         * config/s390/s390-protos.h (s390_split_access_reg): Add prototype.
299         * config/s390/s390.c (s390_split_access_reg): New function.
300         (regclass_map): Add access registers.
301         (get_thread_pointer): Use access register instead of UNSPEC_TP.
302         * config/s390/s390.h (FIRST_PSEUDO_REGISTER): Set to 38.
303         (ACCESS_REGNO_P, ACCESS_REG_P): New macros.
304         (TP_REGNUM): New define.
305         (FIXED_REGISTERS, CALL_USED_REGISTERS, CALL_REALLY_USED_REGISTERS,
306         REG_ALLOC_ORDER): Add access registers.
307         (HARD_REGNO_NREGS, HARD_REGNO_MODE_OK, CLASS_MAX_NREGS,
308         CANNOT_CHANGE_MODE_CLASS): Support access registers.
309         (enum reg_class): Add ACCESS_REGS.
310         (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Likewise.
311         (REG_CLASS_FROM_LETTER): Add 't' constraint.
312         (REGISTER_NAMES): Add access registers.
313         * config/s390/s390.md (UNSPEC_TP): Remove.
314         ("*movdi_64"): Add access register alternatives.  Provide splitters
315         to split DImode access register <-> GPR moves into SImode moves.
316         ("*movsi_zarch", "*movsi_esa"): Add access register alternatives.
317         ("movstrictsi"): Likewise.
318         ("get_tp_64", "get_tp_31"): Reimplement using access registers.
319         ("set_tp_64", "set_tp_31"): Likewise.
320         ("*set_tp"): New insn.
321
322 2004-11-03  Kazu Hirata  <kazu@cs.umass.edu>
323
324         * tree-phinodes.c (resize_phi_node): Copy only a portion of
325         the PHI node currently in use.
326
327 2004-11-03  Andrew Pinski  <pinskia@physics.uc.edu>
328
329         PR tree-opt/18231
330         * tree.c (staticp) <case FUNCTION_DECL>: Nested functions are static
331         also.
332
333 2004-11-03  Andrew MacLeod  <amacleod@redhat.com>
334
335         PR tree-optimization/18270
336         * tree-outof-ssa.c (analyze_edges_for_bb): If a block has incoming
337         abnormal edges, commit all pending stmts on incoming edges.
338
339 2004-11-03  Ulrich Weigand  <uweigand@de.ibm.com>
340
341         * tree-ssa-loop-ivopts.c (get_address_cost): Offset zero does not
342         cause extra costs.  Generate canonical RTL.
343
344 2004-11-02  Daniel Berlin  <dberlin@dberlin.org>
345
346         * lambda-code.c (lambda_compute_auxillary_space): Update comments.
347         (lambda_compute_target_space). Ditto.
348         * lambda.h (lambda_trans_matrix): Ditto.
349         (lambda_linear_expression): Ditto.
350         (lambda_body_vector): Ditto.
351         (lambda_loopnest): Ditto.
352         * tree-loop-linear.c (gather_interchange_stats): Combine tests,
353         update comments, and remove pointless addition of 0.
354         (linear_transform_loops): Update comments.
355
356 2004-11-03  Sebastian Pop  <pop@cri.ensmp.fr>
357
358         * tree.c (tree_fold_gcd): Use FLOOR_MOD_EXPR instead of
359         CEIL_MOD_EXPR.
360
361 2004-11-03 Jeff Law  <law@redhat.com>
362
363         * predict.c (struct block_info_def): Kill "tovisit" field.
364         (propagate_freq): Accept new "tovisit" parameter.  Change
365         read/write access methods for "tovisit" to check the "tovisit"
366         bitmap instead of a bit in block_info_def.
367         (estimate_loops_at_level): Allocate "tovisit" bitmap.  Pass
368         it to propagate_freq.
369
370         * stmt.c (expand_case): Speed up code to detect duplicate case
371         label targets and count unique case label targets.
372
373 2004-11-03  Kazu Hirata  <kazu@cs.umass.edu>
374
375         * cppdefault.c, cppdefault.h, timevar.h: Update copyright.
376
377 2004-11-03  Kazu Hirata  <kazu@cs.umass.edu>
378
379         * bitmap.h, dbxout.c, tree-mudflap.c: Fix comment formatting.
380
381 2004-11-03  Kazu Hirata  <kazu@cs.umass.edu>
382
383         * tree-cfg.c (find_taken_edge): Abort if we are given a
384         statement that is neither COND_EXPR nor SWITCH_EXPR.
385
386 2004-11-02  Zdenek Dvorak  <dvorakz@suse.cz>
387
388         * fold-const.c (fold): Reassociate also (x - mult) + mult and
389         (mult - x) + mult.  Cast operands of expression after applying
390         distributive law to the correct types.  Apply distributive law
391         to a * c - b * c for all non-float types.
392
393 2004-11-02  Geoffrey Keating  <geoffk@apple.com>
394
395         * configure.ac: Don't clear STMP_FIXINC or STMP_FIXPROTO just
396         because we don't want to run them now; instead, set them to
397         stmp-install-fixproto or stmp-install-fixinc.
398         * Makefile.in (stmp-install-fixproto): New.
399         (stmp-install-fixinc): New.
400         * configure: Regenerate.
401
402 2004-11-02  Nathan Sidwell  <nathan@codesourcery.com>
403
404         * flow.c (init_propagate_block_info): Use bitmap_empty_p on result
405         of bitmap_xor.
406
407 2004-11-02  Ziemowit Laski  <zlaski@apple.com>
408
409         * c-lang.c (LANG_HOOKS_TYPES_COMPATIBLE_P): Remove.
410         (c_types_compatible_p): Move function definition...
411         * c-objc-common.c (c_types_compatible_p): ...here.
412         * c-objc-common.h (LANG_HOOKS_TYPES_COMPATIBLE_P): Moved here from
413         c-lang.c.
414
415 2004-11-02  Steven Bosscher  <stevenb@suse.de>
416
417         * cfgloop.h (struct loop): Update comment.
418         * cse.c (cse_main): Remove obsolete comment.
419
420         * expr.h (gen_cond_trap): Move prototype under functions provided
421         by optabs.c.
422         (canonicalize_condition, get_condition): Move to...
423         * rtl.h (canonicalize_condition, get_condition): ...here.
424         (branch_target_load_optimize): Add comment that this function is
425         in bt-load.c.
426         * loop.c (canonicalize_condition, get_condition): Move to...
427         * rtlanal.c (canonicalize_condition, get_condition): ...here.
428         * sched-deps.c (get_condition): Rename to sched_get_condition.
429         (add_dependence): Update this caller.
430  
431 2004-11-02  Andrew Pinski  <pinskia@physics.uc.edu>
432
433         PR tree-opt/16808
434         * tree-ssa.c (replace_immediate_uses): If we call fold_stmt, make sure
435         that the vops get marked for renaming.
436
437 2004-11-02  Andreas Krebbel  <krebbel1@de.ibm.com>
438
439         * config/s390/s390.md ("movcc"): Set type attribute.
440
441 2004-11-02  Kazu Hirata  <kazu@cs.umass.edu>
442
443         * tree-phinodes.c (add_phi_arg): Add an assertion that the
444         edge already exists.
445
446 2004-11-02  Kazu Hirata  <kazu@cs.umass.edu>
447
448         * tree-phinodes.c (remove_phi_arg_num): Do not zero the
449         element that's being removed.
450
451 2004-11-02  Kazu Hirata  <kazu@cs.umass.edu>
452
453         * tree-ssa-threadupdate.c (copy_phis_to_block): Install PHI
454         arguments using PENDING_STMT.
455         (thread_block): Call copy_phis_to_block after redirecting an
456         edge.
457
458 2004-11-02  Nathan Sidwell  <nathan@codesourcery.com>
459
460         * bitmap.h (bitmap_and, bitmap_and_into, bitmap_and_compl,
461         bitmap_and_compl_into, bitmap_ior, bitmap_iot_into,
462         bitmap_ior_compl, bitmap_xor, bitmap_xor_into): Produce void.
463         (bitmap_ior_and_compl_into): Produce bool.
464         (bitmap_union_of_diff): Rename to ...
465         (bitmap_ior_and_compl): ... here. Produce bool.
466         * bitmap.c (bitmap_ior_and_compl_into): Return bool. Use
467         bitmap_operation directly.
468         (bitmap_union_of_diff): Rename to ...
469         (bitmap_ior_and_compl): ... here. Return bool, use
470         bitmap_operation directly.
471         * df.c (df_rd_transfer_function): Use bitmap_ior_and_compl.
472         (df_ru_transfer_function, df_lr_transfer_function): Likewise.
473         * global.c (modify_bb_reg_pav): Likewise.
474
475         * bitmap.h (bitmap_equal_p): Return bool.
476         (bitmap_intersect_p, bitmap_intersect_compl_p): Declare.
477         * bitmap.c (bitmap_equal_p): Return bool. Compare directly.
478         (bitmap_intersect_p, bitmap_intersect_compl_p): New.
479         * flow.c (calculate_global_regs_live): Use bitmap_intersect_p and
480         bitmap_intersect_compl_p.
481         * ifcvt (dead_or_predicable): Likewise.
482
483 2004-11-02  Nathan Sidwell  <nathan@codesourcery.com>
484
485         PR rtl-optimization/17104
486         * config/rs6000/rs6000.c (rs6000_emit_move): Don't wrap small
487         loads in zero_extend.
488
489 2004-11-02  Danny Smith  <dannysmith@users.sourceforge.net>
490
491         PR debug/18242
492         * toplev.c (debug_type_names): Remove "dwarf-1".
493
494 2004-11-02  Ben Elliston  <bje@au.ibm.com>
495
496         * timevar.h (timevar_get): Remove. 
497         * timevar.c (timevar_get): Remove unused function.
498
499 2004-11-02  Joseph S. Myers  <joseph@codesourcery.com>
500
501         * doc/include/texinfo.tex: Update from Texinfo CVS.
502
503 2004-11-02  Ben Elliston  <bje@au.ibm.com>
504
505         * cppdefault.h (cpp_SYSROOT): Remove.
506         * cppdefault.c (cpp_SYSROOT): Likewise.
507
508 2004-11-01  Andrew MacLeod  <amacleod@redhat.com>
509
510         PR tree-optimization/16447
511         * tree-cfg.c (bsi_commit_one_edge_insert): Rename from 
512         bsi_commit_edge_inserts_1, and make funtion external.  Return new block.
513         (bsi_commit_edge_inserts): Use renamed bsi_commit_one_edge_insert.
514         * tree-optimize.c (pass_cleanup_cfg_post_optimizing): Enable listing.
515         * tree-flow.h (bsi_commit_one_edge_insert): Extern decl.
516         * tree-outof-ssa.c (rewrite_trees): Don't commit edges here.
517         (same_stmt_list_p): New.  Return TRUE if edge is to be forwarded.
518         (identical_copies_p): New.  Return true is two copies are the same.
519         (identical_stmt_lists_p): New.  Return true if stmt lists are the same.
520         (analyze_edges_for_bb): New.  Determine how best to insert edge stmts 
521         for a basic block.
522         (perform_edge_inserts): New.  Determine what to do with all stmts that
523         have been inserted on edges.
524         (remove_ssa_form):  Analyze and commit edges from here.
525
526 2004-11-01  Andrew Pinski  <pinskia@physics.uc.edu>
527
528         PR bootstrap/18232
529         * bitmap.h (bmp_iter_end_p): Take a const pointer instead of a struct.
530         (EXECUTE_IF_SET_IN_BITMAP): Update call to bmp_iter_end_p.
531         (EXECUTE_IF_AND_COMPL_IN_BITMAP): Likewise.
532         (EXECUTE_IF_AND_IN_BITMAP): Likewise.
533
534 2004-11-01  Joseph S. Myers  <joseph@codesourcery.com>
535
536         PR c/18239
537         * c-decl.c (get_parm_info): Allow FUNCTION_DECLs to appear amongst
538         parameter declarations.
539
540 2004-11-01  Andreas Krebbel  <krebbel1@de.ibm.com>
541
542         * config/s390/s390.c (regclass_map): Put reg 33 (cc) to CC_REGS group.
543         (s390_secondary_input_reload_class)
544         (s390_secondary_output_reload_class): Use GENERAL_REGS to reload a cc
545         register.
546         (s390_expand_cmpmem): Enable cmpmem implementation.
547         * config/s390/s390.h (reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS):
548         Added three new classes: CC_REGS, ADDR_CC_REGS, GENERAL_CC_REGS.
549         (REG_CLASS_FROM_LETTER): New constraint 'c' added.
550         * config/s390/s390.md ("movcc"): New insn pattern.
551         * doc/md.texi: Document 'c' constraint for s390.
552
553 2004-11-01  Nathan Sidwell  <nathan@codesourcery.com>
554
555         PR c++/18064
556         * doc/extend.texi (Deprecated Features): Deprecate G++ covariant
557         extension.
558
559 2004-10-16  Daniel Berlin  <dberlin@dberlin.org>
560
561         Fix PR tree-optimization/17672
562         Fix PR tree-optimization/18168
563         
564         * lambda-code.c (lambda_lattice_compute_base): Fix reversed
565         assert test.
566         (gcc_tree_to_linear_expression): Add extra to existing constant.
567         (depth_of_nest): Factor out function used in various places.
568         (gcc_loop_to_lambda_loop): Clean up code a little bit. No
569         functional changes.
570         (find_induction_var_from_exit_cond): Stop guessing, and just
571         get the right answer :).
572         (gcc_loopnest_to_lambda_loopnest): Remove useless pre-allocation.
573         Print out message about result of attempt to create perfect nest.
574         (lbv_to_gcc_expression): Add type argument, use it to do math
575         and induction variable creation.
576         (lle_to_gcc_expression): Ditto.
577         (lambda_loopnest_to_gcc_loopnest): Create new iv with same type as
578         oldiv. Pass type argument to lle_to_gcc_expression and 
579         lbv_to_gcc_expression.
580         Reset number of iterations after transformation.
581         (perfect_nestify): Remove useless pre-allocation, and cleanup
582         a small amount.
583
584         * tree-data-ref.c (build_classic_dist_vector): Return false for
585         dependences completely outside of the loop nest we asked about.
586         (build_classic_dir_vector): Ditto.
587         (compute_data_dependences_for_loop): Only add dependence relations
588         inside the loop we asked about.
589         
590         * tree-loop-linear.c (linear_transform_loops): Use DDR_SIZE_VECT.
591         Compute immediate uses.
592         
593         * tree-optimize.c: Move linear_transform_loops to before ivcanon.
594         
595 2004-11-01  Kazu Hirata  <kazu@cs.umass.edu>
596
597         * tree-cfg.c (thread_jumps): Fix a comment typo.
598
599 2004-11-01  Kazu Hirata  <kazu@cs.umass.edu>
600
601         * tree-cfg.c (thread_jumps): Fix a comment typo.
602
603 2004-10-31  Nicolas Pitre <nico@cam.org>
604
605         * config/arm/ieee754-sf.S (floatdisf): Fix regression with
606         values smaller than 2^32.
607
608 2004-10-31 Jeff Law  <law@redhat.com>
609
610         * cfgloop.h (struct loop): Remove unused "nodes" field.
611         * timevar.def (TV_TREE_LOOP_BOUNDS): New.
612         * tree-data-ref.c (find_data_references_in_loop): Use get_loop_body
613         instead of calling flow_bb_inside_loop_p for every basic block
614         in the function.
615         * tree-ssa-loop.c (pass_record_bounds): Use TV_TREE_LOOP_BOUNDS.
616
617 2004-10-31  Graham Stott <graham.stott@btinternet.com>
618
619         * config/pa/pa.md: (prefetch_64, prefetch_32): Fix typo.  Use
620         INT_5_BITS instead of VAL_5_BITS_P.
621
622 2004-10-31  Roger Sayle  <roger@eyesopen.com>
623
624         PR middle-end/14521
625         * tree-inline.c (inline_forbidden_p_1): Use %qF instead of '%F'
626         for consistent quoting in diagnostic messages.
627         (expand_call_inline): Likewise.
628         * tree-optimize.c (tree_rest_of_compilation): Likewise.
629         * tree-ssa.c (warn_uninitialized_var): Likewise.
630         (warn_uninitialized_phi): Likewise.
631
632 2004-10-31  Richard Sandiford  <rsandifo@redhat.com>
633
634         * config/mips/mips.c (mips_cannot_change_mode_class): Use a stricter
635         mode check.
636
637 2004-10-31  Kazu Hirata  <kazu@cs.umass.edu>
638
639         * c-common.c: Fix a comment typo.
640
641 2004-10-31  Jason Merrill  <jason@redhat.com>
642
643         PR middle-end/17526
644         * tree-gimple.c (is_gimple_mem_rhs): Also require a val for
645         aggregate types that are not BLKmode.
646
647 2004-10-30  Ziemowit Laski  <zlaski@apple.com>
648
649         * c-common.h (objc_lookup_ivar): Add second parameter to
650         prototype.
651         * c-typeck.c (build_external_ref): After looking up symbol,
652         pass it to objc_lookup_ivar() to decide whether it or the
653         ivar should be used, rather than deciding the issue locally.
654         * stub-objc.c (objc_lookup_ivar): Add an OTHER parameter,
655         which is simply returned in the non-ObjC case.
656
657 2004-10-30  Danny Smith  <dannysmith@users.sourceforge.net>
658
659         * sdbout.c (sdbout_symbol): Do not output type .def statements
660         for builtin types.
661
662 2004-10-30  Gabriel Dos Reis  <gdr@integrable-solutions.net>
663
664         * c-common.c (catenate_strings): New.
665         (c_parse_error): Use it.  Don't over-escape.
666
667 2004-10-30  Kaz Kojima  <kkojima@gcc.gnu.org>
668
669         * config/sh/sh.c (calc_live_regs): Declare reg as unsigned and
670         modify the for loop expressions for it.  Remove unnecessary casts.
671         (sh_expand_prologue): Declare reg as unsigned.
672         (sh_gimplify_va_arg_expr): Initinalize lab_over.
673         (sh_handle_sp_switch_attribute): Add const qualifier appropriately.
674
675 2004-10-30  Geoffrey Keating  <geoffk@apple.com>
676
677         * doc/invoke.texi (Darwin Options): Improve description of
678         how the subtype is chosen.
679
680 2004-10-30  Roger Sayle  <roger@eyesopen.com>
681
682         PR middle-end/18096
683         * config/rs6000/rs6000.c (rs6000_emit_allocate_stack): Check that
684         the stack adjustment, "size", is valid for Pmode.  If the stack
685         frame is too large, generate a trap insn and issue a warning.
686
687 2004-10-30  Kazu Hirata  <kazu@cs.umass.edu>
688
689         * tree-ssa-dom.c: Fix comment typos.
690
691 2004-10-30  Kaz Kojima  <kkojima@gcc.gnu.org>
692
693         * config/sh/sh.c (prepare_move_operands): Use operands[0]
694         for the output rtl if no_new_pseudos is set.  Remove redundant
695         line.
696
697 2004-10-30  Joseph S. Myers  <joseph@codesourcery.com>
698
699         PR c/16666
700         * c-decl.c (start_function): Don't check for DECL_BUILT_IN when
701         determining whether to copy parameter types from a previous
702         prototype declaration.
703
704 2004-10-29  Roger Sayle  <roger@eyesopen.com>
705
706         PR rtl-optimization/17581
707         * cselib.c (cselib_process_insn): The last instruction of a libcall
708         block, with the REG_RETVAL note, should be considered in the libcall.
709         * gcse.c (do_local_cprop): Allow constants to be propagated outside
710         of libcall blocks.
711         (adjust_libcall_notes): Use simplify_replace_rtx instead of
712         replace_rtx to avoid creating invalid RTL in REG_RETVAL notes.
713
714 2004-10-30  Kazu Hirata  <kazu@cs.umass.edu>
715
716         * tree-phinodes.c (create_phi_node): Don't zero PHI_REWRITTEN.
717
718 2004-10-29 Jeff Law  <law@redhat.com>
719
720         * tree-ssa-dom.c (struct edge_info): New structure holding
721         edge equivalences and edge redirection information.
722         (get_eq_expr_value, record_dominating_conditions): Kill.
723         (propagate_to_outgoing_edges): Renamed from cprop_into_phis.
724         Call record_edge_info.
725         (allocate_edge_info, free_edge_info): New.
726         (tree_ssa_dominator_optimize): Use propagate_to_outgoing_edges
727         rather than cprop_into_phis.  Free all edge infos before threading
728         jumps.
729         (thread_across_edge): Allocate new edge info structures as needed
730         and store the redirection target into the edge info structure
731         instead of the edge's AUX field.
732         (dom_opt_initialize_block): Mark unused argument with ATTRIBUTE_UNUSED.
733         (record_equivalence_from_incoming_edge): Lose unnecessary argument.
734         Revamp code which finds and records equivalences associated with
735         edges to use saved data in the edge_info structure.
736         (record_equivalencs_from_phis): Similarly.
737         (dom_opt_finalize_block): Revamp code which finds and records
738         equivalences associated with edges to use saved data in the
739         edge_info structure.
740         (build_and_record_new_cond): New function.
741         (record_conditions): Use build_and_record_new_cond to record
742         dominating conditions.
743         (record_edge_info): New function.
744         (record_range): Tighten test for conditions which create
745         useful range records.
746
747 2004-10-29  Geoffrey Keating  <geoffk@apple.com>
748
749         * config/i386/darwin.h (ASM_SPEC): Simplify.
750         (SUBTARGET_EXTRA_SPECS): Add darwin_subarch spec.
751         * config/rs6000/darwin.h (DARWIN_SUBARCH_SPEC): New.
752         (SUBTARGET_EXTRA_SPECS): Add darwin_subarch spec.
753         * config/darwin.h (LINK_COMMAND_SPEC): Don't pass -arch here.
754         (LINK_SPEC): Do pass -arch here.  Handle -force_cpusubtype_ALL
755         in all cases.  Pass the right -arch or -arch_only based on -mcpu.
756         (ASM_SPEC): Handle -force_cpusubtype_ALL.
757         * doc/invoke.texi (Darwin Options): Improve documentation for
758         Darwin linker (and libtool) switches.
759
760         * config/rs6000/darwin-fallback.c: Include <mach/thread_status.h>.
761
762 2004-10-29  Stan Shebs  <shebs@apple.com>
763
764         * config/rs6000/darwin-tramp.asm: Make more 64-bit-friendly.
765
766 2004-10-29  Kazu Hirata  <kazu@cs.umass.edu>
767
768         * tree-phinodes.c (allocate_phi_node): New.
769         (make_phi_node, resize_phi_node): Use it.
770
771 2004-10-29  David Edelsohn  <edelsohn@gnu.org>
772
773         * config/rs6000/sysv4.h (TARGET_POWER): Define as 0.
774         * config/rs6000/darwin.h (TARGET_POWER): Define as 0.
775
776 2004-10-29  Kazu Hirata  <kazu@cs.umass.edu>
777
778         * tree-phinodes.c (make_phi_node, resize_phi_node): Don't zero
779         the whole PHI node.
780         * tree.h (tree_phi_node): Tell the garbage collector to chase
781         num_args arguments.
782
783 2004-10-29  Richard Earnshaw  <rearnsha@arm.com>
784
785         * opts.c (decode_options): Lower the crossjump threshold for -Os.
786
787 2004-10-29  Diego Novillo  <dnovillo@redhat.com>
788
789         * tree.h (struct tree_ssa_name): Remove field 'equiv'.
790
791 2004-10-28  Nathan Sidwell  <nathan@codesourcery.com>
792
793         * bitmap.h (bitmap_empty_p): New.
794         (bitmap_and, bitmap_and_into, bitmap_and_compl,
795         bitmap_and_compl_into, bitmap_ior, bitmap_ior_into,
796         bitmap_ior_compl, bitmap_xor, bitmap_xor_into): New bitmap
797         operation macros.
798         (bitmap_ior_and_compl): Rename to ...
799         (bitmap_ior_and_compl_into): ... here.
800         * bitmap.c (bitmap_equal_p): Use bitmap_xor.
801         (bitmap_ior_and_compl): Rename to ...
802         (bitmap_ior_and_compl_into): ... here. Adjust. Return changed
803         flag.
804         (bitmap_union_of_diff): Use renamed bitmap functions.
805         * basic-block.h (AND_REG_SET, AND_COMPL_REG_SET, IOR_REG_SET,
806         XOR_REG_SET, IOR_AND_COMPL_REG_SET): Likewise.
807         * cfgrtl.c (safe_insert_insn_on_edge): Likewise.
808         * df.c (df_bb_rd_local_compute)
809         * flow.c (calculate_global_regs_live,
810         init_propagate_block_info): Likewise.
811         * ifcvt.c (find_if_case_1, find_if_case_2,
812         dead_or_predicable): Likewise.
813         * ra-build.c (union_web_part_roots, livethrough_conflicts_bb,
814         reset_conflicts, conflicts_between_webs): Likewise.
815         * ra-rewrite.c (reloads_to_loads, rewrite_program2,
816         detect_web_parts_to_rebuild): Likewise.
817         * sched-ebb.c (compute_jump_reg_dependencies): Likewise.
818         * tree-int-ssa.c (insert_phi_nodes_for, rewrite_into_ssa): Likewise.
819         * tree-sra.c (decide_instantiations): Likewise.
820         * tree-ssa-alias.c (create_name_tags,
821         merge_pointed_to_info): Likewise.
822         * tree-ssa-dom.c (tree_ssa_dominator_optimize): Likewise.
823         * tree-ssa-loop-im.c (move_computations): Likewise.
824         * tree-ssa-operands.c (get_call_expr_operands): Likewise.
825         * tree-ssa-pre.c (fini_pre): Likewise.
826         * tree-ssa.c (verify_flow_sensitive_alias_info): Likewise.
827         * tree-ssanames.c (any_marked_for_rewrite_p): Likewise.
828         * tree-vectorizer.c (vectorize_loops): Likewise.
829
830 2004-10-29  Nick Clifton  <nickc@redhat.com>
831
832         config/mn10300/mn10300.h (CONDITIONAL_REGISTER_USAGE): When
833         adding the PIC register to the fixed_regs array, also add it
834         to the call_used_regs array.  
835
836 2004-10-29  Eric Botcazou  <ebotcazou@libertysurf.fr>
837
838         * gthr-posix.h (__gthread_recursive_mutex_init_function): Guard
839         with #ifdef PTHREAD_MUTEX_RECURSIVE/#endif pairs.
840
841 2004-10-28  Daniel Berlin  <dberlin@dberlin.org>
842
843         * tree-into-ssa.c (rewrite_virtual_phi_arguments): New function.
844         (rewrite_blocks): Modify argument, and use it to decide which
845         function to call.
846         (rewrite_def_def_chains): Call rewrite_blocks with true here.
847         (rewrite_into_ssa): and call it with false here.
848         
849 2004-10-29  Kazu Hirata  <kazu@cs.umass.edu>
850
851         * tree-phinodes.c (add_phi_arg): Turn an "if" that always
852         triggers into gcc_assert.
853
854 2004-10-28  Diego Novillo  <dnovillo@redhat.com>
855
856         PR tree-optimization/16728
857         * tree-flow.h (get_ptr_info): Declare.
858         * tree-ssa-alias.c (get_ptr_info): Make extern.
859         * tree-ssa-copy.c (merge_alias_info): Merge flow-sensitive
860         alias information.
861
862 2004-10-28  Stan Shebs  <shebs@apple.com>
863
864         * config/rs6000/darwin.h (SUBTARGET_EXTRA_SPECS): Handle -m64.
865         * config/rs6000/rs6000.c (rs6000_darwin_file_start): Add ppc64
866         case.
867
868 2004-10-28  Frank Ch. Eigler  <fche@redhat.com>
869
870         * tree-mudflap.c (mudflap_init): Mark cache-lookup decls to
871         prevent their later unnecessary registration.
872         (mf_build_check_statement_for): Remove "addr" argument, and
873         related "__mf_value" generated code.  Update callers.
874         (mf_decl_eligible_p): New function, factored from mx_register_decls.
875         (mx_register_decls): Call it.
876         (mf_xform_derefs_1): Rewrite COMPONENT_REF and ARRAY_REF cases
877         to restore support for complex nested expressions.
878         (mudflap_enqueue_decl): Simplify.  Move registration call emission
879         out ...
880         (mudflap_finish_file): ... to here.
881         (mudflap_enqueue_constant): Remove dump code.
882
883 2004-10-28  Zack Weinberg  <zack@codesourcery.com>
884
885         PR 18199
886         * dbxout.c (dbxout_begin_complex_stabs_noforcetext): New function.
887         (DBX_FINISH_STABS): Add (unused by default) SYM parameter.
888         (dbxout_finish_complex_stabs): Update to match.
889         (dbxout_symbol_location): Call emit_pending_bincls_if_required
890         and FORCE_TEXT before DBX_STATIC_BLOCK_START.  Use
891         dbxout_begin_complex_stabs_noforcetext.
892         * xcoffout.h (DBX_FINISH_STABS): Restore special case for
893         N_GSYM, using new SYM parameter.  Correct logic for special
894         cases for N_FUN.
895
896         * varasm.c (function_section): If DECL is NULL_TREE, don't try
897         to do anything else.  Do not call get_insns if cfun or
898         cfun->emit are NULL.
899
900 2004-10-28  Adam Nemet  <anemet@lnxw.com>
901
902         PR middle-end/18160
903         * c-typeck.c (c_mark_addressable): Issue error if address of a
904         register variable is taken.  Use "%qD" to print DECL_NAME.
905
906 2004-10-28  Diego Novillo  <dnovillo@redhat.com>
907
908         * opts.c (decode_options): Don't run PRE at -Os.
909
910 2004-10-28  Richard Henderson  <rth@redhat.com>
911
912         * config/alpha/alpha.md (movqicc_internal): Allow exactly one
913         zero in the conditional.
914         (movhicc_internal, movsicc_internal, movdicc_internal): Likewise.
915
916 2004-10-28  Richard Henderson  <rth@redhat.com>
917
918         * cse.c (memory_extend_rtx): Remove.
919         (cse_main): Don't set it.
920         (cse_insn): Use a local buffer instead.
921
922 2004-10-28  Andreas Krebbel  <krebbel1@de.ibm.com>
923
924         * profile.c (branch_prob): Call to init_edge_profiler added.
925         * rtl-profile.c (rtl_init_edge_profiler): New function.
926         (rtl_gen_edge_profiler): Replaced call to insert_insn_on_edge with
927         call to safe_insert_insn_on_edge.
928         (rtl_profile_hooks): rtl_init_edge_profiler added.
929         * tree-profile.c (tree_init_edge_profiler): New function.
930         (tree_profile_hooks): tree_init_edge_profiler added.
931         * value-prof.h (profile_hooks) init_edge_profiler prototype added.
932
933 2004-10-28  Nick Clifton  <nickc@redhat.com>
934
935         * config/iq2000/iq2000.c (iq2000_expand_epilogue): Use
936         emit_jump_insn() to generate the return instruction.
937
938 2004-10-28  Kazu Hirata  <kazu@cs.umass.edu>
939
940         * tree-phinodes.c: Remove trailing whitespace.
941
942 2004-10-28  Kazu Hirata  <kazu@cs.umass.edu>
943
944         * tree-ssa-loop-ivopts.c: Fix a comment typo.
945         * doc/invoke.texi: Fix a typo.
946
947 2004-10-28  Kazu Hirata  <kazu@cs.umass.edu>
948
949         * Makefile.in (OBJS-common): Remove duplicates.
950
951 2004-10-28  Kazu Hirata  <kazu@cs.umass.edu>
952
953         * lambda-code.c (nestify_update_pending_stmts): Remove.
954         (perfect_nestify): Use flush_pending_stmts instead of
955         nestify_update_pending_stmts.
956         * tree-cfg.c (tree_make_forwarder_block): Use
957         flush_pending_stmts.
958         * tree-flow.h: Add a prototype for flush_pending_stmts.
959         * tree-ssa-loop-manip.c (tree_duplicate_loop_to_header_edge):
960         Use flush_pending_stmts.
961         (lv_update_pending_stmts): Remove.
962         (tree_ssa_loop_version): Use flush_pending_stmts instead of
963         lv_update_pending_stmts.
964         * tree-ssa.c (flush_pending_stmts): New.
965
966 2004-10-28  Ulrich Weigand  <uweigand@de.ibm.com>
967
968         PR target/15286
969         * final.c (alter_subreg): Compute correct offset to use with
970         paradoxical SUBREGs of memory operands.
971         * recog.c (general_operand): Allow paradoxical SUBREGs of
972         memory operands after reload.
973         * simplify-rtx.c (simplify_gen_subreg): Fail if simplify_subreg
974         has failed when passed a hard register.
975
976 2004-10-28  Aldy Hernandez  <aldyh@redhat.com>
977
978         * function.c (assign_parm_setup_block): Handle parallels correctly.
979
980 2004-10-28  Kaz Kojima  <kkojima@gcc.gnu.org>
981
982         * final.c (shorten_branches): Initialize flags structure.
983
984 2004-10-28  Nathan Sidwell  <nathan@codesourcery.com>
985
986         * tree.c (int_cst_node, int_cst_hash_table): New variables.
987         (init_ttree): Initialize them.
988         (int_cst_hash_hash, int_cst_hash_eq): New hashing functions.
989         (build_int_cst_wide): Use hash table for oversized integers.
990
991 2004-10-28  Nick Clifton  <nickc@redhat.com>
992
993         * config/m32r/m32r.h (DBX_OUTPUT_SOURCE_LINE): Define
994         begin_label.
995
996 2004-10-27  Richard Henderson  <rth@redhat.com>
997
998         PR middle-end/18163
999         * expr.c (emit_group_load): Don't go force temporary for memory
1000         or concat source.
1001         (emit_group_store): Similarly.
1002
1003 2004-10-27  Andrew Pinski  <pinskia@physics.uc.edu>
1004
1005         PR other/18186
1006         * common.opt (--param): Fix spelling of parameter.
1007
1008 2004-10-27  Andrew Pinski  <pinskia@physics.uc.edu>
1009
1010         PR tree-opt/17529
1011         * tree-cfg.c (remove_useless_stmts_1) <case SWITCH_EXPR>:
1012         Don't fold statement.
1013         <case ASM_EXPR>: Fold the statement.
1014
1015 2004-10-28  Kazu Hirata  <kazu@cs.umass.edu>
1016
1017         * tree-ssa-dce.c (mark_stmt_if_obviously_necessary)
1018         <COND_EXPR>: Use EDGE_COUNT instead of GOTO_DESTINATION.
1019
1020 2004-10-28  Joseph S. Myers  <jsm@polyomino.org.uk>
1021
1022         * doc/contrib.texi, doc/cpp.texi, doc/cppopts.texi,
1023         doc/extend.texi, doc/gcov.texi, doc/install.texi, doc/invoke.texi,
1024         doc/libgcc.texi, doc/md.texi, doc/passes.texi,
1025         doc/sourcebuild.texi, doc/tm.texi: Improve Texinfo formatting.
1026
1027 2004-10-28  Joseph S. Myers  <jsm@polyomino.org.uk>
1028
1029         * doc/c-tree.texi, doc/cpp.texi, doc/implement-c.texi,
1030         doc/invoke.texi, doc/md.texi, doc/passes.texi, doc/tm.texi: Put
1031         punctuation outside quotes.
1032
1033 2004-10-27  David Mosberger  <davidm@hpl.hp.com>
1034             James E Wilson  <wilson@specifixinc.com>
1035
1036         PR target/13158
1037         * config/ia64/ia64.c (ia64_expand_epilogue): Set RTX_FRAME_RELATED_P on
1038         sibcall alloc instruction.
1039         (process_set): Handle sibcall alloc instruction.
1040
1041 2004-10-27  Geoffrey Keating  <geoffk@apple.com>
1042
1043         * config/rs6000/rs6000.c (rs6000_attribute_table): Add
1044         SUBTARGET_ATTRIBUTE_TABLE.
1045         * config/darwin.h (ASM_WEAKEN_DECL): Handle weak_import.
1046         (SUBTARGET_ATTRIBUTE_TABLE): Define.
1047         * config/darwin.c (darwin_handle_weak_import_attribute): New.
1048         (HAVE_DEAD_STRIP): Delete.
1049         (no_dead_strip): Don't test HAVE_DEAD_STRIP.
1050         * config/darwin-protos.h (darwin_handle_weak_import_attribute):
1051         Prototype.
1052
1053         * doc/tm.texi (USE_SELECT_SECTION_FOR_FUNCTIONS): Document.
1054
1055         * config/darwin.h (GTHREAD_USE_WEAK): Define.
1056
1057 2004-10-28  Ben Elliston  <bje@au.ibm.com>
1058
1059         * params.def (PARAM_SRA_MAX_STRUCTURE_SIZE): New.
1060         (PARAM_SRA_FIELD_STRUCTURE_RATIO): Likewise.
1061         * params.h (SRA_MAX_STRUCTURE_SIZE): New.
1062         (SRA_FIELD_STRUCTURE_RATIO): Likewise.
1063         * tree-sra.c: Include "params.h".
1064         (decide_block_copy): Use new parameters.
1065         * doc/invoke.texi (Optimize Options): Document new SRA pass
1066         parameters sra-max-structure-size and sra-field-structure-ratio.
1067
1068 2004-10-27  Nicolas Pitre <nico@cam.org>
1069
1070         * config/arm/ieee754-df.S (floatdidf): Fix regression with big values.
1071
1072 2004-10-27  Zdenek Dvorak  <dvorakz@suse.cz>
1073
1074         PR tree-optimization/18048
1075         * fold-const.c (try_move_mult_to_index): New function.
1076         (fold): Use try_move_mult_to_index.
1077         * tree-ssa-loop-ivopts.c (try_add_cand_for): Prefer common candidates.
1078         * tree-ssa-loop-niter.c (number_of_iterations_cond): Produce
1079         an all-ones unsigned constant without extra bits.
1080         * tree.c (build_low_bits_mask): New function.
1081         * tree.h (build_low_bits_mask): Declare.
1082
1083 2004-10-27  David Edelsohn  <edelsohn@gnu.org>
1084
1085         PR target/17956
1086         * config/rs6000/rs6000.md (maxsf3): Add !flag_trapping_math to
1087         final condition.
1088         (minsf3): Same.
1089         (maxdf3): Same.
1090         (mindf3): Same.
1091
1092 2004-10-27  Kazu Hirata  <kazu@cs.umass.edu>
1093
1094         * tree-cfg.c (thread_jumps): Speed up by reordering the two
1095         conditions for entering basic blocks into worklist.
1096
1097 2004-10-27  Kazu Hirata  <kazu@cs.umass.edu>
1098
1099         * tree-cfg.c (thread_jumps): Speed up by pretending to have
1100         ENTRY_BLOCK_PTR in worklist.
1101
1102 2004-10-27  Kazu Hirata  <kazu@cs.umass.edu>
1103
1104         * tree-ssa-dce.c (mark_stmt_if_obviously_necessary)
1105         <GOTO_EXPR>: Don't let an explicit GOTO_EXPR slip through.
1106
1107 2004-10-27  Daniel Berlin <dberlin@dberlin.org>
1108
1109         Fix PR tree-optimization/17133
1110
1111         * tree-cfg.c (rewrite_to_new_ssa_names_bb): Also rewrite must
1112         def kill operand.
1113
1114         * tree-flow-inline.h: V_MUST_DEF_OP became V_MUST_DEF_RESULT.
1115         (get_v_must_def_result_ptr): Modify for new structure of
1116         v_must_defs array.
1117         (get_v_must_def_kill_ptr): New.
1118         (op_iter_next_use): Add support for the kill that occurs in V_MUST_DEFs.
1119         (op_iter_next_tree): Ditto. Also V_MAY_DEF_OP became V_MAY_DEF_RESULT.
1120         (op_iter_next_def): V_MAY_DEF_OP became V_MAY_DEF_RESULT.
1121         (op_iter_init): Initialize new mustu members.
1122         (op_iter_next_mustdef): New function.
1123         (op_iter_init_mustdef): Ditto.
1124
1125         * tree-flow.h (rewrite_def_def_chains): New function.
1126
1127         * tree-into-ssa.c (mark_def_sites): Handle mustdefkill operands.
1128         (ssa_mark_def_sites): Ditto.
1129         (rewrite_stmt): Ditto.
1130         (ssa_rewrite_stmt): Ditto.
1131         (rewrite_blocks): Factor out from rewrite_into_ssa.
1132         (mark_def_block_sites): Ditto.
1133         (rewrite_def_def_chains): New function, just rewrites def-def
1134         chains without phi node insertion.
1135
1136         * tree-pass.h (TODO_fix_def_def_chains): New todo flag.
1137
1138         * tree-optimize.c (execute_todo): Handle TODO_fix_def_def_chains.
1139
1140         * tree-pretty-print.c (dump_vops): Print out MUST_DEF's so that
1141         they include the rhs now.
1142
1143         * tree-ssa-ccp.c (visit_assignment): V_MUST_DEF_OP became
1144         V_MUST_DEF_RESULT.
1145
1146         * tree-ssa-dce.c (mark_operand_necessary): Add phionly argument.
1147         Update callers.
1148         (mark_really_necessary_kill_operand_phis): New function.
1149         (perform_tree_ssa_dce): Call it.
1150         (pass_dce): Add TODO_fix_def_def_chains.
1151         (pass_cd_dce): Ditto.
1152
1153         * tree-ssa-loop-im.c (determine_max_movement): Look at kills as
1154         well.
1155         (rewrite_mem_refs): Ditto.
1156
1157         * tree-ssa-loop-manip.c (find_uses_to_rename_stmt): Look at kills
1158         as well.
1159
1160         * tree-ssa-operands.c (allocate_v_may_def_optype):
1161         v_may_def_operand_type_t became v_def_use_operand_type_t.
1162         (allocate_v_must_def_optype) Ditto.
1163         (finalize_ssa_v_must_defs): Update for new operand type, as well
1164         as setting the use portion as well.
1165         (copy_virtual_operands): Copy the kill operand as well.
1166         (create_ssa_artficial_load_stmt): V_MUST_DEF_OP became
1167         V_MUST_DEF_RESULT.
1168
1169         * tree-ssa-operands.h (v_may_def_operand_type): Renamed to
1170         v_def_use_operand_type.
1171         (v_must_def_optype_d): Use v_def_use_operand_type.
1172         (V_MUST_DEF_OP_*): Renamed to V_MUST_DEF_RESULT_*
1173         (V_MUST_DEF_KILL_*): New macros.
1174         (struct ssa_operand_iterator_d): Add num_v_mustu and v_mustu_i
1175         members.
1176         Rename existing must_i and num_v_must members to mustd_i and
1177         num_v_mustd.
1178         (SSA_OP_VMUSTDEFKILL): New flag.
1179         (SSA_OP_VIRTUAL_KILLS): New flag.
1180         (SSA_OP_ALL_OPERANDS): Add in SSA_OP_ALL_KILLS.
1181         (SSA_OP_ALL_KILLS): New flag.
1182         (FOR_EACH_SSA_MUSTDEF_OPERAND): New macro.
1183
1184         * tree-ssa.c (verify_ssa): Verify virtual kills as well.
1185
1186         * tree-vectorizer.c (vect_create_data_ref_ptr): V_MUST_DEF_OP
1187         became V_MUST_DEF_RESULT.
1188         (rename_variables_in_bb): Rename kill pointer as well.
1189
1190         * tree-dfa.c (compute_immediate_uses_for_stmt): Add kills into the
1191         immediate uses.
1192
1193 2004-10-27  Richard Sandiford  <rsandifo@redhat.com>
1194
1195         * dbxout.c (dbxout_source_line): Move declaration of begin_label to
1196         the block that needs it.
1197
1198 2004-10-27  Zack Weinberg  <zack@codesourcery.com>
1199
1200         * dbxout.c (dbxout_finish_complex_stabs): Mark 'line' variable
1201         ATTRIBUTE_UNUSED.
1202
1203 2004-10-27  Zack Weinberg  <zack@codesourcery.com>
1204
1205         * c-lex.c (cb_def_pragma): Clean up code for making location
1206         palatable to diagnostic.c.
1207
1208 2004-10-27  Steven Bosscher  <stevenb@suse.de>
1209
1210         PR tree-optimization/17757
1211         * tree-phinodes.c (remove_phi_arg_num): Don't remove PHIs
1212         without any PHI arguments left.  Make sure the argument that
1213         we're supposed to remove exists at all.
1214
1215 2004-10-27  Paul Brook  <paul@codesourcery.com>
1216
1217         * configure.ac: Don't test for [build] __cxa_atexit when building a
1218         cross compiler.
1219         * configure: Regenerate.
1220
1221 2004-10-27  Paul Brook  <paul@codeosurcery.com>
1222
1223         * configure.ac: Use build_exeext not host_exeext when lookin for
1224         target tools.
1225         * configure: Regenerate.
1226
1227 2004-10-27  Andreas Krebbel  <krebbel1@de.ibm.com>
1228
1229         * config/s390/s390.md ("*subdf3_cc"): Replaced plus by minus.
1230
1231 2004-10-27  Andreas Krebbel  <krebbel1@de.ibm.com>
1232             patch originally created by Kelley Cook  <kcook@gcc.gnu.org>
1233
1234         PR middle-end/14684
1235         * opts.c (OPT_fprofile_generate): Default to -funroll-loops
1236         to match -fprofile-use.
1237
1238 2004-10-27  Kazu Hirata  <kazu@cs.umass.edu>
1239
1240         * config/rs6000/rs6000.c: Fix a comment typo.
1241
1242 2004-10-27  Zack Weinberg  <zack@codesourcery.com>
1243
1244         * config/m32r/m32r.h (DBX_OUTPUT_SOURCE_LINE): Increment line
1245         counter.
1246
1247 2004-10-27  Andreas Schwab  <schwab@suse.de>
1248
1249         * varasm.c (default_stabs_asm_out_destructor): Mark symbol as
1250         unused.
1251         (default_stabs_asm_out_constructor): Likewise.
1252
1253 2004-10-26  Geoffrey Keating  <geoffk@apple.com>
1254
1255         * builtins.c (fold_builtin_unordered_cmp): Always bring both
1256         operands to the same type.
1257
1258 2004-10-26  James E Wilson  <wilson@specifixinc.com>
1259
1260         PR target/18010
1261         * emit-rtl.c (emit_copy_of_insn_after): Copy RTX_FRAME_RELATED_P.
1262
1263 2004-10-26  Zack Weinberg  <zack@codesourcery.com>
1264
1265         * dbxout.c: Include obstack.h.
1266         (ASM_STABS_OP): Take XCOFF_DEBUGGING_INFO into account in
1267         default definition.
1268         (ASM_STABD_OP, NO_DBX_MAIN_SOURCE_DIRECTORY, DBX_CONTIN_CHAR):
1269         Default-define here.
1270         (DBX_CONTIN_LENGTH): Move definition with others.
1271         (DBX_FINISH_STABS): New target macro.
1272         (current_sym_code, current_sym_value, current_sym_addr)
1273         (current_sym_nchars, CHARS, dbxout_continue)
1274         (print_int_cst_octal, print_octal, print_wide_int)
1275         (dbxout_prepare_symbol, dbxout_finish_symbol): Delete.
1276         (stabstr_ob, stabstr_last_contin_point): New variables.
1277         (NUMBER_FMT_LOOP): New improper macro.
1278         (dbxout_int, dbxout_stab_value_zero, dbxout_stab_value_label)
1279         (dbxout_stab_value_label_diff, dbxout_stab_value_internal_label)
1280         (dbxout_stab_value_internal_label_diff, dbxout_stabd)
1281         (dbxout_begin_stabn, dbxout_begin_stabn_sline)
1282         (dbxout_begin_simple_stabs, dbxout_begin_simple_stabs_desc)
1283         (dbxout_begin_complex_stabs, dbxout_finish_complex_stabs)
1284         (stabstr_C, stabstr_S, stabstr_I, stabstr_D, stabstr_U, stabstr_O)
1285         (stabstr_continue, DECL_ACCESSIBILITY_CHAR)
1286         New functions and/or proper function-like macros.
1287         (CONTIN): Use stabstr_continue, unconditionally.
1288         (get_lang_number): Define unconditionally, with ATTRIBUTE_UNUSED.
1289         (dbxout_init): Initialize stabstr_ob.  Check
1290         NO_DBX_MAIN_SOURCE_DIRECTORY.  Only write out the Ltext label
1291         if it was used.  Use the new interfaces.
1292         (dbxout_source_file): Remove file argument; always write to
1293         asm_out_file.  Use the new interfaces.
1294         (dbxout_type_method_1): Remove second argument which is always
1295         DECL_ASSEMBLER_NAME of the first argument.  Use the new interfaces.
1296         (dbxout_type_methods): Remove write-only variables.  Use the
1297         new interfaces.
1298         (dbxout_parms): Refactor to remove code duplicated in each of
1299         several successive if-else-if blocks.  Use the new interfaces.
1300         (dbxout_function_end, emit_bincl_stab, dbxout_end_source_file)
1301         (dbxout_source_line, dbxout_finish, dbxout_type_index)
1302         (dbxout_type_fields, dbxout_range_type, dbxout_type, dbxout_type_name)
1303         (dbxout_class_name_qualifiers, dbxout_symbol, dbxout_symbol_location)
1304         (dbxout_symbol_name, dbxout_reg_parms, dbxout_args)
1305         (dbx_output_lbrac, dbx_output_rbrac, dbxout_block):
1306         Use the new interfaces.
1307         * Makefile.in (dbxout.o): Update dependencies.
1308
1309         * defaults.h: Don't define ASM_STABD_OP.
1310         * output.h: Prototype new dbxout_* interfaces.
1311         * system.h: Poison DBX_OUTPUT_GCC_MARKER and DBX_FINISH_SYMBOL.
1312         * varasm.c: Don't define ASM_STABS_OP.
1313         (default_stabs_asm_out_constructor, default_stabs_asm_out_destructor):
1314         Use the new dbxout.c interfaces.  Call sorry if neither
1315         DBX_DEBUGGING_INFO nor XCOFF_DEBUGGING_INFO is defined.
1316
1317         * xcoffout.h: Don't define ASM_STABS_OP.
1318         (DBX_FINISH_SYMBOL): Rewrite and rename DBX_FINISH_STABS.
1319         (DBX_OUTPUT_MAIN_SOURCE_DIRECTORY, DBX_OUTPUT_GCC_MARKER): Delete.
1320         (NO_DBX_MAIN_SOURCE_DIRECTORY, NO_DBX_GCC_MARKER): Define.
1321         (DBX_OUTPUT_MAIN_SOURCE_FILE_END): Change bare block to
1322         do { ... } while (0) idiom.
1323
1324         * config/alpha/alpha.c (num_source_filenames): Export.
1325         * config/alpha/alpha.h (num_source_filenames): Declare.
1326         (DBX_OUTPUT_SOURCE_LINE): Use new interfaces.
1327         (SDB_OUTPUT_SOURCE_LINE): Add missing newline.
1328         * config/m32r/m32r.h (DBX_OUTPUT_SOURCE_LINE): Use new interfaces.
1329         Always use .debugsym.  Update commentary.
1330         * config/mips/mips.h (DBX_OUTPUT_SOURCE_LINE): Use new interfaces.
1331         (SDB_OUTPUT_SOURCE_LINE): Add missing newline.
1332         * config/rs6000/linux64.h (DBX_OUTPUT_SOURCE_LINE, DBX_OUTPUT_BRAC):
1333         Use new interfaces.
1334         * config/rs6000/rs6000.c: If TARGET_MACHO, include gstab.h.
1335         (macho_branch_islands): Use new interfaces.
1336
1337         * doc/tm.texi: Update.
1338
1339 2004-10-26  Aldy Hernandez  <aldyh@redhat.com>
1340
1341         * expr.c (emit_group_store): Do not treat floats as BLKmode.
1342         (emit_group_load): Same.
1343
1344 2004-10-26  Joseph S. Myers  <jsm@polyomino.org.uk>
1345
1346         * c-parse.in (datadef): Use pedwarn rather than error and warning
1347         for diagnostic in case of no declaration specifiers.
1348
1349 2004-10-26  Richard Sandiford  <rsandifo@redhat.com>
1350
1351         PR bootstrap/15747
1352         * doc/install.texi (mips-sgi-irix5): Document that /bin/sh has been
1353         reported to hang during bootstrap and that CONFIG_SHELL=/bin/ksh
1354         can be used to work around this.
1355
1356 2004-10-26  Aldy Hernandez  <aldyh@redhat.com>
1357
1358         * config/rs6000/rs6000.h (MEMBER_TYPE_FORCES_BLK): Adjust for e500
1359         doubles.
1360
1361 2004-10-26  Kazu Hirata  <kazu@cs.umass.edu>
1362
1363         * stmt.c (expand_case): Update a comment.
1364
1365 2004-10-26  Kazu Hirata  <kazu@cs.umass.edu>
1366
1367         * stmt.c (expand_case): Put an assertion that index_expr is
1368         never INTEGER_CST.  Don't special case for constant
1369         index_expr.
1370
1371 2004-10-26  Andrew Pinski  <pinskia@physics.uc.edu>
1372
1373         PR 18162
1374         * c-parse.in (designator): Finish with a semi-colon.
1375
1376 2004-10-26  Fariborz Jahanian <fjahanian@apple.com>
1377
1378         * config/rs6000/rs6000.md (andsi3_internal8): Set CR when splitting
1379         into rotlsi3.
1380
1381 2004-10-26  Kazu Hirata  <kazu@cs.umass.edu>
1382
1383         * stmt.c (expand_case): Remove code to handle SWITCH_EXPR with
1384         a default case only.
1385
1386 2004-10-26  Aldy Hernandez  <aldyh@redhat.com>
1387
1388         * config/rs6000/rs6000.c (rs6000_hard_regno_nregs): Adjust for
1389         e500 doubles.
1390         (spe_build_register_parallel): New.
1391         (rs6000_spe_function_arg): Handle e500 doubles.
1392         (function_arg): Same.
1393         (spe_func_has_64bit_regs_p): Same.
1394         (rs6000_function_value): Same.
1395         (rs6000_libcall_value): Same.
1396         (legitimate_lo_sum_address_p): Return false for e500 doubles.
1397
1398         * config/rs6000/rs6000.h (LOCAL_ALIGNMENT): Adjust for e500
1399         doubles.
1400         (DATA_ALIGNMENT): Same.
1401         (CANNOT_CHANGE_MODE_CLASS): Same.
1402
1403 2004-10-26  Aldy Hernandez  <aldyh@redhat.com>
1404
1405         * expr.c (emit_group_load): Handle floats.
1406         (emit_group_store): Same.
1407
1408 2004-10-26  Nathan Sidwell  <nathan@codesourcery.com>
1409
1410         * c-lex.c (get_nonpadding_token): Remove.
1411         (c_lex_with_flags): Push timevar and eat padding here.  Improve
1412         stray token diagnostic.
1413         (lex_string): Replace logic with switch statement, eat padding
1414         token here.
1415
1416 2004-10-26  Geoffrey Keating  <geoffk@apple.com>
1417
1418         PR 18149
1419         * config/i386/darwin.h (ASM_SPEC): Undef it before defining.
1420
1421 2004-10-25  Geoffrey Keating  <geoffk@apple.com>
1422
1423         * config/darwin.h (LINK_SPEC): Default weak_reference_mismatches
1424         to 'non-weak'.
1425         (MAKE_DECL_ONE_ONLY): Set DECL_WEAK.
1426         (ASM_MAKE_LABEL_LINKONCE): Delete.
1427         (ASM_WEAKEN_DECL): New.
1428         (ASM_DECLARE_OBJECT_NAME): Look at DECL_WEAK not DECL_ONE_ONLY.
1429         (ASM_DECLARE_FUNCTION_NAME): Likewise.
1430         (TEXT_SECTION_ASM_OP): Add a tab.
1431         (DATA_SECTION_ASM_OP): Likewise.
1432         (SECTION_FUNCTION): Add a tab.  Use fputs.  Don't call
1433         data_section on every section change.
1434         (EXTRA_SECTIONS): Add a bunch of new extra sections.
1435         (EXTRA_SECTION_FUNCTIONS): Likewise.
1436         (USE_SELECT_SECTION_FOR_FUNCTIONS): Define.
1437         (JCR_SECTION_NAME): Define.
1438         (TARGET_SECTION_TYPE_FLAGS): Don't define.
1439         * config/darwin.c (darwin_encode_section_info): A symbol is defined
1440         in this file if it is not weak.
1441         (textcoal_section): Delete.
1442         (datacoal_section): Delete.
1443         (darwin_make_decl_one_only): Delete.
1444         (machopic_select_section): Handle functions.
1445         (darwin_asm_named_section): Add a tab.
1446         (darwin_section_type_flags): Delete.
1447         (darwin_unique_section): Delete contents.
1448         (darwin_emit_unwind_label): Add a tab.  Make decls weak if
1449         DECL_WEAK is set.
1450         * config/darwin-protos.h (darwin_section_type_flags): Delete.
1451         (darwin_make_decl_one_only): Delete.
1452         (text_coal_section): New.
1453         (text_unlikely_section): New.
1454         (text_unlikely_coal_section): New.
1455         (const_coal_section): New.
1456         (data_coal_section): New.
1457         (const_data_coal_section): New.
1458         * varasm.c (function_section): Honour
1459         USE_SELECT_SECTION_FOR_FUNCTIONS.
1460         * dwarf2out.c (output_call_frame_info): Look at DECL_WEAK when
1461         TARGET_USES_WEAK_UNWIND_INFO is in effect.
1462         * dbxout.c (dbxout_source_file): Don't change sections while
1463         a function is being output.
1464
1465 2004-10-25  David Ayers  <d.ayers@inode.at>
1466
1467         * c-common.h: Remove RID_ID.
1468         * c-parse.in: Remove OBJECTNAME and references to RID_ID.
1469         (typespec_reserved_attr): Add rule for TYPENAME
1470         non_empty_protocolrefs.
1471         (yylexname): Remove special handling of RID_ID.
1472
1473 2004-10-25  James E Wilson  <wilson@specifixinc.com>
1474
1475         * doc/invoke.texi (-fcrossjumping): Not enabled at -O.
1476
1477 2004-10-25  Joseph S. Myers  <jsm@polyomino.org.uk>
1478
1479         PR c/16667
1480         * c-parse.in (array_designator): New.
1481         (designator): Use it.
1482         (initelt): Only permit array_designator without '=', not ".foo".
1483
1484 2004-10-25  Kenneth Zadeck <zadeck@naturalbridge.com>
1485         * gcc/Makefile.in: removed ggc for cgraphunit.
1486         * gcc/cgraph.c.dump_cgraph_node: removed static var analysis.
1487         * gcc/cgraph.h: removed static var analysis data structures and calls.
1488         * gcc/cgraphunit.c:
1489         cgraph_mark_local_and_external_functions:changed name to
1490                 cgraph_mark_local_functions
1491         (print_order,convert_UIDs_in_bitmap,new_static_vars_info,
1492         cgraph_reset_static_var_maps,get_global_static_vars_info,
1493         get_global_statics_not_read,get_global_statics_not_written,searchc,
1494         cgraph_reduced_inorder,has_proper_scope_for_analysis,check_rhs_var,
1495         check_lhs_var,get_asm_expr_operands,process_call_for_static_vars,
1496         scan_for_static_refs,cgraph_characterize_statics_local,
1497         clear_static_vars_maps,cgraph_propagate_bits,cgraph_characterize_statics):
1498         removed.
1499         (cgraph_optimize,init_cgraph): removed calls to static vars analysis
1500         * gcc/tree-dfa.c find_referenced_vars: removed call to static vars
1501         analysis
1502         * gcc/tree-flow.h static_vars_info: removed
1503         * gcc/tree-ssa-operands.c (add_call_clobber_ops,add_call_read_ops):
1504         removed calls to static vars analysis.
1505         get_call_expr_operands: removed callee variable.
1506
1507 2004-10-25  Kazu Hirata  <kazu@cs.umass.edu>
1508
1509         * cfg.c (unchecked_make_edge, redirect_edge_succ,
1510         redirect_edge_pred): Use VEC_safe_push instead of
1511         VEC_safe_insert.
1512         * cfgrtl.c (force_nonfallthru_and_redirect): Likewise.
1513
1514 2004-10-25  Kazu Hirata  <kazu@cs.umass.edu>
1515
1516         * cfgloopmanip.c (loopify): Take two more arguments true_edge
1517         and false_edge.
1518         * cfgloop.h: Adjust the corresponding prototype.
1519         * loop-unswitch.c (unswitch_loop): Adjust a call to loopify.
1520         * tree-ssa-loop-manip.c (tree_ssa_loop_version): Likewise.
1521
1522 2004-10-25  Jakub Jelinek  <jakub@redhat.com>
1523
1524         * dwarf2out.c (rtl_for_decl_location): Avoid segfault if
1525         DECL_INCOMING_RTL is NULL.
1526
1527 2004-10-25  Steven Bosscher  <stevenb@suse.de>
1528
1529         * timevar.def (TV_FIND_REFERENCED_VARS): New.
1530         * tree-dfa.c (pass_referenced_var): Use it.
1531
1532 2004-10-25  Roger Sayle  <roger@eyesopen.com>
1533             John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1534
1535         * cse.c: Change encoding of quantity numbers to avoid undefined
1536         pointer arithmetic on qty_table.
1537         (REGNO_QTY_VALID_P): A quantity is now valid if it isn't negative.
1538         (get_cse_reg_info): Initialize reg_qty to a unique negative value.
1539         (new_basic_block): Assign "real" quantity numbers from zero.
1540         (delete_reg_equiv): Do nothing if quantity is invalid.  Reset the
1541         REG_QTY to its unique negative value.
1542         (merge_equiv_classes): Calculate need_rehash if quantity is valid.
1543         (cse_main): Don't include max_reg when determining max_qty.
1544         (cse_basic_block): Avoid subtracting a large offset from qty_table,
1545         which causes undefined C99 behaviour.  Only allocate needed memory.
1546
1547 2004-10-25  Kazu Hirata  <kazu@cs.umass.edu>
1548
1549         * stmt.c (expand_case): Remove an obsolete comment.
1550
1551 2004-10-25  Andrew Pinski  <pinskia@physics.uc.edu>
1552
1553         PR middle-end/17407
1554         * c-decl.c (grokdeclarator) <case cdk_array>: Remove the call
1555         layout_type as it is already done by build_array_type.
1556         * tree.c (build_array_type): Layout the type even
1557
1558 2004-10-25  Alexandre Oliva  <aoliva@redhat.com>
1559
1560         * config/frv/linux.h (TARGET_C99_FUNCTIONS): Define to 0.
1561
1562 2004-10-25  Alexandre Oliva  <aoliva@redhat.com>
1563
1564         * config/frv/frv.md (movdi, movdf): Handle wide-constant splits
1565         with wider-than-32-bit HOST_WIDE_INTs.
1566
1567 2004-10-25  David Billinghurst <David.Billinghurst@riotinto.com>
1568
1569         * config/mips/mips.c(mips_output_filename): Remove unused
1570         array ltext_label_name
1571
1572 2004-10-24  Geoffrey Keating  <geoffk@geoffk.org>
1573
1574         * config/rs6000/darwin.h (BLOCK_REG_PADDING): Define.
1575
1576 2004-10-25  Ben Elliston  <bje@au.ibm.com>
1577
1578         * cfgcleanup.c (outgoing_edges_match): Fix typo in dump output.
1579
1580 2004-10-23  Andrew Pinski  <pinskia@physics.uc.edu>
1581
1582         * predict.c (predict_loops): Call scev_finalize instead of
1583         scev_reset.
1584
1585 2004-10-24  Kazu Hirata  <kazu@cs.umass.edu>
1586
1587         * config/dbxcoff.h, config/dbxelf.h, config/libgloss.h,
1588         config/openbsd.h, config/mips/r3900.h, config/pdp11/pdp11.md,
1589         config/sh/ushmedia.h, config/sparc/elf.h,
1590         config/sparc/sp64-elf.h: Update copyright.
1591
1592 2004-10-24  Kazu Hirata  <kazu@cs.umass.edu>
1593
1594         * stmt.c (expand_case): Handle the default label outside of
1595         the for loop.  Remove code to handle a missing default label.
1596
1597 2004-10-23  Kazu Hirata  <kazu@cs.umass.edu>
1598
1599         * dbxout.c (dbxout_function_decl): Don't use
1600         DBX_OUTPUT_FUNCTION_END.
1601         * system.h: Poison DBX_OUTPUT_FUNCTION_END.
1602         * doc/tm.texi (DBX_OUTPUT_FUNCTION_END): Remove.
1603
1604 2004-10-23  Andrew Pinski  <pinskia@physics.uc.edu>
1605
1606         PR middle-end/17967
1607         * tree-cfg.c (remove_usless_stmts_cond):  Don't Fold statement.
1608
1609 2004-10-23  Daniel Berlin  <dberlin@dberlin.org>
1610
1611         * tree-ssa-dom.c (record_equality): Use loop depth to determine
1612         which way to record the equality as well.
1613         (loop_depth_of_name): New function.
1614
1615 2004-10-23  Eric Botcazou  <ebotcazou@libertysurf.fr>
1616
1617         PR middle-end/17793
1618         * gimplify.c (gimplify_addr_expr) <VIEW_CONVERT_EXPR>: Look
1619         through the operand if it is a useless type conversion.
1620
1621 2004-10-23  Ben Elliston  <bje@au.ibm.com>
1622
1623         * cfg.c (remove_edge): Use VEC_unordered_remove.
1624         (redirect_edge_succ): Likewise.
1625         (redirect_edge_pred): Likewise.
1626         * cfgrtl.c (force_nonfallthru_and_redirect): Likewise.
1627
1628 2004-10-22  Kazu Hirata  <kazu@cs.umass.edu>
1629
1630         * sbitmap.h (EXECUTE_IF_SET_IN_SBITMAP): Don't access PTR
1631         beyond its end.
1632
1633 2004-10-22  Eric Christopher  <echristo@redhat.com>
1634
1635         * config/rs6000/rs6000.c (setup_incoming_varargs): Align DFmode
1636         saves.
1637
1638 2004-10-22  Aldy Hernandez  <aldyh@redhat.com>
1639
1640         * config/rs6000/spe.md (spe_extendsfdf2): New.
1641         (movdf_e500_double): New.
1642         (spe_truncdfsf2): New.
1643         (spe_absdf2): New.
1644         (spe_nabsdf2): New.
1645         (spe_negdf2): New.
1646         (sub_adddf3): New.
1647         (spe_subdf3): New.
1648         (spe_muldf3): New.
1649         (spe_floatsidf2): New.
1650         (spe_floatunssidf2): New.
1651         (fix_truncdfsi2): New.
1652         (spe_fixuns_truncdfsi2): New.
1653
1654         * config/rs6000/rs6000.md (truncdfsf2): Change to expander.
1655         (fpr_truncdfsf2): New.
1656         (negdf2): Change to expander.
1657         (fpr_negdf2): New.
1658         (fpr_nabsdf2): Name pattern.
1659         (adddf3): Change to expander.
1660         (fpr_adddf3): Nem.
1661         (subdf3): Change to expander.
1662         (fpr_subdf3): New.
1663         (muldf3): Change to expander.
1664         (fpr_muldf3): New.
1665         (divdf3): Change to expander.
1666         (fpr_divdf3): New.
1667         (movdf_softfloat32): Change !TARGET_FPRS to TARGET_E500_SINGLE.
1668         (cmpdf): Allow for TARGET_E500_DOUBLE.
1669
1670 2004-10-22  Kazu Hirata  <kazu@cs.umass.edu>
1671
1672         * c-semantics.c (re_push_stmt_list): Remove.
1673         * c-common.h: Remove the corresponding prototype.
1674
1675 2004-10-22  Kazu Hirata  <kazu@cs.umass.edu>
1676
1677         * stmt.c (asm_op_is_mem_input): Remove.
1678         * tree.h: Remove the corresponding prototype.
1679
1680 2004-10-22  Kazu Hirata  <kazu@cs.umass.edu>
1681
1682         * tree-gimple.c (is_gimple_constructor_elt): Remove.
1683         * tree-gimple.h: Remove the corresponding prototype.
1684
1685 2004-10-22  Kazu Hirata  <kazu@cs.umass.edu>
1686
1687         * varasm.c (get_pool_mode_for_function, get_pool_offset):
1688         Remove.
1689         * rtl.h: Remove the corresponding prototypes.
1690
1691 2004-10-22  Kazu Hirata  <kazu@cs.umass.edu>
1692
1693         * tree-cfg.c (thread_jumps_from_bb): Speed up by extracting
1694         edge information when we commit ourselves to threading a
1695         particular jump.
1696
1697 2004-10-22  Kazu Hirata  <kazu@cs.umass.edu>
1698
1699         * tree-cfg.c (thread_jumps): Speed up by putting basic blocks
1700         into worklist instead of their indexes.
1701
1702 2004-10-22  Kazu Hirata  <kazu@cs.umass.edu>
1703
1704         * alias.c, basic-block.h, cgraphunit.c, combine.c, domwalk.h,
1705         final.c, gengtype.c, genpreds.c, ggc-page.c, insn-notes.def,
1706         lambda-code.c, loop-unroll.c, modulo-sched.c, pointer-set.c,
1707         pretty-print.c, ra-colorize.c, sbitmap.c, tree-complex.c,
1708         tree-data-ref.c, tree-dfa.c, tree-inline.c, tree-into-ssa.c,
1709         tree-scalar-evolution.c, tree-ssa-dom.c,
1710         tree-ssa-loop-manip.c, tree-ssa-loop-niter.c,
1711         tree-ssa-phiopt.c, tree-ssa-pre.c, tree-ssa-threadupdate.c,
1712         tree-vectorizer.c, vec.h: Fix comment formatting.
1713
1714 2004-10-22  Kazu Hirata  <kazu@cs.umass.edu>
1715
1716         * dwarf.h, gthr-dce.h, gthr-single.h, gthr-solaris.h, gthr.h,
1717         libfuncs.h, libgcc2.h, stab.def, tsystem.h: Update copyright.
1718
1719 2004-10-22  Kazu Hirata  <kazu@cs.umass.edu>
1720
1721         * config/ptx4.h, config/mcore/mcore-pe.h,
1722         config/rs6000/eabi.h, config/vax/elf.h: Update copyright.
1723
1724 2004-10-22  Peter Barada <peter@the-baradas.com>
1725
1726         * config/m68k/m68k.h (HARD_REGNO_RENAME_OK): New macro.
1727         * config/m68k/m68k.c (m68k_hard regno_rename_ok): Disallow
1728         renaming of non-live registers in interrupt functions.
1729         * config/m68k/m68k-protos.h (m68k_hard_regno_rename_ok): Add prototype.
1730
1731 2004-10-22  Zdenek Dvorak  <dvorakz@suse.cz>
1732
1733         * tree-ssa-loop-niter.c (inverse): Count in HOST_WIDE_INT if possible.
1734         Use integer for loop counter.
1735         (num_ending_zeros): New function.
1736         (number_of_iterations_cond): Use num_ending_zeros.
1737
1738 2004-10-21  Aldy Hernandez  <aldyh@redhat.com>
1739
1740         * config.gcc: Add support for --enable-e500_double.
1741
1742         * config/rs6000/e500-double.h: New file.
1743
1744         * config/rs6000/rs6000.h: Define TARGET_E500_SINGLE and
1745         TARGET_E500_DOUBLE.
1746
1747         * config/rs6000/eabi.h: Define TARGET_E500_SINGLE and
1748         TARGET_E500_DOUBLE.
1749
1750         * config/rs6000/linuxspe.h: Same.
1751
1752         * doc/invoke.texi (Option Summary): Document new options for
1753         mfloat-gprs.
1754         (RS/6000 and PowerPC Options): Same.
1755
1756         * config/rs6000/rs6000.c (rs6000_parse_float_gprs_option): New
1757         function.
1758         (rs6000_override_options): Use it.  Use
1759         SUB3TARGET_OVERRIDE_OPTIONS.
1760         Add 8548 to processor_target_table.
1761         (rs6000_legitimate_address): Handle e500 doubles.
1762         (rs6000_legitimize_address): Same.
1763         (rs6000_legitimize_reload_address): Same.
1764         (rs6000_hard_regno_nregs): Same.
1765         (spe_func_has_64bit_regs_p): Same.
1766         (emit_frame_save): Same.
1767         (gen_frame_mem_offset): Same.
1768         (rs6000_dwarf_register_span): Same.
1769         (rs6000_generate_compare): Same.
1770         (easy_fp_constant): Same.
1771         (legitimate_offset_address_p): Same.
1772
1773         * config/rs6000/spe.md: (cmdfeq_gpr): New.
1774         (tstdfeq_gpr): New.
1775         (cmpdfgt_gpr): New.
1776         (tstdfgt_gpr): New.
1777         (tstdfgt_gpr): New.
1778         (cmpdflt_gpr): New.
1779         (tstdflt_gpr): New.
1780         Add new constants.
1781
1782 2004-10-21  Giovanni Bajo  <giovannibajo@gcc.gnu.org>
1783
1784         * config/arc/lib1funcs.asm (___umulsidi3): Fix typo.
1785
1786 2004-10-21  Zack Weinberg  <zack@codesourcery.com>
1787
1788         * dbxout.c: Remove unnecessary #undefs.
1789         (GDB_INV_REF_REGPARM_STABS_LETTER, DBX_MEMPARM_STABS_LETTER)
1790         (FILE_NAME_JOINER, STABS_GCC_MARKER): Remove; fold sole
1791         definition into use sites.
1792         (cwd): Make local to dbxout_init.
1793         (dbxout_init): Restructure cwd-using logic for clarity.  Use
1794         IS_DIR_SEPARATOR.
1795         * xcoffout.h (DBX_OUTPUT_GCC_MARKER): Definition of
1796         STABS_GCC_MARKER folded in here.
1797         * system.h: Poison now-unused macros.
1798         * doc/tm.texi: Remove documentation of now-unused macros.
1799
1800 2004-10-21  Andrew Pinski  <pinskia@physics.uc.edu>
1801
1802         PR c/17538
1803         * c-opts.c (push_command_line_include): Use the current file
1804         name instead of the main one.
1805
1806 2004-10-21  Andrew Pinski  <pinskia@physics.uc.edu>
1807
1808         PR objc/17923
1809         * tree.c (staticp): A CONST_DECL has static storage if either
1810         TREE_STATIC or DECL_EXTERNAL is set.
1811         * c-decl.c (pushdecl_top_level): Accept CONST_DECLs which can
1812         have null names.
1813
1814 2004-10-21  Kazu Hirata  <kazu@cs.umass.edu>
1815
1816         * expr.c (store_expr): Remove dont_store_target.
1817
1818 2004-10-21  Kazu Hirata  <kazu@cs.umass.edu>
1819
1820         * tree-cfg.c (thread_jumps): Speed up by using a worklist.
1821
1822 2004-10-21  Kazu Hirata  <kazu@cs.umass.edu>
1823
1824         * tree-cfg.c (thread_jumps): Move a part of it to ...
1825         (thread_jumps_from_bb): ... here.
1826
1827 2004-10-21  David Edelsohn  <edelsohn@gnu.org>
1828
1829         * dbxout.c (DBX_FINISH_SYMBOL): Add asm_out_file argument.
1830         * xcoffout.h (DBX_FINISH_SYMBOL): Change asmfile to (ASMFILE).
1831
1832 2004-10-21  Kazu Hirata  <kazu@cs.umass.edu>
1833
1834         * expr.c (store_expr): Clean up by renaming want_value to
1835         call_param_p.
1836
1837 2004-10-21  Kaz Kojima  <kkojima@gcc.gnu.org>
1838
1839         * config/sh/linux-unwind.h (sh_fallback_frame_state): Don't
1840         fixup pc here.
1841
1842 2004-10-21  Aldy Hernandez  <aldyh@redhat.com>
1843
1844         PR 18004.
1845         * expmed.c (store_bit_field): Pass original 'value' before
1846         recursing.
1847
1848 2004-10-21  Nicolas Pitre <nico@cam.org>
1849
1850         * config/arm/ieee754-sf.S: Large speed improvements. Fix NAN handling.
1851         * config/arm/ieee754-df.S: Ditto.
1852
1853 2004-10-20  Zack Weinberg  <zack@codesourcery.com>
1854
1855         * dbxout.c (asmfile): Delete.  All uses changed to asm_out_file.
1856         (DBX_BLOCKS_FUNCTION_RELATIVE, DBX_LINES_FUNCTION_RELATIVE):
1857         Default to 0.
1858         (dbxout_source_line): Use DBX_OUTPUT_SOURCE_LINE when defined.
1859         When it is not, but DBX_LINES_FUNCTION_RELATIVE is true, emit
1860         an internal label and an N_SLINE .stabn whose value is the
1861         difference between that label and the function entry label.
1862         (dbxout_finish): If DBX_OUTPUT_MAIN_SOURCE_FILE_END is not defined,
1863         but DBX_OUTPUT_NULL_N_SO_AT_MAIN_SOURCE_FILE_END is, emit a
1864         label and an N_SO stab with an empty string referring to it.
1865         (dbx_output_lbrac, dbx_output_rbrac): Use if statement instead
1866         of #ifdef directive to test DBX_BLOCKS_FUNCTION_RELATIVE.
1867         (dbxout_type_methods, dbxout_symbol): Remove #if 0 block.
1868         (dbxout_prepare_symbol): Remove #ifdef WINNING_GDB block, this
1869         macro is never defined.
1870         * sdbout.c (sdbout_source_line_counter): Delete.
1871         (PUT_SDB_SRC_FILE): Delete.  Uses replaced with sole definition.
1872         (sdbout_source_line): Use SDB_OUTPUT_SOURCE_LINE, which takes
1873         only two arguments.
1874         * xcoffout.c (ASM_OUTPUT_SOURCE_LINE): Rename ASM_OUTPUT_LINE.
1875
1876         * config/dbxcoff.h, config/dbxelf.h: Remove unncessary #undefs.
1877         * config/c4x/c4x.h, config/pa/pa.h: Remove unnecessary macro
1878         definitions (identical to default).
1879         * config/darwin.h, config/dbxcoff.h, config/dbxelf.h, config/ptx4.h
1880         * config/h8300/coff.h, config/pa/som.h, config/sh/elf.h:
1881         Define DBX_OUTPUT_NULL_N_SO_AT_MAIN_SOURCE_FILE_END, not
1882         DBX_OUTPUT_MAIN_SOURCE_FILE_END.
1883         * config/dbxcoff.h, config/dbxelf.h, config/ptx4.h
1884         * config/mcore/mcore-pe.h, config/pa/som.h, config/sh/elf.h:
1885         Define DBX_LINES_FUNCTION_RELATIVE, not ASM_OUTPUT_SOURCE_LINE.
1886         * config/alpha/alpha-protos.h: Don't prototype alpha_output_lineno.
1887         * config/alpha/alpha.c: Move declaration of num_source_filenames up.
1888         (alpha_start_function): Use SDB_OUTPUT_SOURCE_LINE.
1889         (sym_lineno): Delete.
1890         (alpha_output_filename): Do not emit N_SOL stabs here.  Remove
1891         now-unused variable.
1892         (alpha_output_lineno): Delete.
1893         * config/mips/mips-protos.h: Don't prototype mips_output_lineno.
1894         * config/mips/mips.c (mips_output_filename): Don't use
1895         ASM_OUTPUT_FILENAME. Don't emit N_SOL stabs here.
1896         (mips_output_lineno): Delete.
1897         (mips_output_function_prologue: Use SDB_OUTPUT_SOURCE_LINE.
1898         * config/alpha/alpha.h: Define DBX_OUTPUT_SOURCE_LINE and
1899         SDB_OUTPUT_SOURCE_LINE, not ASM_OUTPUT_SOURCE_LINE.
1900         * config/mips/mips.h: Likewise.  Don't define ASM_OUTPUT_FILENAME.
1901         * config/mips/sdb.h: Use SDB_OUTPUT_SOURCE_LINE.
1902         * config/avr/avr.h: Don't define ASM_OUTPUT_SOURCE_LINE.
1903         * config/mmix/mmix.h: Likewise.
1904         * config/mmix/mmix.c (mmix_asm_output_source_line): Delete.
1905         * config/mmix/mmix-protos.h: Don't prototype it.
1906         * config/alpha/unicosmk.h: Also #undef PREFERRED_DEBUGGING_TYPE;
1907         no need to #undef ASM_OUTPUT_SOURCE_LINE.
1908         * config/arm/aout.h: Remove RISCiX-specific definition of
1909         DBX_OUTPUT_MAIN_SOURCE_FILENAME.
1910         * config/m32r/m32r.h: Define DBX_OUTPUT_SOURCE_LINE, not
1911         ASM_OUTPUT_SOURCE_LINE.
1912         * config/rs6000/linux64.h (ASM_OUTPUT_SOURCE_LINE): Rename to
1913         DBX_OUTPUT_SOURCE_LINE.  Don't use current_function_func_begin_label.
1914         * config/vax/elf.h: No need to define DBX_OUTPUT_FUNCTION_END.
1915
1916         * doc/tm.texi: Update.
1917
1918 2004-10-20  Richard Henderson  <rth@redhat.com>
1919
1920         * tree-sra.c (instantiate_element): Copy DECL_IGNORED_P also.
1921
1922 2004-10-20  Kelley Cook  <kcook@gcc.gnu.org>
1923
1924         * configure.ac: Revert my previous patch.
1925         * configure: Regenerate.
1926
1927 2004-10-20  Ben Elliston  <bje@au.ibm.com>
1928
1929         * config/rs6000/rs6000.c
1930         (rs6000_va_start): Use build_va_arg_indirect_ref.
1931         (rs6000_gimplify_va_arg): Likewise.
1932
1933 2004-10-20  Bryce McKinlay  <mckinlay@redhat.com>
1934
1935         PR java/15575
1936         * configure.ac: Declare AM_LANGINFO_CODESET.
1937         * aclocal.m4: Define AM_LANGINFO_CODESET.
1938         * configure, config.in: Rebuilt.
1939
1940 2004-10-20  Kazu Hirata  <kazu@cs.umass.edu>
1941
1942         * expr.c (store_expr): Remove code that is run when
1943         want_value & 1 is nonzero.
1944
1945 2004-10-20  Mark Mitchell  <mark@codesourcery.com>
1946
1947         * gthr-posix.h (__gthread_active_p): Use __extension__ around cast
1948         from function pointer to void *.
1949
1950 2004-10-20  Kaz Kojima  <kkojima@gcc.gnu.org>
1951
1952         PR target/18032
1953         * config/sh/sh.c (sh_expand_epilogue): Emit a blockage insn before
1954         the frame pointer adjustment when exception handling is enabled.
1955
1956 2004-10-20  Kazu Hirata  <kazu@cs.umass.edu>
1957
1958         * stor-layout.c: Fix a comment typo.
1959
1960 2004-10-20  Kazu Hirata  <kazu@cs.umass.edu>
1961
1962         * expr.c (store_field): Remove two arguments value_mode and
1963         unsignedp.
1964         (expand_assignment, store_constructor_field,
1965         expand_expr_real_1): Adjust calls to store_field.
1966
1967 2004-10-18  Ramana Radhakrishnan  <ramana.radhakrishnan@codito.com>
1968
1969         * config/arc/lib1funcs.asm (___umulsidi3): Correct usage of flags.
1970
1971         PR target/17317
1972         * config/arc/arc.h (REGNO_OK_FOR_BASE_P,REGNO_OK_FOR_INDEX_P,
1973         REG_OK_FOR_BASE, REG_OK_FOR_INDEX): Consider blink(r31) as a valid
1974         base and index register for loads.
1975
1976         * config/arc/t-arc: Fix multilib handling.
1977
1978 2004-10-20  Hans-Peter Nilsson  <hp@bitrange.com>
1979
1980         * cfgrtl.c (rtl_verify_flow_info_1): When checking insns in a bb,
1981         don't inspect BLOCK_FOR_INSN for barriers.
1982         * emit-rtl.c (emit_barrier_before): Revert last change.
1983         (emit_barrier_after, emit_barrier): Ditto.
1984
1985         * doc/extend.texi (Extended Asm): Warn and provide example
1986         solution for using a call-clobbered asm register.
1987         (Local Reg Vars): Similar.  Cross-reference example.
1988
1989 2004-10-19  Andrew Pinski  <pinskia@physics.uc.edu>
1990
1991         * tree-cfg.c (group_case_labels): Look at the second to last
1992         case statement for combing with the default case.
1993
1994 2004-10-19  Richard Hendeson  <rth@redhat.com>
1995
1996         PR 17962
1997         * stor-layout.c (layout_type): Set TYPE_ALIGN for vectors.
1998
1999 2004-10-19  Richard Hendeson  <rth@redhat.com>
2000
2001         * builtins.c (expand_builtin_memmove): If fold_builtin_memmove
2002         succeeds, only expand the result.
2003
2004 2004-10-19  Richard Hendeson  <rth@redhat.com>
2005
2006         PR middle-end/17885
2007         * tree.c (recompute_tree_invarant_for_addr_expr): Always poll address
2008         of INDIRECT_REF.
2009
2010 2004-10-19  Kazu Hirata  <kazu@cs.umass.edu>
2011
2012         * tree-cfg.c (thread_jumps): Use a do-while loop instead of a
2013         loop with goto.
2014
2015 2004-10-19  Kazu Hirata  <kazu@cs.umass.edu>
2016
2017         * expr.c (expand_assignment): Remove the last argument.
2018         Change the return type to void.
2019         * expr.h: Update the prototype of expand_assignment.
2020         * function.c (assign_parm_setup_reg): Update a call to
2021         expand_assignment.
2022         * stmt.c (expand_asm_expr): Likewise.
2023
2024 2004-10-19  Kazu Hirata  <kazu@cs.umass.edu>
2025
2026         * expr.c (expand_expr_real_1) <MODIFY_EXPR>: Remove
2027         unnecessary assignments to temp.  Return const0_rtx.
2028
2029 2004-10-19  Kaz Kojima  <kkojima@gcc.gnu.org>
2030
2031         * config/sh/sh.c (sh5_schedule_saves): Fix typo.
2032
2033 2004-10-18  Kelley Cook  <kcook@gcc.gnu.org>
2034
2035         * configure.ac (powerpc-*-darwin*): Require assembler to support
2036         .machine directive.
2037         * configure: Regenerate.
2038
2039 2004-10-18  Kazu Hirata  <kazu@cs.umass.edu>
2040
2041         * reload1.c (ior_hard_reg_set): Remove.
2042         (finish_spills): Use IOR_HARD_REG_SET instead of
2043         ior_hard_reg_set.
2044
2045 2004-10-18  Kazu Hirata  <kazu@cs.umass.edu>
2046
2047         * sbitmap.h (EXECUTE_IF_SET_IN_SBITMAP): Speed up by shifting
2048         the currently visited word to right.
2049
2050 2004-10-18  Eric Botcazou  <ebotcazou@libertysurf.fr>
2051
2052         PR middle-end/18045
2053         * expmed.c (expand_smod_pow2): Handle modes whose size
2054         is greater than that of HOST_WIDE_INT.
2055
2056 2004-10-18  Ziemowit Laski  <zlaski@apple.com>
2057
2058         * c-parse.in (reservedwords): Add OBJC_TYPE_QUAL as alternative.
2059
2060 2004-10-18  Eric Botcazou  <ebotcazou@libertysurf.fr>
2061             Roger Sayle  <roger@eyesopen.com>
2062
2063         PR middle-end/17813
2064         * dojump.c (discard_pending_stack_adjust): New function.
2065         (clear_pending_stack_adjust): Call it.
2066         * expr.h (discard_pending_stack_adjust): Declare it.
2067         * explow.c (emit_stack_save): Emit pending stack adjustments
2068         before saving the stack pointer.
2069         (emit_stack_restore): Discard pending stack adjustments before
2070         restoring the stack pointer.
2071
2072 2004-10-18  Richard Henderson  <rth@redhat.com>
2073
2074         * c-common.c (handle_mode_attribute): Allow scalar->vector
2075         type changes yet.
2076
2077 2004-10-18  Kazu Hirata  <kazu@cs.umass.edu>
2078
2079         * expr.c (expand_expr_real_1) [MODIFY_EXPR]: Don't request a
2080         value to expand_assignment.
2081
2082 2004-10-18  Kazu Hirata  <kazu@cs.umass.edu>
2083
2084         * tree-cfg.c (cleanup_tree_cfg): Don't iterate on
2085         thread_jumps.
2086         (thread_jumps): Iterate until no new forwarder block arises.
2087
2088 2004-10-18  Kazu Hirata  <kazu@cs.umass.edu>
2089
2090         * tree-cfg.c (tree_forwarder_block_p): Don't set forwardable.
2091         (thread_jumps): Use forwardable as cache of
2092         tree_forwarder_block_p throughout the function.
2093
2094 2004-10-18  Andreas Krebbel  <krebbel1@de.ibm.com>
2095
2096         * cfg.c (dump_flow_info): Remove redundant dump of reg life info.
2097
2098 2004-10-18  Andrew Pinski  <pinskia@physics.uc.edu>
2099
2100         PR middle-end/15014
2101         PR middle-end/16973
2102         * tree-cfg.c (remove_bb): If we have a label expression in the
2103         basic block and the label we have taken the address, move the
2104         label expression to the basic block which is previous in the
2105         linked list.
2106         (tree_verify_flow_info): Fix printing out the label name of the
2107         problematic label expression.
2108
2109 2004-10-18  Pat Haugen  <pthaugen@us.ibm.com>
2110
2111         PR rtl-optimization/18002
2112         * simplify-rtx.c (mode_signbit_p): Externalize function...
2113         * rtl.h (mode_signbit_p): ... to here.
2114         * combine.c (simplify_shift_const): Recognize PLUS signbit as
2115         canonical form of XOR signbit and move to outer op.
2116
2117 2004-10-18  Diego Novillo  <dnovillo@redhat.com>
2118
2119         * tree-cfg.c (bsi_for_stmt): Rename from stmt_for_bsi.
2120         Update all callers.
2121         * tree-ssa.c (replace_immediate_uses): Call bsi_for_stmt.
2122         Don't call fold_stmt more than once, use bsi_replace.
2123
2124 2004-10-18  Diego Novillo  <dnovillo@redhat.com>
2125
2126         PR tree-optimization/17656
2127         * tree-ssa.c (replace_immediate_uses): When replacing a
2128         constant, if the call to fold_stmt produced a different
2129         statement, get an appropriate statement pointer by scanning
2130         STMT's basic block.
2131
2132 2004-10-18  Richard Henderson  <rth@redhat.com>
2133
2134         * pointer-set.c (hash1): Don't use libm functions in fallback case.
2135
2136 2004-10-18  H.J. Lu  <hongjiu.lu@intel.com>
2137
2138         PR bootstrap/17684
2139         * Makefile.in (clean): Remove libgcc_s$(SHLIB_EXT).1.stage?.
2140         (stage1-start): Remove and copy libunwind.a and
2141         libunwind*$(SHLIB_EXT) instead of libunwind*.
2142         (stage2-start): Likewise.
2143         (stage3-start): Likewise.
2144         (stage4-start): Likewise.
2145         (stageprofile-start): Likewise.
2146         (stagefeedback-start): Likewise.
2147
2148         * config/alpha/t-osf4 (SHLIB_LINK): Use a temporary file for
2149         the shared library to be created and don't remove the existing
2150         shared library.
2151         * config/arm/t-netbsd (SHLIB_LINK): Likewise.
2152         * config/i386/t-nwld (SHLIB_LINK): Likewise.
2153         * config/mips/t-slibgcc-irix (SHLIB_LINK): Likewise.
2154         * config/pa/t-hpux-shlib (SHLIB_LINK): Likewise.
2155         * config/sh/t-linux (SHLIB_LINK): Likewise.
2156         * config/t-libunwind-elf (SHLIBUNWIND_LINK): Likewise.
2157         * config/t-slibgcc-darwin (SHLIB_LINK): Likewise.
2158         * config/t-slibgcc-elf-ver (SHLIB_LINK): Likewise.
2159         * config/t-slibgcc-sld (SHLIB_LINK): Likewise.
2160
2161         * mklibgcc.in (libgcc-stage-start): Also move "*${objext}s"
2162         files.
2163
2164 2004-10-18  Kazu Hirata  <kazu@cs.umass.edu>
2165
2166         * basic-block.h (reg_set_iterator): New.
2167         (EXECUTE_IF_SET_IN_REG_SET): Make it iterator style.
2168         (EXECUTE_IF_AND_COMPL_IN_REG_SET): Likewise.
2169         (EXECUTE_IF_AND_IN_REG_SET): Likewise.
2170         * caller-save.c (save_call_clobbered_regs): Adjust to the new
2171         style.
2172         * cfgcleanup.c (thread_jump): Likewise.
2173         * cfgrtl.c (safe_insert_insn_on_edge): Likewise.
2174         * conflict.c (conflict_graph_compute): Likewise.
2175         * flow.c (verify_local_live_at_start, update_life_info,
2176         initialize_uninitialized_subregs, propagate_one_insn,
2177         init_propagate_block_info, free_propagate_block_info,
2178         propagate_block, dump_regset): Likewise.
2179         * global.c (global_conflicts): Likewise.
2180         * graph.c (start_bb): Likewise.
2181         * local-alloc.c (update_equiv_regs): Likewise.
2182         * loop.c (load_mems): Likewise.
2183         * reload1.c (compute_use_by_pseudos, order_regs_for_reload,
2184         find_reg, finish_spills): Likewise.
2185         * resource.c (mark_target_live_regs): Likewise.
2186         * sched-deps.c (sched_analyze_insn): Likewise.
2187         * sched-rgn.c (sched-rgn.c): Likewise.
2188         * config/frv/frv.c (frv_ifcvt_modify_tests): Likewise.
2189
2190 2004-10-18  Jakub Jelinek  <jakub@redhat.com>
2191
2192         * config/i386/i386.md (addqi_1_slp): Test for incdec_operand
2193         operand 1 instead of 2
2194
2195 2004-10-18  Kazu Hirata  <kazu@cs.umass.edu>
2196
2197         * loop-unroll.c: Fix comment typos.
2198
2199 2004-10-18  Revital Eres  <eres@il.ibm.com>
2200
2201         * Makefile.in (loop-unroll.o): Add VARRAY_H dependency.
2202         * loop-unroll.c: Include varray.h.
2203         (struct var_to_expand, struct opt_info): Rename split_ivs_info to
2204         opt_info and expand it to support variable expansion.
2205         (analyze_insns_in_loop): Rename analyze_ivs_to_split and
2206         expand it to support variable expansion.
2207         (pt_info_start_duplication): Rename si_info_start_duplication.
2208         (apply_opt_in_copies): Rename split_ivs_in_copies and add support
2209         to the variable expansion optimization.
2210         (free_opt_info): Rename free_si_info.
2211         (analyze_insn_to_expand_var, referenced_in_one_insn_in_loop_p,
2212         expand_var_during_unrolling, insert_var_expansion_initialization,
2213         combine_var_copies_in_loop_exit, release_var_copies,
2214         get_expansion): New functions.
2215         (peel_loop_completely, unroll_loop_constant_iterations,
2216         unroll_loop_runtime_iterations, peel_loop_simple,
2217         unroll_loop_stupid): Change uses of struct si_info
2218         to struct opt_info
2219         and add uses of fvariable-expansion-in-unroller flag.
2220         * params.def: Add parameter to restrict the number of expansions.
2221         * params.h: (MAX_VARIABLE_EXPANSIONS): New define to restrict
2222         the number of expansions.
2223         * common.opt: (fvariable-expansion-in-unroller): New flag.
2224         * doc/invoke.texi: (fvariable-expansion-in-unroller): Document.
2225
2226 2004-10-18  Danny Smith  <dannysmith@users.sourceforge.net>
2227
2228         * config/i386/cygming.h (TARGET_OS_CPP_BUILTINS): Define
2229         __GXX_MERGED_TYPEINFO_NAMES to 0.
2230
2231 2004-10-17  Hans-Peter Nilsson  <hp@bitrange.com>
2232
2233         * cfgrtl.c (rtl_verify_flow_info_1): When checking insns in a bb,
2234         handle barriers in a bb by checking that it points to a NULL bb.
2235         * emit-rtl.c (emit_barrier_before): Set BLOCK_FOR_INSN to NULL.
2236         (emit_barrier_after, emit_barrier): Ditto.
2237
2238 2004-10-18  Joseph S. Myers  <jsm@polyomino.org.uk>
2239
2240         * doc/extend.texi (Attribute Syntax): Clarify details of
2241         attributes on parameters.
2242
2243 2004-10-17  Zdenek Dvorak  <dvorakz@suse.cz>
2244
2245         * tree-ssa-loop-ivopts.c (tree_ssa_iv_optimize): Move checking out of
2246         loop.
2247
2248 2004-10-17  Andrew Pinski  <pinskia@physics.uc.edu>
2249
2250         Revert:
2251         2004-10-17  Andrew Pinski  <pinskia@physics.uc.edu>
2252
2253         * c-typeck.c (default_function_array_conversion): Always create
2254         &a[0] for array types.
2255         (build_unary_op): Do not fold &a[x] into a + x.
2256
2257 2004-10-17  Andrew Pinski  <pinskia@physics.uc.edu>
2258
2259         PR middle-end/17925
2260         * cfgexpand.c (expand_gimple_cond_expr): Emit line notes for next basic
2261         block if there is a goto with a locus.
2262
2263 2004-10-17  Kazu Hirata  <kazu@cs.umass.edu>
2264
2265         * config/elfos.h, config/gofast.h, config/interix.h,
2266         config/netbsd.h, config/svr3.h, config/vxworks.h,
2267         config/alpha/alpha-modes.def, config/alpha/alpha-protos.h,
2268         config/alpha/ev4.md, config/alpha/ev5.md, config/alpha/ev6.md,
2269         config/alpha/netbsd.h, config/arm/arm-modes.def,
2270         config/arm/unknown-elf.h, config/c4x/c4x-modes.def,
2271         config/cris/aout.h, config/frv/frv-modes.def,
2272         config/i386/beos-elf.h, config/i386/gas.h,
2273         config/i386/i386-coff.h, config/i386/i386-modes.def,
2274         config/i386/linux.h, config/i386/linux64.h,
2275         config/i386/mingw32.h, config/i386/netbsd-elf.h,
2276         config/i386/netbsd64.h, config/i386/sco5.h,
2277         config/i386/sol2.h, config/i386/uwin.h, config/i860/i860.md,
2278         config/ia64/ia64-modes.def, config/ia64/itanium1.md,
2279         config/ia64/itanium2.md, config/m68k/m68k-modes.def,
2280         config/mips/mips-modes.def, config/mips/sdb.h,
2281         config/mips/vr.h, config/mips/vxworks.h,
2282         config/pa/pa-hpux10.h, config/pa/pa-hpux11.h,
2283         config/pa/pa32-linux.h, config/rs6000/40x.md,
2284         config/rs6000/7450.md, config/rs6000/8540.md,
2285         config/rs6000/linuxspe.h, config/rs6000/power4.md,
2286         config/rs6000/rs6000-modes.def, config/rs6000/rtems.h,
2287         config/rs6000/spe.h, config/s390/2064.md, config/s390/linux.h,
2288         config/s390/s390-modes.def, config/sh/elf.h,
2289         config/sh/sh-modes.def, config/sh/sh64.h,
2290         config/sparc/ultra1_2.md, config/sparc/ultra3.md,
2291         config/stormy16/stormy16.md, config/v850/v850-protos.h,
2292         config/vax/vax.md: Update copyright.
2293
2294 2004-10-17  Kazu Hirata  <kazu@cs.umass.edu>
2295
2296         * expr.c (expand_expr_real_1): Remove an obsolete comment.
2297
2298 2004-10-17  Andrew Pinski  <pinskia@physics.uc.edu>
2299
2300         * c-typeck.c (default_function_array_conversion): Always create
2301         &a[0] for array types.
2302         (build_unary_op): Do not fold &a[x] into a + x.
2303
2304 2004-10-17  Jakub Jelinek  <jakub@redhat.com>
2305
2306         * pointer-set.c (hash1): Use integer part of 2^64 / phi
2307         instead 2^32 / phi if long is 64-bit.
2308
2309 2004-10-17  Joseph S. Myers  <jsm@polyomino.org.uk>
2310
2311         * c-common.h (enum rid): Remove RID_PTRBASE, RID_PTREXTENT and
2312         RID_PTRVALUE.
2313         * c-parse.in (PTR_VALUE, PTR_BASE, PTR_EXTENT): Remove %token
2314         declarations.
2315         (reswords): Remove __ptrbase, __ptrbase__, __ptrextent,
2316         __ptrextent__, __ptrvalue and __ptrvalue__.
2317         (rid_to_yy): Remove RID_PTRBASE, RID_PTREXTENT and RID_PTRVALUE
2318         entries.
2319
2320 2004-10-16  Dale Johannesen  <dalej@apple.com>
2321
2322         * c-common.c (c_common_get_alias_set):  Use GGC for type_hash_table.
2323
2324 2004-10-16  Zdenek Dvorak  <dvorakz@suse.cz>
2325
2326         PR tree-optimization/17766
2327         * basic-block.h (enum dom_state): DOM_CONS_OK removed.
2328         (dom_info_available_p): Declare.
2329         * cfghooks.c (split_block, make_forwarder_block): Use
2330         dom_info_available_p.
2331         * dominance.c (compute_dom_fast_query, calculate_dominance_info,
2332         free_dominance_info, verify_dominators): Ditto.
2333         (dom_info_available_p): New function.
2334         * tree-cfg.c (cleanup_control_expr_graph): Free dominance information.
2335         (thread_jumps): Use dom_info_available_p.
2336         * tree-complex.c (expand_complex_div_wide): Ditto.
2337         * tree-mudflap.c (mf_build_check_statement_for): Ditto.
2338
2339 2004-10-16  Zdenek Dvorak  <dvorakz@suse.cz>
2340
2341         * tree-ssa-loop-ivopts.c (struct ivopts_data): New field important_candidates.
2342         (find_best_candidate): Take also important candidates into account.
2343         (find_optimal_iv_set): Initialize important_candidates bitmap.
2344
2345 2004-10-16  Zdenek Dvorak  <dvorakz@suse.cz>
2346
2347         PR tree-optimization/17560
2348         * predict.c (tree_estimate_probability): Mark irreducible
2349         loops.
2350
2351 2004-10-16  Zdenek Dvorak  <dvorakz@suse.cz>
2352
2353         PR rtl-optimization/17723
2354         * cfgcleanup.c (merge_memattrs): Handle case when
2355         MEM_SIZE == NULL_RTX.
2356
2357 2004-10-15  Andrew Pinski  <pinskia@physics.uc.edu>
2358
2359         * toplev.c (dump_file_name): Change type to be const.
2360
2361 2004-10-15  Joseph S. Myers  <jsm@polyomino.org.uk>
2362
2363         * c-typeck.c (build_compound_expr, build_c_cast): Don't try to use
2364         non_lvalue to stop something being a null pointer constant.
2365
2366 2004-10-15  Aldy Hernandez  <aldyh@redhat.com>
2367
2368         * config/rs6000/rs6000.h (FUNCTION_ARG_REGNO_P): FPRs are only
2369         available for TARGET_FPRS.
2370         (FUNCTION_VALUE_REGNO_P): Same.
2371
2372 2004-10-15  Geoffrey Keating  <geoffk@apple.com>
2373
2374         * doc/invoke.texi (RS/6000 and PowerPC Options): Document
2375         -maltivec in same style as other ISA options.
2376
2377 2004-10-15  Jon Grimm <jgrimm2@us.ibm.com>
2378
2379         * config/host-linux.c (TRY_EMPTY_VM_SPACE): Add __powerpc__
2380         definition.
2381
2382 2004-10-15  Kazu Hirata  <kazu@cs.umass.edu>
2383
2384         * bitmap.c, bitmap.h, builtin-attrs.def, cfglayout.h,
2385         collect2.h, conflict.c, coretypes.h, coverage.h, errors.h,
2386         gcc.h, gcov-dump.c, gen-protos.c, gencheck.c, gencodes.c,
2387         genconstants.c, gengenrtl.c, genmodes.c, genpeep.c,
2388         gensupport.h, graph.h, gthr-gnat.c, gthr-gnat.h, gthr-posix.c,
2389         gthr-posix.h, hard-reg-set.h, hwint.h, integrate.h, libgcc2.c,
2390         lists.c, machmode.def, mips-tdump.c, opts.h, params.c,
2391         predict.def, predict.h, protoize.c, reload.h, resource.h,
2392         rtl-error.c, sbitmap.c, sbitmap.h, sreal.c, tlink.c,
2393         tree-dump.h, tree-inline.h, unwind-dw2-fde.c, unwind-dw2.c,
2394         unwind-sjlj.c, value-prof.h: Update copyright.
2395
2396 2004-10-15  Kazu Hirata  <kazu@cs.umass.edu>
2397
2398         * pointer-set.c, tree-vectorizer.c: Fix comment typos.
2399
2400 2004-10-15  Diego Novillo  <dnovillo@redhat.com>
2401
2402         * tree-optimize.c (execute_one_pass): Stop timer right after
2403         executing the pass.
2404
2405 2004-10-14  Andrew Pinski  <pinskia@physics.uc.edu>
2406
2407         Revert:
2408         2004-10-14  Andrew Pinski  <pinskia@physics.uc.edu>
2409         PR middle-end/17967
2410         Revert:
2411                 * tree-cfg.c (remove_usless_stmts_cond):  Fold statement.
2412                 (remove_useless_stmts_1):  Fold trees we know how to fold.
2413
2414 2004-10-14  David Edelsohn  <edelsohn@gnu.org>
2415
2416         * configure.ac: Add .machine power4 directive when testing for
2417         mfcr field.
2418         * configure: Regenerate.
2419
2420 2004-10-14  Geoffrey Keating  <geoffk@apple.com>
2421
2422         * config/darwin.h (JUMP_TABLES_IN_TEXT_SECTION): Don't define.
2423
2424 2004-10-14  Andrew Pinski  <pinskia@physics.uc.edu>
2425
2426         * tree-vectorizer.c (vect_transform_loop): Declare vectorization_factor
2427         always.
2428
2429 2004-10-14  Daniel Jacobowitz  <dan@codesourcery.com>
2430
2431         * config/rs6000/rs6000.h (REG_CLASS_FROM_LETTER): Return NO_REGS
2432         for 'f' if !TARGET_FPRS.
2433
2434 2004-10-14  Richard Henderson  <rth@redhat.com>
2435
2436         PR debug/14492
2437         * dwarf2out.c (loc_descriptor_from_tree_1): Handle FIX_*_EXPR.
2438
2439 2004-10-14  Richard Henderson  <rth@redhat.com>
2440
2441         PR c/17023
2442         * c-decl.c (store_parm_decls_oldstyle): Care for parameter type
2443         as error_mark_node.
2444         * c-parse.in (compstmt_primary_start): Check cur_stmt_list non-null
2445         instaed of current_function_decl non-null.
2446
2447 2004-10-14  Matt Austern  <austern@apple.com>
2448
2449         * pointer-set.c: New file, special-purpose hash table.
2450         * pointer-set.h: New file.
2451         * tree.h (struct pointer_set_t): Declare as opaque type.
2452         (tree_walk): Last argument is pointer_set_t* now.
2453         * tree-inline.c (WALK_SUBTREE): Convert from htab to pset.
2454         (walk_type_fields):
2455         (walk_tree): Convert from htab_t to pointer_set_t for keeping
2456         track of which nodes have already been visited.
2457         (walk_tree_without_duplicates): Convert from htab_t to pointer_set_t.
2458         * cgraphunit.c (cgraph_create_edges): Likewise.
2459         (cgraph_characterize_statics_local): Likewise.
2460         * tree-dfa.c (collect_dfa_stats): Likewise.
2461         * langhooks-def.h (lhd_tree_inlining_walk_subtrees): Last arg is
2462         pointer_set_t* now.
2463         * langhooks.c (lhd_tree_inlining_walk_subtrees): Likewise.
2464         * langhooks.h (struct lang_hooks_for_tree_inlining): Last arg type
2465         of walk_subtrees is pointer_set_t* now.
2466         * Makefile.in (OBJS-common): add pointer-set.o
2467         (tree-inline.o): Depends on pointer-set.h
2468         (tree-dfa.o): Likewise
2469         (cgraphunit.o): Likewise
2470
2471 2004-10-14  Geoffrey Keating  <geoffk@apple.com>
2472
2473         * config/rs6000/darwin.h (ASM_SPEC): Delete.
2474         (TARGET_ASM_FILE_START): Define.
2475         * config/darwin.h (ASM_SPEC): Define.
2476         * config/rs6000/t-darwin (TARGET_LIBGCC2_CFLAGS): Don't supply
2477         -mlong-double-128, it's the default.  Update comment about reason
2478         for force_cpusubtype_ALL.
2479         * config/rs6000/darwin-vecsave.asm: Supply .machine.
2480         * config/rs6000/darwin-world.asm: Likewise.
2481         * config/rs6000/rs6000.c (rs6000_darwin_file_start): New.
2482         (symbolic_operand): Delete #if 0ed code.
2483
2484 2004-10-14  Andrew Pinski  <pinskia@physics.uc.edu>
2485
2486         * stmt.c (add_case_node): Make sure that we have integer
2487         constant before calling tree_int_cst_compare.
2488
2489 2004-10-14  Andrew Pinski  <pinskia@physics.uc.edu>
2490
2491         PR middle-end/17967
2492         Revert:
2493                 * tree-cfg.c (remove_usless_stmts_cond):  Fold statement.
2494                 (remove_useless_stmts_1):  Fold trees we know how to fold.
2495
2496 2004-10-14  Joseph S. Myers  <joseph@codesourcery.com>
2497
2498         * config/rs6000/eabispe.h (SUBSUBTARGET_OVERRIDE_OPTIONS),
2499         config/rs6000/linuxspe.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Disallow
2500         -m64.
2501
2502 2004-10-14  Ulrich Weigand  <uweigand@de.ibm.com>
2503
2504         * reload.c (find_reloads): When reloading a PLUS with constant
2505         operand, make sure the constant is pushed to the constant pool
2506         if required.
2507         * config/s390/s390.c (s390_secondary_input_reload_class): Remove
2508         reload bug workaround.
2509         (s390_expand_plus_operand): Likewise.
2510
2511 2004-10-14  David Edelsohn  <edelsohn@gnu.org>
2512
2513         * opts.c (common_handle_option): Do not enable
2514         flag_speculative_prefetching for -fprofile-generate/use.
2515
2516 2004-10-14  Devang Patel  <dpatel@apple.com>
2517
2518         PR 17635
2519         * tree-if-conv.c (process_phi_nodes): Process latch block.
2520         (combine_blocks): Process latch block and update loop structure.
2521
2522 2004-10-14  Olga Golovanevsky  <olga@il.ibm.com>
2523
2524         * tree-vectorizer.c (vect_generate_tmps_on_preheader):
2525         (vect_update_ivs_after_vectorizer):
2526         (vect_transform_for_unknown_loop_bound):
2527         (tree_duplicate_loop_to_edge):
2528         (allocate_new_names):
2529         (rename_use_op):
2530         (rename_def_op):
2531         (rename_variables_in_bb):
2532         (free_new_names):
2533         (rename_variables_in_loop):
2534         (copy_phi_nodes):
2535         (update_phis_for_duplicate_loop):
2536         (update_phi_nodes_for_guard):
2537         (make_loop_iterate_ntimes):
2538         (tree_duplicate_loop_to_edge_cfg):
2539         (add_loop_guard):
2540         (vect_analyze_loop_with_symbolic_num_of_iters):
2541         (verify_loop_for_duplication):
2542         (vect_gen_niters_for_prolog_loop):
2543         (vect_update_niters_after_peeling):
2544         (vect_update_inits_of_dr):
2545         (vect_update_inits_of_drs):
2546         (vect_build_loop_niters):
2547         (vect_do_peeling_for_alignment): New functions.
2548         (vect_transform_loop): Add unknown and known but indivisible loop
2549         bound support; add peeling for unalignment support.
2550         (vect_analyze_loop_form): Support symbolic number of iterations.
2551         (vect_transform_loop_bound): New input parameter.
2552         (vect_get_loop_niters): Change input parameter type.
2553         (new_loop_vec_info): LOOP_VINFO_NITERS is tree now.
2554         (vectorizable_store): Allow unaligned access.
2555         (vectorize_loops): Add rewrite_into_loop_closed_ssa.
2556         (vect_analyze_data_refs_alignment): Allowed one unaligned
2557         store.
2558         * tree-vectorizer.h (LOOP_VINFO_NITERS_KNOWN_P): Redefined
2559         to use tree.
2560         (LOOP_VINFO_INT_NITERS): New macro.
2561         (MAX_NUMBER_OF_UNALIGNED_DATA_REFS): New define.
2562         (do_peeling_for_alignment):
2563         (unaligned_drs): New members of _loop_vec_info.
2564         (LOOP_DO_PEELING_FOR_ALIGNMENT): New macro.
2565
2566 2004-10-14  Ranjit Mathew  <rmathew@hotmail.com>
2567
2568         * tree.h (TREE_STRING_POINTER): Wrap in "const char *".
2569         (struct tree_string): Remove "const" qualifier for "str".
2570
2571 2004-10-14  Ira Rosen  <irar@il.ibm.com>
2572
2573         * tree-vectorizer.c (vect_analyze_data_refs): Call
2574         vect_get_base_and_bit_offset to get memory tag for array ref.
2575         (vect_create_addr_base_for_vector_ref): Remove redundant checks.
2576
2577 2004-10-14  Richard Earnshaw  <rearnsha@arm.com>
2578
2579         * configure.ac: Use $LN_S for creating symlinks (not $LN).
2580         * configure: Regenerate.
2581
2582 2004-10-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2583
2584         * doc/install.texi (*-*-solaris2*): Update with info about kernel
2585         patches to solve spurious testsuite failures.
2586
2587 2004-10-14  Dorit Naishlos  <dorit@il.bim.com>
2588
2589         * tree-vectorizer.c (get_vectype_for_scalar_type): Added debug prinouts.
2590         Added check that vectype is VECTOR_MODE_P, instead of check for BLKmode.
2591         (vect_analyze_operations): Make sure the vectorization factor > 1. Add
2592         gcc_assert under ENABLE_CHECKING.
2593         (vectorizable_operation): Remove check for VECTOR_MODE_P (moved to
2594         get_vectype_for_scalar_type).
2595
2596         (vect_get_vec_def_for_operand): Remove redundant variables.
2597         (vect_transform_loop): Likewise.
2598
2599 2004-10-14  Richard Sandiford  <rsandifo@redhat.com>
2600
2601         * config/arm/arm.h (CONDITIONAL_REGISTER_USAGE): Make r11 fixed and
2602         global for -mcaller-super-interworking.
2603         (CALLER_INTERWORKING_SLOT_SIZE): New macro.
2604         * config/arm/arm.c (thumb_compute_save_reg_mask): Save r11 if
2605         CALLER_INTERWORKING_SLOT_SIZE is nonzero and the function does
2606         not need a frame pointer.
2607         (arm_get_frame_offsets): Add CALLER_INTERWORKING_SLOT_SIZE bytes to
2608         the soft frame pointer offset.
2609         (thumb_expand_prologue): Set up r11 for -mcaller-super-interworking.
2610         * config/arm/arm.md (*call_reg_thumb, *call_value_reg_thumb): Use
2611         _interwork_{r7,r11}_call_via_rN if some arguments are passed on
2612         the stack.  Use frame_pointer_needed to choose between them.
2613         * config/arm/lib1funcs.asm (_arm_return_{r7,r11}): New functions.
2614         (interwork_with_frame): New macro.
2615         (interwork): Add _interwork_{r7,r11}_call_via_rN().
2616
2617 2004-10-14  Ben Elliston  <bje@au.ibm.com>
2618
2619         PR other/17900
2620         * diagnostic.c (trim_filename): Fix logic bug in walking backwards
2621         up the filename looking for a previous directory separator.
2622
2623 2004-10-14  Joseph S. Myers  <jsm@polyomino.org.uk>
2624
2625         * c-tree.h (enum c_typespec_kind, struct c_typespec,
2626         parser_xref_tag): New.
2627         (struct c_declspecs): Add tag_defined_p.  Adjust definition of
2628         typedef_p.
2629         (declspecs_add_type): Adjust prototypes.
2630         * c-parse.in (%union): Add tstype.
2631         (typespec_nonattr, typespec_attr, typespec_reserved_nonattr,
2632         typespec_reserved_attr, typespec_nonreserved_nonattr,
2633         structsp_attr, structsp_nonattr): Change to tstype.  Update
2634         actions.
2635         * c-decl.c (build_null_declspecs): Initialize tag_defined_p.
2636         (declspecs_add_type): Update to take struct c_typespec argument.
2637         Set tag_defined_p and typedef_p as appropriate.
2638         (xref_tag): Rename to parser_xref_tag and replace by wrapper.
2639         Update to return struct c_typespec.
2640         (shadow_tag_warned): Don't let empty declarations with qualifiers
2641         or storage class specifiers redeclare a tag if a previous
2642         declaration is visible.
2643
2644 2004-10-13  Richard Henderson  <rth@redhat.com>
2645
2646         PR debug/15860
2647         * dwarf2out.c (rtl_for_decl_location): Apply big-endian correction
2648         for DECL_INCOMING_RTL.
2649
2650 2004-10-14  Hans-Peter Nilsson  <hp@axis.com>
2651
2652         PR target/17984
2653         * config/cris/cris.md (asrandb, asrandw, lsrandb, lsrandw): Apply
2654         trunc_int_for_mode for constants used in shortened mode.
2655
2656 2004-10-13  Richard Henderson  <rth@redhat.com>
2657
2658         PR c/17384
2659         * c-common.c (handle_mode_attribute): Disallow mode changes that
2660         alter the CODE of the top-level type.
2661
2662         * crtstuff.c (__FRAME_END__): Remove mode attribute.  Find 32-bit
2663         integer from internal limits macros.
2664         * config/i386/mm3dnow.h (__v2sf): Fix base type.
2665
2666 2004-10-13  Richard Henderson  <rth@redhat.com>
2667
2668         PR debug/13841
2669         * function.c (instantiate_decl): Recurse for CONCAT.
2670
2671 2004-10-13  David Edelsohn  <edelsohn@gnu.org>
2672
2673         * config/rs6000/rs6000.md (andsi3): Add attribute "compare" for
2674         andi./andis.
2675         (anddi3): Same.
2676         (extzvdi_internal1): Add attribute "compare".
2677         (extzvdi_internal2): Same.
2678
2679 2004-10-12  Tom Tromey  <tromey@redhat.com>
2680
2681         * doc/md.texi (Insn Canonicalizations): Removed extraneous quote.
2682
2683 2004-10-13  Dale Johannesen  <dalej@apple.com>
2684
2685         * doc/extend.texi (Extended Asm):  Rewrite asm volatile description.
2686
2687 2004-10-13  Frank Ch. Eigler  <fche@redhat.com>
2688
2689         * toplev.c (compile_file): Call mudflap_finish_file from here ...
2690         * c-decl.c (c_write_global_declarations): ... instead of here ...
2691         * cp/decl.c (cp_finish_file): ... and here.
2692         * tree-mudflap.c (mudflap_enqueue_decl): Reword a warning message.
2693
2694 2004-10-13  Andrew Pinski  <pinskia@physics.uc.edu>
2695
2696         * tree-ssa-dom.c (record_range): Free the element if we are not
2697         going to use it.
2698
2699 2004-10-13  Tom Tromey  <tromey@redhat.com>
2700
2701         PR java/15578:
2702         * gcc.c (option_map): Added --extdirs and --encoding.
2703
2704 2004-10-13  Eric Botcazou  <ebotcazou@libertysurf.fr>
2705
2706         PR target/14454
2707         * config/sparc/sparc.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Set to
2708         sparc_can_output_mi_thunk.
2709         (sparc_output_mi_thunk): Simplify handling of delta offset.  Add
2710         handling of vcall offset.
2711         (sparc_can_output_mi_thunk): New predicate.
2712         * doc/tm.texi (TARGET_ASM_OUTPUT_MI_THUNK): Document VCALL_OFFSET.
2713         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Delete.
2714         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New target hook.
2715
2716         * config/sparc/sparc.c (emit_and_preserve): Preserve stack alignment.
2717
2718         * config/sparc/sparc.md (movdi): Remove redundant test.
2719
2720 2004-10-13  Paolo Bonzini  <bonzini@gnu.org>
2721
2722         * tree-dump.c (dump_options): Remove TDF_TREE, TDF_RTL,
2723         TDF_IPA from -fdump-tree-*-all.
2724
2725 2004-10-13  Paul Brook  <paul@codesourcery.com>
2726
2727         * config/arm/arm-protos.h (arm_load_pic_register): Update prototype.
2728         * config/arm/arm.c (thumb_find_work_register): Update comments.
2729         (arm_load_pic_register): Add argument for scratch register.
2730         (arm_expand_prologue, thumb_expand_prologue): Pass extra argument.
2731         * config/arm/arm.md (builtin_setjmp_receiver): Ditto.
2732
2733 2004-10-13  Kazu Hirata  <kazu@cs.umass.edu>
2734
2735         * tree-data-ref.c: Fix comment typos.
2736
2737 2004-10-13  Jakub Jelinek  <jakub@redhat.com>
2738             Zdenek Dvorak  <dvorakz@suse.cz>
2739
2740         PR tree-optimization/17724
2741         * tree-cfg.c (tree_purge_dead_eh_edges): Free dominance info.
2742
2743 2004-10-13  Dorit Naishlos  <dorit@il.ibm.com>
2744
2745         * rs6000.c (altivec_builtin_mask_for_load): Made static GTY(()).
2746         (altivec_builtin_mask_for_store): Likewise.
2747         (altivec_init_builtins): Use lang_hooks.builtin_function to
2748         create the decls for builtin_altivec_mask_for_load/store.
2749
2750 2004-10-13  Nick Clifton  <nickc@redhat.com>
2751
2752         * config/c4x/c4x.c: Remove inclusion of loop.h.
2753
2754 2004-10-12  Ben Elliston  <bje@au.ibm.com>
2755
2756         * basic-block.h (edge_iterator): Keep the address of VEC(edge) *.
2757         (ei_container): New; renamed.
2758         (ei_start, ei_last): New macros.
2759         (ei_start_1, ei_last_1): Renamed from ei_start.
2760         (ei_last_1, ei_end_p): Use ei_container() where applicable.
2761         (ei_one_before_end_p, ei_next, ei_edge): Likewise.
2762         * gcse.c (remove_reachable_equiv_notes): Use ei_container().
2763
2764 2004-10-11  Sebastian Pop  <pop@cri.ensmp.fr>
2765
2766         * Makefile.in (tree-ssa-loop-niter.o): Depends on tree-data-ref.h.
2767         * cfgloop.c (initialize_loops_parallel_p): New.
2768         (flow_loops_find): Initialize the parallel_p field to true for all
2769         the loops.
2770         * tree-ssa-loop-niter.c: Include "tree-data-ref.h".
2771         (estimate_numbers_of_iterations_loop): Infers the loop bounds from
2772         the size of the data accessed in the loop.
2773         (struct nb_iter_bound): Moved...
2774         * cfgloop.h (struct nb_iter_bound): ... here.
2775         (estimated_nb_iterations, parallel_p): New fields in struct loop.
2776         (record_estimate): Declare extern here.
2777         * tree-chrec.c: Fix comments.
2778         (nb_vars_in_chrec): New function.
2779         * tree-chrec.h (nb_vars_in_chrec): Declared here.
2780         * tree-data-ref.c: Don't include lambda.h, that is already included
2781         in tree-data-ref.h.
2782         (tree_fold_divides_p): Don't check for integer_onep.
2783         (tree_fold_bezout): Removed.
2784         (gcd): New static duplicated function.
2785         (int_divides_p, dump_subscript): New.
2786         (dump_data_dependence_relation): Use dump_subscript.
2787         (dump_dist_dir_vectors, dump_ddrs, compute_estimated_nb_iterations,
2788         estimate_niter_from_size_of_data): New.
2789         (analyze_array_indexes, analyze_array): Call
2790         estimate_niter_from_size_of_data during the detection of array
2791         references.  Pass in a pointer to the statement that contains the
2792         array reference.
2793         (all_chrecs_equal_p): New.
2794         (compute_distance_vector): Renamed compute_subscript_distance.
2795         Deal with multivariate conflict functions.
2796         (initialize_data_dependence_relation): Initialize DDR_AFFINE_P,
2797         DDR_SIZE_VECT, DDR_DIST_VECT, and DDR_DIR_VECT.
2798         (non_affine_dependence_relation): New.
2799         (analyze_ziv_subscript, analyze_siv_subscript_cst_affine,
2800         analyze_siv_subscript, analyze_miv_subscript,
2801         analyze_overlapping_iterations, subscript_dependence_tester):
2802         Initialize and return last_conflicts function.
2803         (initialize_matrix_A, FLOOR, compute_overlap_steps_for_affine_univar,
2804         compute_overlap_steps_for_affine_1_2): New.
2805         (analyze_siv_subscript_affine_cst): Removed.
2806         (analyze_subscript_affine_affine): Disprove dependences based on the
2807         iteration domains.  Solve the univariate dependence case as before,
2808         but use lambda_matrix_right_hermite instead of tree_fold_bezout.
2809         Implement the multivariate case of 2 versus 1 variables.
2810         (build_classic_dist_vector, build_classic_dir_vector): Implement some
2811         unhandled cases.
2812         (find_data_references_in_loop): Compute and initialize
2813         loop->estimated_nb_iterations and loop->parallel_p.
2814         (analyze_all_data_dependences): Modify the debug dump order.
2815         * tree-data-ref.h (SUB_LAST_CONFLICT_IN_A, SUB_LAST_CONFLICT_IN_B,
2816         subscript->last_conflict_in_a, subscript->last_conflict_in_b): Removed.
2817         (SUB_LAST_CONFLICT, subscript->last_conflict,
2818         data_dependence_relation->affine_p, data_dependence_relation->size_vect,
2819         DDR_AFFINE_P, DDR_SIZE_VECT): New.
2820         (find_data_references_in_loop, initialize_data_dependence_relation,
2821         dump_subscript, dump_ddrs, dump_dist_dir_vectors): Declared here.
2822
2823 2004-10-12  Kelley Cook  <kcook@gcc.gnu.org>
2824
2825         * configure: Regenerate.
2826
2827 2004-10-12  Fariborz Jahanian <fjahanian@apple.com>
2828
2829         PR 17892
2830         * tree-ssa-dom.c (unsafe_associative_fp_binop): New function.
2831         (simplify_rhs_and_lookup_avail_expr): Disallow associativity
2832         and constant folding of floating point MULT_EXPR/PLUS_EXPR
2833         expressions.
2834
2835 2004-10-12  Ulrich Weigand  <uweigand@de.ibm.com>
2836
2837         * config/s390/s390.c (s390_va_start): Use build_va_arg_indirect_ref.
2838         (s390_gimplify_va_arg): Likewise.
2839
2840 2004-10-12  Daniel Jacobowitz  <dan@debian.org>
2841
2842         * defaults.h (REGNO_MODE_OK_FOR_BASE_P, REG_MODE_OK_FOR_BASE_P)
2843         (MODE_BASE_REG_REG_CLASS, REGNO_MODE_OK_FOR_REG_BASE_P)
2844         (REG_MODE_OK_FOR_REG_BASE_P): Provide default definitions.
2845         * regclass.c (record_address_regs): Remove ifdef.  Use
2846         REG_MODE_OK_FOR_REG_BASE_P and MODE_BASE_REG_REG_CLASS.
2847         * regrename.c (REG_MODE_OK_FOR_BASE_P): Remove unnecessary
2848         definition.
2849         (scan_rtx_address, replace_oldest_value_addr): Use
2850         REG_MODE_OK_FOR_REG_BASE_P and MODE_BASE_REG_REG_CLASS.
2851         * reload.c (REGNO_MODE_OK_FOR_BASE_P, REG_MODE_OK_FOR_BASE_P): Remove
2852         unnecessary definitions.
2853         (find_reloads_address_1): Support REG_MODE_OK_FOR_REG_BASE_P
2854         and MODE_BASE_REG_REG_CLASS.
2855         * config/arm/arm.h (MODE_BASE_REG_CLASS): Don't check reload_completed.
2856         (MODE_BASE_REG_REG_CLASS): Define.
2857         (REGNO_MODE_OK_FOR_REG_BASE_P): Define.
2858         (REG_MODE_OK_FOR_REG_BASE_P): Define.
2859         * doc/tm.texi (Register Classes): Document MODE_BASE_REG_REG_CLASS,
2860         REG_MODE_OK_FOR_REG_BASE_P, and REGNO_MODE_OK_FOR_REG_BASE_P.
2861
2862 2004-10-12  Daniel Berlin <dberlin@dberlin.org>
2863
2864         * tree-ssa-alias.c (verify_name_tags): New function.
2865         (verify_flow_sensitive_alias_info): Remove code that used to check name tags.
2866         (verify_alias_info): Call verify_name_tags.
2867
2868 2004-10-12  Kazu Hirata  <kazu@cs.umass.edu>
2869
2870         PR rtl-optimization/17931
2871         * config/i386/i386.c (ix86_rtx_costs): Handle COMPARE with
2872         ZERO_EXTRACT in it.
2873
2874 2004-10-12  Richard Earnshaw  <rearnsha@arm.com>
2875
2876         * arm.c (arm_print_operand): Use output_operand_lossage where possible
2877         rather than aborting.
2878
2879 2004-10-12  Paul Brook  <paul@coudesourcery.com>
2880
2881         * config.gcc: Add armv6{k,z,zk}
2882         * config/arm/arm-cores.def: Add arm1176 and mpcore.
2883         * config/arm/tune.md: Regenerate.
2884         * config/arm/arm.c (FL_FOR_ARCH6K, FL_FOR_ARCH6Z, FL_FOR_ARCH6ZK):
2885         Define.
2886         (all_architectures): Add armv6k, armv6z, armv6zk.
2887         * config/arm/lib1funcs.asm: Recognise new arm arcitectures.
2888         * doc/invoke.texi: Document new arch and cpu values.
2889
2890 2004-10-12  Paul Brook  <paul@coodesourcery.com>
2891
2892         * config/arm/bpabi.h (SUBTARGET_EXTRA_ASM_SPEC): Change meabi=3 to
2893         meabi=4.
2894
2895 2004-10-12  Paul Brook  <paul@codesourcery.com>
2896
2897         * config/arm/arm.md (addsi3_cbranch_scratch): Correct constraints.
2898         Handle negative constants.
2899
2900 2004-10-12  Joseph S. Myers  <jsm@polyomino.org.uk>
2901
2902         PR c/17301
2903         * c-typeck.c (convert_arguments): Return error_mark_node if there
2904         are too few arguments.
2905         (build_function_call): Handle error_mark_node return from
2906         convert_arguments.
2907
2908 2004-10-06  Paolo Bonzini  <bonzini@gnu.org>
2909
2910         * configure.ac (symbolic_link): Replace with $LN_S.
2911         (Assembler/Linker): Hard link from gas and binutils trees.
2912         * aclocal.m4 (gcc_AC_PROG_LN_S): Try "cp -p" before cp.
2913         * configure: Regenerate.
2914
2915 2004-10-12  Paul Brook  <paul@codesourcery.com>
2916
2917         * configure.ac: Don't look for host assembler when building a canadian
2918         cross.
2919         * configure: Regenerate.
2920
2921 2004-10-11  Roger Sayle  <roger@eyesopen.com>
2922
2923         PR other/17361
2924         * c-opts.c (permit_fortran_options): Delete/obsolete global variable.
2925         (c_common_init_options): Remove #ifdef CL_F77 code.  Scan command
2926         line options for "-lang-asm" and if found allow any of the C-family
2927         front-end options.
2928         (c_common_handle_option): Remove last use of permit_fortran_options.
2929
2930 2004-10-11  Ulrich Weigand  <uweigand@de.ibm.com>
2931
2932         * config/s390/s390.c (print_operand): Support 'S' format flag.
2933         * config/s390/s390.md ("*tmqi_mem"): Use 'S' format flag.
2934         ("*tstsi", "*tstsi_cconly", "*tstsi_cconly2"): Likewise.
2935         ("*tsthiCCT", "*tsthiCCT_cconly", "*tsthi", "*tsthi_cconly"): Likewise.
2936         ("*tstqiCCT", "*tstqiCCT_cconly", "*tstqi", "*tstqi_cconly"): Likewise.
2937         ("*cmphi_ccu", "*cmpqi_ccu", "*clc"): Likewise
2938         ("movti", "*movdi_31", "*movqi", "*movdf_31", "*mvc"): Likewise.
2939         ("*movstricthi"): Likewise.
2940         ("*load_multiple_di", "*load_multiple_si"): Likewise.
2941         ("*store_multiple_di", "*store_multiple_si"): Likewise.
2942         ("*sethiqisi", "*sethihisi"): Likewise.
2943         ("*sethiqidi_64", "*sethiqidi_31"): Likewise.
2944         ("*andqi3_zarch", "*andqi3_esa", "*nc"): Likewise.
2945         ("*iorqi3_zarch", "*iorqi3_esa", "*oc"): Likewise.
2946         ("*xorqi3", "*xc", "*xc_zero"): Likewise.
2947         ("get_tp_64", "get_tp_31", "set_tp_64", "set_tp_31"): Likewise.
2948
2949         ("*tmhi_full"): Fix incorrect op_type attribute.
2950
2951         ("*adddi3_alc_cc", "*adddi3_alc"): Remove double backslash.
2952         ("*subdi3_slb_cc", "*subdi3_slb"): Likewise.
2953         ("*addsi3_alc_cc", "*addsi3_alc"): Likewise.
2954         ("*subsi3_slb_cc", "*subsi3_slb"): Likewise.
2955
2956 2004-10-11  Andrew Pinski  <pinskia@physics.uc.edu
2957
2958         PR middle-end/16266
2959         * function.c (temp_slots_at_level): Fix typo which creates too
2960         many temp stack slots levels.
2961
2962 2004-10-11  Ulrich Weigand  <uweigand@de.ibm.com>
2963
2964         * config/s390/s390.c (s390_trampoline_template): Generate shorter
2965         trampoline code.
2966         (s390_trampoline_instantiate): Adapt.
2967         * config/s390/s390.h (TRAMPOLINE_SIZE): Adapt to new code.
2968
2969 2004-10-11  Roger Sayle  <roger@eyesopen.com>
2970
2971         PR middle-end/17657
2972         * stmt.c (add_case_node): Add additional type argument.  Declare
2973         as static to match prototype.  Convert the upper and lower bounds
2974         to the specified index type.  Optimize away case ranges/values
2975         that are outside the index type's bounds.  Truncate case ranges
2976         that span the index type's bounds.
2977         (expand_case): Avoid unnessary computation and memory allocation
2978         when index type is error_mark_node.  Pass index_type as required
2979         by change to add_case_node API.  No need to convert case range
2980         bounds to index_type, this is now done by add_case_node.
2981
2982 2004-10-11  Ulrich Weigand  <uweigand@de.ibm.com>
2983
2984         * config/s390/s390-protos.h (s390_offset_p): Add prototype.
2985         * config/s390/s390.c (s390_offset_p): New function.
2986         * config/s390/s390.md ("*cmpdi_cct", "*cmpsi_cct", "*cmpdi_ccu",
2987         "*cmpsi_ccu", "*cmphi_ccu", "*cmpqi_ccu"): Use splitter to
2988         transform Q->Q alternatives to *clc pattern.
2989         ("*clc"): Move.
2990         ("movti", "*movdi_64", "*movdi_31", "*movsi_zarch", "*movsi_esa",
2991         "*movhi", "*movqi", "*movdf_64", "*movdf_31", "movsf"): Use splitter
2992         to transform Q->Q alternatives to *mvc pattern.
2993         ("*mvc"): Move.  Add peephole to merge adjacent MVCs.
2994         ("*anddi3", "*andsi3_zarch", "*andsi3_esa", "*andhi3_zarch",
2995         "*andhi3_esa", "*andqi3_zarch", "*andqi3_esa"): Use splitter to
2996         transform Q->Q alternatives to *nc pattern.
2997         ("*nc"): New insn.  New peephole to merge adjacent NCs.
2998         ("*iordi3", "*iorsi3_zarch", "*iorsi3_esa", "*iorhi3_zarch",
2999         "*iorhi3_esa", "*iorqi3_zarch", "*iorqi3_esa"): Use splitter to
3000         transform Q->Q alternatives to *oc pattern.
3001         ("*oc"): New insn.  New peephole to merge adjacent OCs.
3002         ("*xordi3", "*xorsi3", "*xorhi3", "*xorqi3"): Use splitter to
3003         transform Q->Q alternatives to *xc pattern.
3004         ("*xc"): New insn.  New peephole to merge adjacent XCs.
3005         ("*xc_zero"): Move.  Add peephole to merge adjacent XCs.
3006
3007 2004-10-11  Andrew Pinski  <pinskia@physics.uc.edu>
3008
3009         * gimplify.c (gimple_push_condition): Make sure that we don't
3010         have any saved condition cleanup if we were at the top level.
3011
3012 2004-10-11  Richard Sandiford  <rsandifo@redhat.com>
3013
3014         * config/frv/frv.md (*adddi3_internal): Change name to...
3015         (adddi3): ...replacing the exisiting define_expand.  Combine
3016         alternatives.  Fix the range of the constant constraints ('J' instead
3017         of 'NOP').  Remove bogus operands[2] check.  Use simplify_gen_subreg
3018         to extract the lower and upper halves of the DImode operands.
3019         Always use addi3_lower and adddi3_upper, not the subdi3 forms.
3020         (adddi3_lower): Fix the range of the constant constraints and
3021         remove the bogus operands[2] check.
3022         (adddi3_upper): Use gpr_or_int10_operand as the predicate for
3023         operand 2.  Use addxi to handle constant operands.
3024         (subdi3_lower, subdi3_upper): Don't handle constant operands.
3025
3026 2004-10-11  Nathan Sidwell  <nathan@codesourcery.com>
3027
3028         * gengtype-lex.l: Add commented } & ) characters to unconfuse
3029         editor's paren matching. Allow #define inside a struct.
3030
3031 2004-10-10  Andrew Pinski  <pinskia@physics.uc.edu>
3032
3033         PR middle-end/17703
3034         part of PR c++/17657
3035         * fold-const.c (fold_build_cleanup_point_expr): New function.
3036         * tree.h (fold_build_cleanup_point_expr): Prototype.
3037
3038 2004-10-10  Eric Christopher  <echristo@redhat.com>
3039
3040         * dwarf2out.c: Move attribute to subprogram declaration
3041         instead of subroutine type.
3042
3043 2004-10-10  Kazu Hirata  <kazu@cs.umass.edu>
3044
3045         * basic-block.h: Remove the prototypes for can_hoist_insn_p,
3046         hoist_insn_after, and hoist_insn_to_edge.
3047         * rtl.h: Remove the prototypes for reg_referenced_between_p,
3048         no_jumps_between_p, and insn_dependent_p.
3049         * rtlanal.c (no_jumps_between_p, reg_referenced_between_p,
3050         insn_dependent_p, insn_dependent_p_1, hoist_test_store,
3051         can_hoist_insn_p, hoist_update_store, hoist_insn_after,
3052         hoist_insn_to_edge): Remove.
3053
3054 2004-10-10  Joseph S. Myers  <jsm@polyomino.org.uk>
3055
3056         PR c/17881
3057         * c-decl.c (grokparms): Don't warn for parameters of incomplete
3058         type in declarations that are not definitions except for the case
3059         of parameters of void type.
3060
3061 2004-10-10  Kazu Hirata  <kazu@cs.umass.edu>
3062
3063         * tree-cfg.c: Fix comment typos.
3064
3065 2004-10-10  Joseph S. Myers  <jsm@polyomino.org.uk>
3066
3067         PR c/17301
3068         * builtins.c (expand_builtin_va_start): Check for too few
3069         arguments to va_start.
3070
3071 2004-10-10  Joseph S. Myers  <jsm@polyomino.org.uk>
3072
3073         PR c/17189
3074         * c-decl.c (grokfield): Make diagnostic for bad cases of unnamed
3075         fields a pedwarn.  Pedwarn here for unnamed structs/unions if
3076         pedantic.
3077         * c-parse.in (component_decl): Don't pedwarn here for unnamed
3078         fields.
3079
3080 2004-10-09  Zdenek Dvorak  <dvorakz@suse.cz>
3081
3082         PR tree-optimization/17906
3083         * tree-tailcall.c (tree_optimize_tail_calls_1): Do not attempt to
3084         copy non-gimple reg arguments.
3085
3086 2004-10-09  Roger Sayle  <roger@eyesopen.com>
3087
3088         PR rtl-optimization/17853
3089         * simplify-rtx.c (simplify_relational_operation): Correct comment.
3090         Reorganize handling of comparison operations with floating point
3091         results (always return 0.0 even without FLOAT_STORE_FLAG_VALUE).
3092         Likewise, introduce support for comparison operations with vector
3093         result types, introducing a new VECTOR_STORE_FLAG_VALUE target macro.
3094
3095         * doc/rtl.texi: Document new VECTOR_STORE_FLAG_VALUE target macro.
3096         * doc/tm.texi: Likewise.
3097
3098 2004-10-09  Steven Bosscher  <stevenb@suse.de>
3099
3100         * regs.h (struct reg_info_def): Remove the last_node_uid and
3101         changes_mode fields.
3102         (REGNO_LAST_NOTE_UID): Don't define.
3103         * regclass.c (reg_scan_mark_refs): Don't set REGNO_LAST_NOTE_UID.
3104         * regmove.c (copy_src_to_dest): Likewise.
3105
3106 2004-10-09  Roger Sayle  <roger@eyesopen.com>
3107
3108         PR middle-end/17894
3109         * fold-const.c (fold_div_compare): When optimizing X/C1 op C2, the
3110         relational comparison operator op needs to be swapped/reversed when
3111         C1 is negative.  i.e. X/-10 < 1 becomes X >= -9, not X < -9.
3112
3113 2004-10-08  Andrew Pinski  <pinskia@physics.uc.edu>
3114
3115         PR tree-opt/17902
3116         * tree-ssa-phiopt.c (conditional_replacement): Use bsi_after_labels
3117         instead of bsi_start.
3118         (value_replacement): Likewise.
3119         (abs_replacement): Likewise
3120
3121 2004-10-09  Steven Bosscher  <stevenb@suse.de>
3122
3123         * cfgexpand.c (maybe_dump_rtl_for_tree_stmt): New function.
3124         (expand_gimple_cond_expr, expand_gimple_tailcall,
3125         expand_gimple_basic_block): Use it to dump RTL for each stmt.
3126         (tree_expand_cfg): Announce full RTL function dump.
3127         * tree-optimize.c (execute_one_pass): Use normal RTL printing,
3128         not the graph version.
3129         * tree-pretty-print.c (dump_generic_node): Allow empty statements
3130         in the arms of a COND_EXPR for lowered nodes.
3131
3132 2004-10-08  Joseph S. Myers  <joseph@codesourcery.com>
3133
3134         * config/rs6000/spe.h (atosfix16, atosfix32, atosfix64, atoufix16,
3135         atoufix32, atoufix64, strtosfix16, strtosfix32, strtosfix64,
3136         strtoufix16, strtoufix32, strtoufix64): Declare.
3137
3138 2004-10-08  Joseph S. Myers  <jsm@polyomino.org.uk>
3139
3140         * c-lex.c (interpret_float): Give a pedwarn rather than a warning
3141         for an out-of-range floating point constant.
3142         * builtins.c (fold_builtin_inf): Give a pedwarn rather than a
3143         warning if the target format does not support infinities.
3144
3145 2004-10-08  Kazu Hirata  <kazu@cs.umass.edu>
3146
3147         * emit-rtl.c (last_label_num, base_label_num): Remove.
3148         (max_label_num): Always return label_num.
3149         (set_new_last_label_num, restore_emit_status): Remove.
3150         (init_emit): Don't initialize last_label_num.
3151         * function.c (pop_function_context_from): Don't call
3152         restore_emit_status.
3153         * function.h: Remove the prototype for restore_emit_status.
3154         * rtl.h: Remove the prototype for set_new_last_label_num.
3155
3156 2004-10-08  Kazu Hirata  <kazu@cs.umass.edu>
3157
3158         * stmt.c (expand_decl_init): Remove.
3159         * tree.h: Remove the corresponding prototype.
3160
3161 2004-10-08  Kazu Hirata  <kazu@cs.umass.edu>
3162
3163         * integrate.c (try_constants, subst_constants, mark_stores):
3164         Remove.
3165         * integrate.h: Remove the prototype for try_constants.
3166
3167 2004-10-08  Joseph S. Myers  <jsm@polyomino.org.uk>
3168
3169         * c-typeck.c (enum impl_conv): Add ic_argpass_nonproto.
3170         (convert_for_assignment): Handle ic_argpass_nonproto.  Add
3171         comments about its relevance to errors.
3172         (c_convert_parm_for_inlining): Use ic_argpass_nonproto.
3173
3174 2004-10-08  Andrew Pinski  <pinskia@physics.uc.edu>
3175
3176         PR c/16999
3177         * c-ppoutput.c (cb_ident): Don't quote string as it is already
3178         quoted.
3179
3180 2004-10-08  Diego Novillo  <dnovillo@redhat.com>
3181
3182         * tree-ssa-pre.c (init_pre): Use size of ARRAY_REF to allocate
3183         reference_node_pool.
3184
3185 2004-10-08  Kazu Hirata  <kazu@cs.umass.edu>
3186
3187         * tree-cfg.c: Fix a comment typo.
3188
3189 2004-10-08  Andreas Krebbel  <krebbel1@de.ibm.com>
3190
3191         * config/s390/s390.c (s390_register_info): Don't save fprs for
3192         -msoft-float.
3193         (s390_conditional_register_usage): Make fprs 'fixed' for -msoft-float.
3194
3195 2004-10-08  Ulrich Weigand  <uweigand@de.ibm.com>
3196
3197         * config/s390/s390.h (TARGET_DEFAULT_BACKCHAIN): New define.
3198         (TARGET_DEFAULT): Use symbolic values.
3199         * config/s390/tpf.h (TARGET_DEFAULT_BACKCHAIN): Redefine.
3200         (TARGET_DEFAULT): Use symbolic values.
3201         * config/s390/s390.c (s390_backchain_string): Initialize to
3202         TARGET_DEFAULT_BACKCHAIN.
3203
3204 2004-10-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3205
3206         * builtins.c (expand_builtin_mempcpy): Move tree handling code to
3207         fold_builtin_mempcpy.  Accept a type parameter.  Delete duplicate
3208         code.
3209         (expand_builtin_strcat): Accept a type parameter.
3210         (fold_builtin_mempcpy): Accept a type and endp parameter.
3211
3212         * builtins.c (expand_builtin_strncpy): Delete duplicate code.
3213         Accept an `exp' instead of an `arglist'.
3214
3215 2004-10-08  Nathan Sidwell  <nathan@codesourcery.com>
3216
3217         * tree-tailcall.c (tree_optimize_tail_calls_1): Use fold_convert,
3218         reverting my 2004-09-07 patch to use build_int_cst.
3219
3220 2004-10-08  Eric Botcazou  <ebotcazou@libertysurf.fr>
3221
3222         PR target/17245
3223         * config/sparc/sparc.c (input_operand): Remove redundant code
3224         for handling LO_SUM.
3225         (legitimate_address_p) <REG+REG>: Do not recheck TARGET_V9.
3226         <LO_SUM>: If LO_SUM is offsettable, accept it for TFmode on V9.
3227         Otherwise only accept it for TFmode if quad move insns are available.
3228
3229 2004-10-08  Kazu Hirata  <kazu@cs.umass.edu>
3230
3231         * tree-cfg.c (tree_forwarder_block_p): Reorder checks so that
3232         common cases will be caught earlier than others.
3233
3234 2004-10-08  Michael Matz  <matz@suse.de>
3235
3236         * loop-doloop.c (doloop_optimize): Extend count.
3237
3238 2004-10-08  Kaz Kojima  <kkojima@gcc.gnu.org>
3239
3240         * config/sh/sh.md (prefetch_media, prefetch_i4): New insns.
3241         (prefetch): Convert to expander.
3242
3243 2004-10-08  Kaz Kojima  <kkojima@gcc.gnu.org>
3244
3245         * config/sh/sh.md (tls_global_dynamic): Use MEM pattern for the
3246         first argument of CALL.
3247         (tls_local_dynamic): Likewise.
3248
3249 2004-10-08  Joseph S. Myers  <jsm@polyomino.org.uk>
3250
3251         * c-typeck.c (enum impl_conv): New.
3252         (convert_for_assignment): Use it.  Take tree for function called
3253         instead of its name.  Handle ObjC selectors for diagnostics at
3254         start of function.  Select diagnostic text within the function
3255         using full sentences for diagnsotics.  Use %qE to name functions
3256         in diagnostics.
3257         (convert_arguments, build_modify_expr,
3258         c_convert_parm_for_inlining, digest_init, c_finish_return): Update
3259         callers to convert_for_assignment.
3260         (warn_for_assignment): Remove.
3261
3262 2004-10-08  Nick Clifton  <nickc@redhat.com>
3263
3264         * config/sh/symbian.c (symbian_possibly_export_base_class):
3265         Replace use of deleted TYPE_USES_VIRTUAL_BASECLASSES macro with
3266         TYPE_CONTAINS_VPTR_P.
3267
3268 2004-10-08  Kazuhiro Inaoka  <inaoka.kazuhiro@renesas.com>
3269
3270         * config/m32r/m32r.h (CONDITIONAL_REGISTER_USAGE): Don't exclude
3271         fixed registers form all_used_regs. Update call_really_used_regs.
3272         (CALL_REALLY_USED_REGISTERS): Define.
3273         * config/m32r/m32r.c (MUST_SAVE_REGISTER): Replace call_used_regs
3274         with call_really_used_regs.
3275
3276 2004-10-08  Alan Modra  <amodra@bigpond.net.au>
3277
3278         * config/rs6000/sysv4.h (STARTFILE_LINUX_SPEC): Choose gcrt1.o
3279         for -profile as well as -p and -pg.
3280
3281 2004-10-07  Andrew Pinski  <pinskia@physics.uc.edu>
3282
3283         * libgcc2.c (__moddi3): Cast &w to UDWtype*.
3284
3285 2004-10-07  Kazu Hirata  <kazu@cs.umass.edu>
3286
3287         * tree-cfg.c (tree_block_forwards_to): Remove.
3288         * tree-flow.h: Remove the corresponding prototype.
3289
3290 2004-10-07  Kazu Hirata  <kazu@cs.umass.edu>
3291
3292         * tree-flow-inline.h (phi_nodes): Remove an unnecessary check
3293         for ENTRY_BLOCK_PTR and EXIT_BLOCK_PTR.
3294
3295 2004-10-07  Geoffrey Keating  <geoffk@apple.com>
3296
3297         Radar 3813796
3298         * config/rs6000/rs6000.c (rs6000_generate_compare): When
3299         flag_trapping_math is in effect, don't generate subtract
3300         instructions.
3301
3302 2004-10-07  Ulrich Weigand  <uweigand@de.ibm.com>
3303
3304         * config/s390/s390-protos.h (s390_narrow_logical_operator): Add.
3305         * config/s390/s390.c (s390_narrow_logical_operator): New function.
3306         (s390_extra_constraint_str): Add 'A' constraints.
3307         (s390_const_ok_for_constraint_p): Add 'Nx' constraints.
3308         * config/s390/s390.h (EXTRA_MEMORY_CONSTRAINT): Add 'A' constraint.
3309         (CONSTRAINT_LEN): Likewise.
3310         * config/s390/s390.md ("*anddi3"): Add NI alternative and splitter.
3311         ("*andsi3_zarch", "*andsi3_esa"): Likewise.
3312         ("*andhi3_zarch", "*andhi3_esa"): Likewise.
3313         ("*iordi3"): Add OI alternative and splitter.
3314         ("*iorsi3_zarch", "*iorsi3_esa"): Likewise.
3315         ("*iorhi3_zarch", "*iorhi3_esa"): Likewise.
3316         ("*xordi3"): Add XI alternative and splitter.
3317         ("*xorsi3", "*xorhi3"): Likewise.
3318
3319 2004-10-07  Richard Sandiford  <rsandifo@redhat.com>
3320
3321         * config/mips/mips.c (mips_function_rodata_section): New function.
3322         (TARGET_ASM_FUNCTION_RODATA_SECTION): Use it.
3323
3324 2004-10-07  Devang Patel  <dpatel@apple.com>
3325
3326         * rs6000/altivec.md (UNSPEC_VCMPBFP, UNSPEC_VCMPEQUB, UNSPEC_VCMPEQUH,
3327         UNSPEC_VCMPEQUW, UNSPEC_VCMPGEFP, UNSPEC_VCMPGTUB, UNSPEC_VCMPGTSB,
3328         UNSPEC_VCMPGTUH, UNSPEC_VCMPGTSH, UNSPEC_VCMPGTUW, UNSPEC_VCMPGTSW,
3329         UNSPEC_VCMPGTFP, UNSPEC_VSEL4SI, UNSPEC_VSEL4SF, UNSPEC_VSEL8HI,
3330         UNSPEC_VSEL16QI, UNSPEC_VCOND_V4SI, UNSPEC_VCOND_V4SF, UNSPEC_VCOND_V8HI,
3331         UNSPEC_VCOND_V16QI, UNSPEC_VCONDU_V4SI, UNSPEC_VCONDU_V8HI,
3332         UNSPEC_VCONDU_V16QI): New constant defines.
3333         (vcondv4si, vcondv4sf, vcondv8hi, vcondv16qi, vconduv4si, vconduv8hi,
3334         vconduv16qi): New patterns.
3335         * rs6000/rs6000-protos.h (rs6000_emit_vector_cond_expr): New function.
3336         * rs6000/rs6000.c (rs6000_emit_vector_cond_expr): New function.
3337         (get_vec_cmp_insn): Same.
3338         (get_vsel_insn): Same.
3339         (rs6000_emit_vector_compare): Same.
3340         (rs6000_emit_vector_select): Same.
3341         (INSN_NOT_AVAILABLE): New.
3342
3343 2004-10-07  Zdenek Dvorak  <dvorakz@suse.cz>
3344
3345         PR tree-optimization/17749
3346         * tree-tailcall.c (find_tail_calls): Check that parameter is
3347         a gimple_reg.
3348
3349 2004-10-07  Kazu Hirata  <kazu@cs.umass.edu>
3350
3351         * config/ia64/ia64.c: Fix a comment typo.
3352
3353 2004-10-07  Eric Botcazou  <ebotcazou@libertysurf.fr>
3354
3355         * doc/install.texi (*-*-solaris2*): Fix marker for URL.
3356
3357 2004-10-07  Giovanni Bajo  <giovannibajo@gcc.gnu.org>
3358
3359         PR c++/17115
3360         * tree-inline.c (expand_call_inline): Do not warn for functions
3361         marked with attribute noinline.
3362
3363 2004-10-07  Eric Botcazou  <ebotcazou@libertysurf.fr>
3364
3365         PR target/17862
3366         * config/sparc/sparc.c (sparc_output_mi_thunk): Set
3367         current_function_uses_only_leaf_regs as well as sparc_leaf_function_p.
3368
3369         * config/sparc/sparc.c (sparc_gimplify_va_arg): Pass 'false' instead
3370         of 0 as 4th argument to pass_by_reference.
3371         Call build_va_arg_indirect_ref instead of build_fold_indirect_ref.
3372
3373 2004-10-06  Eric Christopher  <echristo@redhat.com>
3374
3375         * config/sh/sh.c (sh_dwarf_calling_convention): Fix renesas dwarf
3376         attribute.
3377
3378 2004-10-07  Richard Sandiford  <rsandifo@redhat.com>
3379
3380         PR target/17770
3381         * config/mips/mips.md (mov_<load>l): Remove hazard=none attribute.
3382
3383 2004-10-07  Zdenek Dvorak  <dvorakz@suse.cz>
3384
3385         PR rtl-optimization/17791
3386         * loop-doloop.c (doloop_modify): Take number of iterations as
3387         argument.
3388         (doloop_optimize): Extend or shorten the number of iterations
3389         when changing mode of counter register.
3390         * loop-iv.c (lowpart_subreg): Export.
3391         * rtl.h (lowpart_subreg): Declare.
3392
3393 2004-10-07  Zdenek Dvorak  <dvorakz@suse.cz>
3394
3395         PR tree-optimization/17806
3396         * cfghooks.c (split_edge): Update IRREDUCIBLE_LOOP flags.
3397         * cfgloopmanip.c (loop_split_edge_with): Updating of IRREDUCIBLE_LOOP
3398         flags moved to split_edge.
3399
3400 2004-10-07  Eric Botcazou  <ebotcazou@libertysurf.fr>
3401
3402         PR middle-end/17835
3403         * expmed.c (expand_sdiv_pow2): Force a stack adjustment
3404         before tentatively building the conditional move sequence.
3405
3406 2004-10-07  Richard Sandiford  <rsandifo@redhat.com>
3407
3408         PR target/16815
3409         * function.c (assign_parm_setup_block_p): Tighten BLOCK_REG_PADDING
3410         check.
3411         * config/pa/pa.h (BLOCK_REG_PADDING): Define in terms of
3412         function_arg_padding.
3413
3414 2004-10-07  Richard Sandiford  <rsandifo@redhat.com>
3415
3416         PR bootstrap/17857
3417         * Makefile.in (stmp-fixproto): Pass FIX_HEADER=build/... to fixproto.
3418
3419 2004-10-07  Kazu Hirata  <kazu@cs.umass.edu>
3420
3421         * hooks.c (hook_int_void_1, hook_void_int): Remove.
3422         * hooks.h: Remove the corresponding prototypes.
3423
3424 2004-10-06  Andrew Pinski  <pinskia@physics.uc.edu>
3425
3426         PR middle-end/17849
3427         * tree-nested.c (walk_stmt_info): Add changed field.
3428         (convert_nonlocal_reference): Set changed to when we
3429         change a decl to unnested decl.
3430         <case ADDR_EXPR>: Instead of checking if the immediate part
3431         of the ADDR_EXPR changed, check the field changed.
3432         Use recompute_tree_invarant_for_addr_expr instead of unsetting
3433         TREE_INVARIANT.
3434         (convert_local_reference):  Set changed to when we
3435         change a decl to unnested decl.
3436         <case ADDR_EXPR>: Instead of checking if the immediate part
3437         of the ADDR_EXPR changed, check the field changed.
3438         Also call recompute_tree_invarant_for_addr_expr on the ADDR_EXPR.
3439
3440 2004-10-06  Kazu Hirata  <kazu@cs.umass.edu>
3441
3442         * defaults.h (DWARF2_GENERATE_TEXT_SECTION_LABEL): Remove.
3443         * dwarf2out.c (dwarf2out_init): Remove references to
3444         DWARF2_GENERATE_TEXT_SECTION_LABEL.
3445         * system.h: Poison DWARF2_GENERATE_TEXT_SECTION_LABEL.
3446         * doc/tm.texi (DWARF2_GENERATE_TEXT_SECTION_LABEL): Remove.
3447
3448 2004-10-06  Joseph S. Myers  <jsm@polyomino.org.uk>
3449
3450         * c-typeck.c (convert_arguments): Take expression for called
3451         function rather than its name.  Handle ObjC selectors directly
3452         rather than relying on warn_for_assignment to do so.  Call warning
3453         directly rather than warn_for_assignment.  Use %qE in diagnostics.
3454         Say "argument" rather than "arg" in diagnostics.
3455         (build_function_call): Update call to convert_arguments.
3456
3457 2004-10-06  Andrew Pinski  <pinskia@physics.uc.edu>
3458
3459         PR debug/17787
3460         * dbxout.c (dbxout_symbol): Really handle RECORD, UNION, and
3461         ENUMs specially instead of just saying we do.
3462
3463 2004-10-06  Eric Christopher  <echristo@redhat.com>
3464
3465         * dwarf2.h: Sync with include/elf/dwarf2.h
3466
3467 2004-10-06  Daniel Berlin  <dberlin@dberlin.org>
3468
3469         * tree-pretty-print.c (dump_generic_node): Fix printing of BINFO
3470         and TREE_VEC nodes.
3471
3472 2004-10-06  Daniel Berlin  <dberlin@dberlin.org>
3473
3474         * lambda-code.c (lambda_loopnest_to_gcc_loopnest): Convert
3475         to use FOR_EACH_SSA_USE_OPERAND iterator, and propagate_value.
3476
3477 2004-10-06  Daniel Berlin  <dberlin@dberlin.org>
3478
3479         * lambda-code.c (compute_nest_using_fourier_motzkin): New
3480         function.
3481         (lambda_compute_auxillary_space): Split from here.
3482
3483 2004-10-06  Daniel Berlin  <dberlin@dberlin.org>
3484
3485         * tree-ssa-loop-ivopts.c (expr_invariant_in_loop): Make non-static.
3486         * tree-flow.h: Add prototype.
3487         * lambda-code.c (invariant_in_loop_and_outer_loops): Use
3488         expr_invariant_in_loop.
3489
3490 2004-10-06  Kazu Hirata  <kazu@cs.umass.edu>
3491
3492         * tree-cfg.c (thread_jumps): Remove a duplicate check for
3493         EXIT_BLOCK_PTR.
3494
3495 2004-10-06  Ulrich Weigand  <uweigand@de.ibm.com>
3496
3497         * config/s390/s390-protos.h (s_imm_operand): Remove.
3498         (s390_pool_operand): Add prototype.
3499         * config/s390/s390.c (general_s_operand): Remove.
3500         (s_imm_operand): Remove.
3501         (s_operand): Merge contents of general_s_operand.
3502         (s390_pool_operand): New function.
3503         * config/s390/s390.h (PREDICATE_CODES): Remove s_imm_operand.
3504         * config/s390/s390.md ("*cmpdi_cct", "*cmpsi_cct"): New insns.
3505         ("*cmpdi_ccu"): Merge Q->Q alternative.
3506         ("*cmpsi_ccu", "*cmphi_ccu"): Likewise.
3507         ("*cmpqi_ccu"): Merge Q->Q, n->Q, n->S alternatives.
3508         ("*cli"): Remove.
3509         ("*cmpdi_ccu_mem", "*cmpsi_ccu_mem"): Likewise.
3510         ("*cmphi_ccu_mem", "*cmpqi_ccu_mem"): Likewise.
3511         ("*movstricthi"): Use memory_operand instead of s_imm_operand.
3512
3513 2004-10-06  Steve Ellcey  <sje@cup.hp.com>
3514
3515         * config/ia64/ia64.h (FUNCTION_ARG_BOUNDARY): Change macro to
3516         call ia64_function_arg_boundary.
3517         * config/ia64/ia64-protos.h (ia64_function_arg_boundary): New.
3518         * config/ia64/ia64.c (ia64_function_arg_boundary): New.
3519         (ia64_function_arg_advance): Do not put 128 bit floats into
3520         FP registers.
3521
3522 2004-10-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3523
3524         * builtins.c (expand_builtin_strcpy): Delete duplicate code.
3525         Accept an expression instead of an arglist.
3526         (expand_builtin_stpcpy): Accept an expression instead of an
3527         arglist.
3528
3529 2004-10-06  Eric Botcazou  <ebotcazou@libertysurf.fr>
3530
3531         PR target/16007
3532         * doc/install.texi (*-*-solaris2*): Mention potential problem
3533         with Sun assembler + GNU linker and C++ programs.
3534         Document status of binutils 2.15 release.
3535
3536 2004-10-06  Jan Hubicka  <jh@suse.cz>
3537
3538         * cse.c (cse_main): Kill push/pop context.
3539
3540 2004-10-05  Zack Weinberg  <zack@codesourcery.com>
3541
3542         * pretty-print.c: Include tree.h.
3543         (pp_base_prepare_to_format): New function, logic from
3544         text_specifies_location.
3545         (pp_base_format_text): Use gcc_assert.
3546         * pretty-print.h (pp_prepare_to_format): New macro.
3547         (pp_base_prepare_to_format): Prototype.
3548         * diagnostic.c (text_specifies_location): Delete.
3549         (bug_report_request): Delete.
3550         (diagnostic_set_info): Don't call text_specifies_location.
3551         (diagnostic_action_after_output): Put text from
3552         bug_report_request inline here.  Use gcc_unreachable.
3553         (diagnostic_report_current_function): Fix comment.
3554         (diagnostic_report_diagnostic): Clarify logic for error recursion.
3555         Call pp_prepare_to_format before diagnostic_starter.
3556         (trim_filename): Use IS_DIR_SEPARATOR.
3557         (fatal_error, internal_error): Use gcc_unreachable.
3558         (error_recursion): Call diagnostic_action_after_output to
3559         issue the bug_report_request message and exit.
3560         * Makefile.in (diagnostic.o, pretty-print.o): Update dependencies.
3561
3562         * c-parse.in: Add list of diagnostic messages to insulate
3563         translation template from version of yacc/bison used to
3564         compile the grammar.
3565
3566 2004-10-06  Alan Modra  <amodra@bigpond.net.au>
3567
3568         PR 16406
3569         * doc/tm.texi (USE_LD_AS_NEEDED, LINK_EH_SPEC): Document.
3570
3571 2004-10-05  Kazu Hirata  <kazu@cs.umass.edu>
3572
3573         * basic-block.h: Remove the prototype for
3574         flow_preorder_transversal_compute.
3575         * cfganal.c (dfst_node): Remove.
3576         (flow_preorder_transversal_compute): Likewise.
3577         * rtl.h: Remove the prototype for get_jump_table_offset.
3578         * rtlanal.c (get_jump_table_offset): Remove.
3579
3580 2004-10-05  Richard Henderson  <rth@redhat.com>
3581
3582         PR 17756
3583         * tree-ssa-operands.c (get_expr_operands): Handle CONST_DECL.
3584
3585 2004-10-05  Kelley Cook  <kcook@gcc.gnu.org>
3586
3587         PR bootstrap/17817
3588         * Makefile.in: Stage the build directory too.
3589
3590 2004-10-05  Aldy Hernandez  <aldyh@redhat.com>
3591
3592         * config/frv/frv.h (LEGITIMIZE_ADDRESS): New.
3593
3594         * config/frv/frv-protos.h (frv_legitimize_address): Protoize.
3595         (frv_emit_move): Same.
3596
3597         * config/frv/frv.c (frv_emit_move): New.
3598         (frv_legitimize_address): New.
3599
3600         * config/frv/frv.md ("movsi"): Call frv_emit_move.
3601         ("movqi"): Same.
3602         ("movhi"): Same.
3603         ("movdi"): Same.
3604         ("movsf"): Same.
3605         ("movdf"): Same.
3606
3607 2004-10-05  Joseph S. Myers  <jsm@polyomino.org.uk>
3608
3609         * c-decl.c (declspecs_add_type): Don't pedwarn for _Complex in
3610         system headers.
3611
3612 2004-10-05  Joseph S. Myers  <jsm@polyomino.org.uk>
3613
3614         * c-decl.c (pushdecl): When an extern declaration at block scope
3615         refers to a visible entity with internal linkage, use the old DECL
3616         rather than the new one.
3617
3618 2004-10-05  Kazu Hirata  <kazu@cs.umass.edu>
3619
3620         * tree-cfg.c (cleanup_tree_cfg): Remove extra parentheses in
3621         comments.
3622
3623 2004-10-05  Kazu Hirata  <kazu@cs.umass.edu>
3624
3625         * tree-cfg.c (thread_jumps): Remove a duplicate check for
3626         an infinite loop.
3627
3628 2004-10-05  Kazu Hirata  <kazu@cs.umass.edu>
3629
3630         * tree-cfg.c (thread_jumps): Iterate with FOR_EACH_BB instead
3631         of FOR_BB_BETWEEN.  Remove a useless check for unreachable
3632         blocks.
3633
3634 2004-10-05  Kazu Hirata  <kazu@cs.umass.edu>
3635
3636         * tree-cfg.c (cleanup_tree_cfg): Don't call
3637         delete_unreachable_blosk() after thread_jumps().
3638         (thread_jumps): Always remove basic blocks as they become
3639         unreachable.
3640
3641 2004-10-05  Kazu Hirata  <kazu@cs.umass.edu>
3642
3643         * tree-cfg.c (cleanup_tree_cfg): Remove variable
3644         something_changed.  Simplify the while loop.
3645
3646 2004-10-05  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3647
3648         * builtins.c (expand_builtin_memmove): Delete duplicate code
3649         and accept a tree type for the result.
3650         (expand_builtin_bcopy): Accept a tree type for the result.
3651         (fold_builtin_memmove): Accept an arglist and tree type for
3652         the result.
3653
3654 2004-10-05  Ulrich Weigand  <uweigand@de.ibm.com>
3655
3656         * config/s390/s390.c (s390_dump_pool): Remove return value.
3657         Use gen_pool_align, gen_pool_section_start/end instead of
3658         gen_pool_start/end_31/64.
3659         * config/s390/s390.md (UNSPECV_POOL_START, UNSPECV_POOL_END): Remove.
3660         (UNSPECV_POOL_SECTION, UNSPECV_POOL_ALIGN): New constants.
3661         ("pool_start_31", "pool_end_31"): Remove.
3662         ("pool_start_64", "pool_end_64"): Likewise.
3663         ("pool_align", "pool_section_start", "pool_section_end": New insns.
3664
3665         * config/s390/s390.c (s390_cannot_copy_insn_p): New function.
3666         (TARGET_CANNOT_COPY_INSN_P): Define.
3667         (s390_cannot_force_const_mem): Handle UNSPEC_INSN.
3668         (struct constant_pool): New member 'execute'.
3669         (s390_add_execute, s390_find_execute): New functions.
3670         (s390_execute_label, s390_execute_target): Likewise.
3671         (s390_dump_pool): Output in-pool execute target templates.
3672         (s390_dump_execute): New function.
3673         (s390_alloc_pool, s390_free_pool): Handle execute templates.
3674         (s390_mainpool_start, s390_mainpool_finish): Likewise.
3675         (s390_chunkify_start, s390_chunkify_finish): Likewise.
3676         * config/s390/s390.md (UNSPEC_INSN, UNSPEC_EXECUTE): New constants.
3677         ("*execute"): New insn pattern.
3678         ("movmem_short", "*movmem_short"): Use splitters to generate
3679         explicit execute pattern, remove embedded execute.
3680         ("clrmem_short", "*clrmem_short"): Likewise.
3681         ("cmpmem_short", "*cmpmem_short"): Likewise.
3682
3683 2004-10-05  Daniel Berlin  <dberlin@dberlin.org>
3684
3685         * tree-ssa.c (verify_ssa): Verify phi arguments only
3686         contain renamed names.
3687
3688 2004-10-05  Alan Modra  <amodra@bigpond.net.au>
3689
3690         * config/rs6000/linux.h: Formatting, whitespace.
3691         * config/rs6000/linux64.h: Likewise.
3692         * config/rs6000/rs6000-protos.h: Likewise.
3693         * config/rs6000/rs6000.c: Likewise.
3694         (easy_vector_splat_const): Add fall thru comments.
3695         (output_vec_const_move): Likewise.
3696
3697 2004-10-05  Kelley Cook  <kcook@gcc.gnu.org>
3698
3699         * Makefile.in: Update -Wno-error exceptions for move to build dir.
3700
3701 2004-10-05  Chao-Ying Fu  <fu@mips.com>
3702             Richard Sandiford  <rsandifo@redhat.com>
3703
3704         * doc/invoke.texi (-mpaired-single): Link to the new description of the
3705         built-in functions.  Document dependencies.
3706         (-mips3d): Add link here too.
3707         * doc/extend.texi (MIPS Paired-Single Support): New section.
3708
3709 2004-10-04  Chao-ying Fu  <fu@mips.com>
3710
3711         * config/mips/mips.h (UNITS_PER_SIMD_WORD): Define.
3712
3713 2004-10-04  Diego Novillo  <dnovillo@redhat.com>
3714
3715         * tree-ssa-dom.c (tree_ssa_dominator_optimize):
3716         Initialize OPT_STATS to 0.
3717
3718 2004-10-04  Kazu Hirata  <kazu@cs.umass.edu>
3719
3720         * tree-data-ref.c: Fix comment typos.
3721
3722 2004-10-04  Sebastian Pop  <pop@cri.ensmp.fr>
3723
3724         * tree-data-ref.c (array_base_name_differ_p): Fix comments.  When
3725         the predicate cannot be computed, don't initialize the result to
3726         false.
3727
3728 2004-10-01  Eric Christopher  <echristo@redhat.com>
3729
3730         * dwarf2.h (dwarf_calling_convention): Add GNU prefix to
3731         locally defined enum.
3732         * dwarf2out.c (add_calling_convention_attribute): Don't
3733         emit DW_CC_normal.
3734
3735 2004-10-03  Andrew Pinski  <pinskia@physics.uc.edu>
3736
3737         PR c/17178, PR c/17820
3738         * c-decl.c (pop_scope): Do not warn about unused static
3739         variables as they warned in the middle-end.
3740
3741 2004-10-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3742
3743         * builtins.c (expand_builtin_memcpy): Delete duplicate code
3744         and make the first parameter the expression not the arglist.
3745
3746 2004-10-03  Ulrich Weigand  <uweigand@de.ibm.com>
3747
3748         * expr.c (expand_expr_addr_expr): Only accept Pmode or ptr_mode
3749         as valid modes to expand address expressions.
3750
3751 2004-10-03  Joseph S. Myers  <jsm@polyomino.org.uk>
3752
3753         * c-aux-info.c, c-common.c, c-common.h, c-cppbuiltin.c, c-decl.c,
3754         c-format.c, c-incpath.c, c-lex.c, c-objc-common.c, c-opts.c,
3755         c-parse.in, c-pch.c, c-ppoutput.c, c-pragma.c, c-typeck.c: Follow
3756         code formatting conventions.
3757
3758 2004-10-03  Richard Sandiford  <rsandifo@redhat.com>
3759
3760         * config/mips/mips.md (<u>mulsidi3_32bit_r4000): Fix unsigned case.
3761
3762 2004-10-03  Kazu Hirata  <kazu@cs.umass.edu>
3763
3764         PR tree-optimization/16632
3765         * fold-const.c (fold) [EQ_EXPR]: When seeing if D & ~C != 0 to
3766         fold (A & C) == D into 0, fold ~C.  Similarly, for the case
3767         where | is used instead of &.
3768
3769 2004-10-03  Kazu Hirata  <kazu@cs.umass.edu>
3770
3771         * ginclude/stddef.h: Fix a comment typo.
3772
3773 2004-10-03  Eric Botcazou  <ebotcazou@libertysurf.fr>
3774
3775         PR target/17443
3776         * config.gcc (i?86-*-solaris2*): Restore correct logic
3777         for --enable-threads option.
3778         (sparc64-*-solaris2*): Likewise.
3779         (sparc-*-solaris2*): Likewise.
3780
3781 2004-10-03  Alan Modra  <amodra@bigpond.net.au>
3782
3783         * config/rs6000/linux.h (TARGET_C99_FUNCTIONS): Define.
3784         (OS_MISSING_POWERPC64): Move, and comment.
3785         * config/rs6000/linux64.h (TARGET_C99_FUNCTIONS): Define.
3786         (OS_MISSING_POWERPC64): Move, and comment.
3787
3788 2004-10-02  Ian Lance Taylor  <ian@wasabisystems.com>
3789
3790         * arm.c (output_call_mem): Add missing \t.
3791
3792 2004-10-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3793
3794         * builtins.c (expand_builtin_memcmp, expand_builtin_strcmp,
3795         expand_builtin_strncmp): Delete duplicate code.
3796
3797 2004-10-02  Frank Ch. Eigler  <fche@redhat.com>
3798
3799         * tree-mudflap.c (mf_build_check_statement_for): Reorganize to
3800         take check-base and -limit arguments.
3801         (mf_xform_derefs_1): Reorganize slightly to pass proper base/limit
3802         check ranges for ARRAY_REF and COMPONENT_REF.
3803         (execute_mudflap_fnction_ops, ..._decls): Limit unnecessary
3804         instrumentation.
3805
3806 2004-10-02  Joseph S. Myers  <jsm@polyomino.org.uk>
3807
3808         * c-objc-common.c (c_tree_printer): Correct description of %E.
3809         Don't fall through after printing an expression.
3810
3811 2004-10-02  Kazu Hirata  <kazu@cs.umass.edu>
3812
3813         * tree-cfg.c, config/s390/tpf-unwind.h: Fix comment typos.
3814
3815 2004-10-02  Kazu Hirata  <kazu@cs.umass.edu>
3816
3817         * tree-cfg.c (cleanup_tree_cfg): Speed up by calling
3818         delete_unrechable_blocks() only when necessary.
3819
3820 2004-10-02  P.J. Darcy  <darcypj@us.ibm.com>
3821
3822         * gthr-tpf.h (__gthread_recursive_mutex_t): New type.
3823         (__GTHREAD_RECURSIVE_MUTEX_INIT): Define.
3824         (__gthread_recursive_mutex_lock, __gthread_recursive_mutex_trylock,
3825         __gthread_recursive_mutex_unlock): New functions.
3826
3827 2004-10-02  P.J. Darcy  <darcypj@us.ibm.com>
3828
3829         * config/s390/t-tpf (LIB2ADDEH): Remove tpf-eh.c.
3830         * config/s390/tpf-eh.c: Remove file.
3831         * config/s390/tpf-unwind.h: New file.
3832         * config/s390/tpf.h (MD_FALLBACK_FRAME_STATE_FOR): Remove.
3833         (MD_UNWIND_SUPPORT): Define.
3834
3835 2004-10-02  Joseph S. Myers  <jsm@polyomino.org.uk>
3836
3837         * c-typeck.c (warn_for_assignment): Don't permit argnum == 0.
3838
3839 2004-10-01  Ulrich Weigand  <uweigand@de.ibm.com>
3840
3841         * config/s390/s390-protos.h (s390_comparison): Add prototype.
3842         * config/s390/s390.c (s390_comparison): New function.
3843         (s390_branch_condition_mask): Return -1 for invalid comparisons.
3844         (s390_branch_condition_mnemonic): Assert valid comparison.
3845         * config/s390/s390.h (PREDICATE_CODES): Add s390_comparison.
3846         * config/s390/s390.md ("*cjump_64", "*cjump_31", "*cjump_long",
3847         "*icjump_64", "*icjump_31", "*icjump_long", "*trap"): Use
3848         s390_comparison instead of comparison_operator.
3849
3850         * config/s390/s390.md (UNSPEC_CMPINT): New constant.
3851         ("cmpmemdi"): Remove.
3852         ("cmpmem_short", "*cmpmem_short"): Use CCUmode instead of CCSmode.
3853         ("cmpmem_long", "*cmpmem_long_64", "*cmpmem_long_31"): Likewise.
3854         ("cmpint_si"): Rename to ...
3855         ("*cmpint_si"): ... this.  Use UNSPEC_CMPINT.
3856         ("cmpint_di", "*cmpint_di"): Likewise.
3857         * config/s390/s390.c (s390_canonicalize_comparison): Remove
3858         redundant UNSPEC_CMPINT conversions.
3859         (s390_expand_cmpmem): Adapt to cmpint pattern changes.
3860
3861 2004-10-01  Kazu Hirata  <kazu@cs.umass.edu>
3862
3863         * collect2.c (COLLECT_PARSE_FLAG): Remove.
3864         (main): Remove a reference to COLLECT_PARSE_FLAG
3865         * system.h: Poison COLLECT_PARSE_FLAG.
3866         * doc/tm.texi (COLLECT_PARSE_FLAG): Remove.
3867
3868 2004-10-01  Paul Brook  <paul@codesourcery.com>
3869
3870         * config/arm/crti.asm: Give _init and _fini function type.
3871
3872 2004-10-01  Zdenek Dvorak  <dvorakz@suse.cz>
3873
3874         * common.opt (ftree-loop-ivcanon): Enable by default.
3875         * tree-ssa-loop-ivcanon.c (try_unroll_loop_completely):
3876         Enable complete loop unrolling.
3877         (canonicalize_induction_variables, tree_unroll_loops_completely):
3878         Reset scev info.
3879
3880 2004-10-01  Paul Brook  <paul@codesourcery.com>
3881
3882         * config/arm/arm.c (thumb_compute_saved_rag_mask): Or with bitmask,
3883         not register number.
3884         (thumb_find_work_register): Search full register range.
3885
3886 2004-10-01  Andrew Pinski  <pinskia@physics.uc.edu>
3887
3888         PR tree-opt/17343
3889         * tree-cfg.c (group_case_labels): Get the label and not
3890         the case expr for the default case.
3891         When the label we looking at is the default, decrement the
3892         new_size.
3893
3894 2004-10-01  Jan Hubicka  <jh@suse.cz>
3895
3896         * c-decl.c (c_expand_body): Update call tree_rest_of_compilation.
3897         * cgraphunit.c (cgraph_build_static_cdtor): Likewise.
3898         * toplev.h (tree_rest_of_compilation): Update prototype.
3899         * tree-optimize.c (tree_rest_of_compilation):  Kill nested_p argument.
3900
3901 2004-10-01  Kazu Hirata  <kazu@cs.umass.edu>
3902
3903         * tree-cfg.c (cleanup_tree_cfg): Pull a call to
3904         cleanup_control_flow() out of the while loop.
3905
3906 2004-10-01  Paolo Bonzini  <bonzini@gnu.org>
3907
3908         * tree-vectorizer.c (vectorizable_operation): Fail unless
3909         the mode for the vector type is indeed a vector mode.
3910
3911 2004-10-01  Zdenek Dvorak  <dvorakz@suse.cz>
3912
3913         * tree-chrec.c (chrec_fold_plus_poly_poly, chrec_fold_plus_1,
3914         chrec_fold_multiply): Use fold_convert or build_int_cst_type instead
3915         of convert.
3916         * tree-scalar-evolution.c (compute_overall_effect_of_inner_loop,
3917         add_to_evolution, set_nb_iterations_in_loop, follow_ssa_edge_in_rhs,
3918         follow_ssa_edge_in_rhs): Ditto.
3919         * tree-ssa-loop-ivopts.c (struct iv): Add base_object field.
3920         (dump_iv): Dump base_object.
3921         (dump_use, dump_cand): Use dump_iv.
3922         (determine_base_object): New function.
3923         (alloc_iv): Initialize base_object field.
3924         (record_use): Clear the ssa_name field of iv.
3925         (get_computation_cost_at): Do not use difference of addresses of
3926         two different objects.
3927         (may_eliminate_iv): Do not require the loop to have just single exit.
3928         * tree-ssa-loop-niter.c (zero_p): Do not check for overflows.
3929         (nonzero_p): New function.
3930         (inverse, number_of_iterations_cond, simplify_using_outer_evolutions,
3931         tree_simplify_using_condition, simplify_using_initial_conditions,
3932         loop_niter_by_eval, find_loop_niter_by_eval,
3933         estimate_numbers_of_iterations_loop, compare_trees,
3934         upper_bound_in_type, lower_bound_in_type,
3935         can_count_iv_in_wider_type_bound): Use buildN instead of build.  Use
3936         fold_convert or build_int_cst_type instead of convert.  Use (non)zero_p
3937         instead of integer_(non)zerop.
3938
3939 2004-10-01  Jakub Jelinek  <jakub@redhat.com>
3940
3941         Revert
3942         2004-09-29  Jakub Jelinek  <jakub@redhat.com>
3943
3944         * tree.h (enum tree_index): Add TI_VA_LIST_GPR_COUNTER_FIELD
3945         and TI_VA_LIST_FPR_COUNTER_FIELD.
3946         (va_list_gpr_counter_field, va_list_fpr_counter_field): Define.
3947         * tree-pass.h (pass_stdarg): Add.
3948         * tree-optimize.c (init_tree_optimization_passes): Add pass_stdarg.
3949         * tree-stdarg.c: New file.
3950         * Makefile.in (OBJS-common): Add tree-stdarg.o.
3951         (tree-stdarg.o): Add dependencies.
3952         * function.h (struct function): Add va_list_gpr_size and
3953         va_list_fpr_size fields.
3954         * function.c (allocate_struct_function): Initialize them.
3955
3956         * config/i386/i386.c (ix86_build_builtin_va_list): Initialize
3957         va_list_{g,f}pr_counter_field.
3958         (ix86_setup_incoming_varargs): Don't do anything if reg_save
3959         area will not be used.  Only save registers that tree-stdarg.c
3960         detected they need saving.
3961         (ix86_va_start): Don't set up fields that won't be used.
3962
3963         * config/rs6000/rs6000.c (rs6000_build_builtin_va_list): Initialize
3964         va_list_{g,f}pr_counter_field.
3965         (setup_incoming_varargs): Don't do anything if reg_save
3966         area will not be used.  Only save registers that tree-stdarg.c
3967         detected they need saving.
3968         (rs6000_va_start): Don't set up fields that won't be used.
3969
3970 2004-09-30  Eric Christopher  <echristo@redhat.com>
3971
3972         * dwarf2.h (dwarf_calling_convention): Add enum for renesas
3973         sh abi.
3974         * dwarf2out.c (add_calling_convention_attribute): New function.
3975         (gen_subroutine_type_die): Use.
3976         * target-def.h (TARGET_DWARF_CALLING_CONVENTION): New hook.
3977         * target.h (gcc_target): Add dwarf_calling_convention.
3978         * hooks.c (hook_int_tree_0): New function.
3979         * hooks.h: Prototype.
3980         * config/sh/sh.c: Include dwarf2.h.
3981         (sh_dwarf_calling_convention): New function.
3982         (TARGET_DWARF_CALLING_CONVENTION): Use.
3983         * doc/tm.texi (TARGET_DWARF_CALLING_CONVENTION): Document.
3984
3985 2004-09-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3986
3987         * builtins.c (expand_builtin_strstr, expand_builtin_strchr,
3988         expand_builtin_strrchr, expand_builtin_strpbrk,
3989         expand_builtin_strncat, expand_builtin_strspn,
3990         expand_builtin_strcspn, expand_builtin_fputs): Eliminate duplicate
3991         code.
3992
3993 2004-09-30  Ulrich Weigand  <uweigand@de.ibm.com>
3994
3995         * config/s390/s390-protos.h (s390_expand_logical_operator): Add
3996         prototype.
3997         (s390_logical_operator_ok_p): Likewise.
3998         * config/s390/s390.c (s390_expand_logical_operator): New function.
3999         (s390_logical_operator_ok_p): Likewise.
4000         * config/s390/s390.md ("anddi3"): New expander.
4001         ("*anddi3"): Rename from old anddi3 pattern, add Q->Q alternative.
4002         ("*anddi3_ss", "*anddi3_ss_inv"): Remove.
4003         ("andsi3"): Use s390_expand_logical_operator.
4004         ("*andsi3_esa", "*andsi3_zarch"): Add Q->Q alternative.
4005         ("*andsi3_ss", "*andsi3_ss_inv"): Remove.
4006         ("andhi3"): New expander.
4007         ("*andhi3_zarch", "*andhi3_esa"): New patterns.
4008         ("andhi3", "*andhi3_ni", "*andhi3_ss", "*andhi3_ss_inv"): Remove.
4009         ("andqi3"): New expander.
4010         ("*andqi3_zarch", "*andqi3_esa"): New patterns.
4011         ("andqi3", "*andqi3_ni", "*andqi3_ss", "*andqi3_ss_inv"): Remove.
4012         ("iordi3"): New expander.
4013         ("*iordi3"): Rename from old iordi3 pattern, add Q->Q alternative.
4014         ("*iordi3_ss", "*iordi3_ss_inv"): Remove.
4015         ("iorsi3"): Use s390_expand_logical_operator.
4016         ("*iorsi3_esa", "*iorsi3_zarch"): Add Q->Q alternative.
4017         ("*iorsi3_ss", "*iorsi3_ss_inv"): Remove.
4018         ("iorhi3"): New expiorer.
4019         ("*iorhi3_zarch", "*iorhi3_esa"): New patterns.
4020         ("iorhi3", "*iorhi3_ni", "*iorhi3_ss", "*iorhi3_ss_inv"): Remove.
4021         ("iorqi3"): New expiorer.
4022         ("*iorqi3_zarch", "*iorqi3_esa"): New patterns.
4023         ("iorqi3", "*iorqi3_ni", "*iorqi3_ss", "*iorqi3_ss_inv"): Remove.
4024         ("xordi3"): New expander.
4025         ("*xordi3"): Rename from old xordi3 pattern, add Q->Q alternative.
4026         ("*xordi3_ss", "*xordi3_ss_inv"): Remove.
4027         ("xorsi3"): New expander.
4028         ("*xorsi3"): Rename from old xorsi3 pattern, add Q->Q alternative.
4029         ("*xorsi3_ss", "*xorsi3_ss_inv"): Remove.
4030         ("xorhi3"): New expander.
4031         ("*xorqi3"): Rename from old xorhi3 pattern, add Q->Q alternative.
4032         ("*xorhi3_ss", "*xorhi3_ss_inv"): Remove.
4033         ("xorqi3"): New expander.
4034         ("*xorqi3"): Rename from old xorqi3 pattern, add Q->Q alternative.
4035         ("*xorqi3_ss", "*xorqi3_ss_inv"): Remove.
4036
4037 2004-09-30  Roger Sayle  <roger@eyesopen.com>
4038
4039         * combine.c (force_to_mode) <NE_EXPR>: Only convert the expression
4040         (AND (NE FOO 0) CONST) into (AND FOO CONST) if FOO has the same
4041         machine mode as the result.
4042
4043 2004-09-30  Ben Elliston  <bje@au.ibm.com>
4044
4045         PR bootstrap/17761
4046         * lcm.c (optimize_mode_switching): Update to use EDGE_SUCC and
4047         FOR_EACH_EDGE macros.
4048
4049 2004-09-30  Joseph S. Myers  <jsm@polyomino.org.uk>
4050
4051         * c-tree.h (readonly_error): Remove.
4052         * c-typeck (enum lvalue_use): New.
4053         (lvalue_or_else, readonly_error): Use it.  All callers changed.
4054         (readonly_error): Make static.
4055
4056 2004-09-30  Jan Hubicka  <jh@suse.cz>
4057
4058         PR debug/13974
4059         * cfgrtl.c (try_redirect_by_replacing_jump,
4060         force_nonfallthru_and_redirect, commit_one_edge_insertion,
4061         cfg_layout_merge_blocks):  Do not attach any line number information
4062         to newly inserted instructions.
4063         * emit-rtl.c (emit_insn*_before, emit_insn*_after): Rename to
4064         emit_insn_*_noloc.
4065         (emit_*insn_before, emit_insn*_after): New.
4066         (emit_*insn_before_setloc, emit_*insn_after_setloc): Do not overwrite
4067         existing locators.
4068         * rtl.h (emit_*insn_before_noloc, emit_*insn_after_noloc): Declare.
4069         (emit_*insn_before_sameloc, emit_*insn_after_sameloc): Kill.
4070
4071 2004-09-30  Ulrich Weigand  <uweigand@de.ibm.com>
4072
4073         * config/s390/s390-protos.h (s390_arg_frame_offset): Remove.
4074         (s390_return_address_offset): Remove.
4075         (s390_can_eliminate): Add prototype.
4076         (s390_initial_elimination_offset): Add prototype.
4077         * config/s390/s390.h (CAN_ELIMINATE): Call s390_can_eliminate.
4078         (INITIAL_ELIMINATION_OFFSET): Call s390_initial_elimination_offset.
4079         * config/s390/s390.c (s390_arg_frame_offset): Remove.
4080         (s390_return_address_offset): Remove.
4081         (s390_can_eliminate, s390_initial_elimination_offset): New functions.
4082         (struct machine_function): New member split_branches_pending_p.
4083         (s390_mainpool_start): Allow nonexistant pool insn for empty pool.
4084         (s390_mainpool_finish): Likewise.  Clear base_reg if pool empty.