OSDN Git Service

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