OSDN Git Service

PR rtl-optimization/18599
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2004-11-22  Kazu Hirata  <kazu@cs.umass.edu>
2
3         PR rtl-optimization/18599
4         * regrename.c (copyprop_hardreg_forward): Speed up by putting
5         BB_VISITED flags on basic blocks as we process them.
6
7 2004-11-22  Nathan Sidwell  <nathan@codesourcery.com>
8
9         * config/rs6000/altivec.md (VI_char): New mode attribute.
10         (addv16qi3, addv8hi3, addv4ai3): Replace with ...
11         (add<mode>3): ... this.
12         (subv16qi3, subv8hi3, subv4ai3): Replace with ...
13         (sub<mode>3): ... this.
14         (smaxv16qi3, smaxv8hi3, smaxv4ai3): Replace with ...
15         (smax<mode>3): ... this.
16         (sminv16qi3, sminv8hi3, sminv4ai3): Replace with ...
17         (smin<mode>3): ... this.
18         (umaxv16qi3, umaxv8hi3, umaxv4ai3): Replace with ...
19         (umax<mode>3): ... this.
20         (uminv16qi3, uminv8hi3, uminv4ai3): Replace with ...
21         (umin<mode>3): ... this.
22         (andv16qi3, andv8hi3, andv4ai3): Replace with ...
23         (and<mode>3): ... this.
24         (iorv16qi3, iorv8hi3, iorv4ai3): Replace with ...
25         (ior<mode>3): ... this.
26         (xorv16qi3, xorv8hi3, xorv4ai3): Replace with ...
27         (xor<mode>3): ... this.
28         (andv16qi3, andv8hi3, andv4ai3): Replace with ...
29         (and<mode>3): ... this.
30         (iorv16qi3, iorv8hi3, iorv4ai3): Replace with ...
31         (ior<mode>3): ... this.
32         (altivec_vnor): Replace with ...
33         (altivec_nor<mode>): ... this.
34         (one_cmplv16qi2, one_cmplv8hi2, one_complv4ai2): Replace with ...
35         (one_cmpl<mode>2): ... this.
36         (altivec_vandc): New expander.
37         (*andc<mode>3): New insn.
38         * config/rs6000/rs6000.c (bdesc_2arg): Adjust for new insn names.
39
40 2004-11-22  Dorit Naishlos  <dorit@il.ibm.com>
41
42         PR tree-opt/18536
43         * tree-vectorizer.c (make_loop_iterate_ntimes): Use type of niters when
44         creating iv instead of integer_type.
45         (vect_build_loop_niters): Remove redundant code.
46         (vect_transform_loop_bound): Removed (duplicates functionality of
47         make_loop_iterate_ntimes.
48         (vect_gen_niters_for_prolog_loop): Add documentation. Call
49         lang_hooks.types.type_for_size to create a type of the required size.
50         Use that type instead of integer_type. Remove redundant code.
51         (vect_update_niters_after_peeling): Use type of niters instead of
52         integer_type.
53         (vect_transform_loop): Unify handling of known and unknown loop bound
54         cases. Call make_loop_iterate_ntimes instead of 
55         vect_transform_loop_bound.
56
57 2004-11-22  Andrew Pinski  <pinskia@physics.uc.edu>
58
59         PR target/18217
60         * config/rs6000/t-darwin (LIB2FUNCS_EXTRA): Move darwin-fallback.c to
61         (LIB2ADDEH): Here.
62
63 2004-11-22  Dorit Naishlos  <dorit@il.ibm.com>
64
65         PR tree-opt/18544
66         * tree-vectorizer.c (vect_analyze_data_refs): Fail if memtag not found.
67
68 2004-11-22 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
69
70         * config.gcc: Use t-slibgcc-elf to build libgcc_s.so on
71         m32r*linux.
72         * config/m32r/t-linux (SHLIB_MAPFILES): Override to use
73         m32r/libgcc-glibc.ver.
74         * config/m32r/libgcc-glibc.ver: Add New file.
75
76 2004-11-22  Nathan Sidwell  <nathan@codesourcery.com>
77
78         * bitmap.h (struct bitmap_obstack): New obstack type.
79         (struct bitmap_head_def): Replace using_obstack with obstack
80         pointer.
81         (bitmap_default_obstack): New.
82         (bitmap_initialize): Make inline, does not do allocation.
83         (bitmap_release_memory): Remove.
84         (bitmap_obstack_initialize, bitmap_obstack_release): Declare.
85         (bitmap_obstack_alloc, bitmap_malloc_alloc, bitmap_gc_alloc,
86         bitmap_obstack_free, bitmap_malloc_free): Declare.
87         (BITMAP_OBSTACK_ALLOC, BITMAP_GGC_ALLOC, BITMAP_XMALLOC): Adjust.
88         (BITMAP_FREE): Replace with ...
89         (BITMAP_OBSTACK_FREE): ... this.
90         (BITMAP_XFREE): Adjust.
91         (BITMAP_INIT_ONCE): Remove.
92         * bitmap.c (bitmap_obstack, bitmap_obstack_init, bitmap_free: Remove.
93         (bitmap_default_obstack): New.
94         (bitmap_elem_to_freelist): Adjust.
95         (bitmap_element_allocate): Adjust. Break initialization into ...
96         (bitmap_obstack_initialize): ... here.
97         (bitmap_release_memory): Replace with ...
98         (bitmap_obstack_release): ... this.
99         (bitmap_obstack_alloc, bitmap_malloc_alloc, bitmap_gc_alloc,
100         bitmap_obstack_free, bitmap_malloc_free): New.
101         (bitmap_ior_and_compl, bitmap_ior_and_compl_into): Use
102         bitmap_initialize.
103         (bitmap_initialize): Move to bitmap.h.
104         * gengtype.c (open_base_files): Add obstack.h to ifiles.
105         * Makefile.in (BASIC_BLOCK_H, REGS_H): Add obstack.h.
106         * basic-block.h (INIT_REG_SET): Allocate from reg_obstack.
107         (INITIALIZE_REG_SET): Remove.
108         (FREE_REG_SET): Use BITMAP_OBSTACK_FREE.
109         (INIT_ONCE_REG_SET, MAX_REGNO_REG_SET): Remove.
110         (flow_obstack): Do not declare.
111         (reg_obstack): Declare.
112         * regs.h: Include obstack.h.
113         * tree-optimize.c (tree_rest_of_compilation): Initialize and
114         release bitmap obstack here.
115         * bb-reorder.c: #include regs, not basic-block.
116         (fix_crossing_conditional_branches): Allocate regsets from
117         reg_obstack.
118         * bt-load.c: Do not inlude bitmap.h, sbitmap.h, basic-block.h or
119         obstack.h.
120         * caller-save.c: Include regs.h earlier.
121         * cfg.c: Do not include basic-block.h or obstack.h.
122         (reg_obstack): Define.
123         * cfganal.c: Include obstack.h
124         * cfgcleanyp.c: Do not include basic-block.h. Include regs.h
125         earlier.
126         * cfglayout.c: Do not include obstack.h.
127         (flow_obstack): Remove declaration.
128         (cfg_layout_duplicate_bb): Use reg_obstack.
129         * cfgloop.c, cfgloopanal.c, cfgloopmanip.c: Include obstack.h.
130         * cfgrtl.c (rtl_split_block): Use reg_obstack.
131         (force_nonfallthru_and_redirect, rtl_split_edge): Likewise.
132         (safe_insert_insn_on_edge): Use OBSTACK_ALLOC_REG_SET, adjust.
133         (cfg_layout_split_edge): Use reg_obstack.
134         * cse.c: Include regs.h earlier.
135         * ddg.c: Do not include basic-block.h.
136         * dominance.c: Inlude obstack.h.
137         * flow.c (update_life_info): Use OBSTACK_ALLOC_REG_SET, adjust.
138         (calculate_global_regs_live): Likewise.
139         (allocate_bb_life_data): Use reg_obstack.
140         (init_propagate_block_info): Use OBSTACK_ALLOC_REGSET.
141         * global.c: Do not include basic-block.h.
142         (build_insn_chain): Use OBSTACK_ALLOC_REG_SET, adjust.
143         * graph.c: Include obstack.h.
144         * haifa-sched.c: Do not include basic-block.h.
145         * ifcvt.c: Use OBSTACK_ALLOC_REG_SET, adjust.
146         * local-alloc.c: Do not include basic-block.h.
147         * loop-init.c, loop-invariant.c: Include obstack.h.
148         * loop-iv.c: Likewise.
149         (simplify_using_initial_values): Use OBSTACK_ALLOC_REG_SET,
150         adjust.
151         * loop-unroll.c, loop-unswitch.c: Inlude obstack.h.
152         * modulo-sched.c: Do not include basic-block.h.
153         * passes.c (rest_of_handle_final): Do not call
154         regset_release_memory.
155         * ra-debug.c: Include regs.h earlier. Do not include
156         basic-block.h.
157         * recog.c (peephole2_optimize): Use OBSTACK_ALLOC_REG_SET, adjust.
158         * regclass.c (init_reg_sets): Do not call INIT_ONCE_REG_SET.
159         (allocate_reg_info): Do not call MAX_REGNO_REG_SET.
160         (regset_release_memory): Remove.
161         * resource.c: Do not include basic-block.h.
162         * rtlanal.c: Do not include basic-block.h.
163         * sbitmap.c: Include obstack.h.
164         * sched-deps.c: Do not include basic-block.h.
165         (reg_pending_sets_head, reg_pending_clobbers_head,
166         reg_pending_uses_head): Remove.
167         (init_deps_global): Use OBSTACK_ALLOC_REG_SET.
168         * sched-ebb.c: Do not include basic-block.h.
169         * sched-rgn.c: Likewise.
170         * tree-if-conv.c (get_loop_body_in_if_conv_order): Use
171         BITMAP_XFREE.
172         * tree-outof-ssa.c (perform_edge_inserts): Use BITMAP_XFREE.
173         * tree-sra.c (decide_instantiations): Adjust bitmap
174         initialization.
175         * tree-ssa-dce.c: Include obstack.h.
176         * tree-ssa-pre.c (grand_bitmap_obstack): Make a bitmap_obstack.
177         (value_insert_into_set_bitmap): Remove useless bitmap_clear.
178         (bitmap_set_new): Likewise.
179         (init_pre): Initialize bitmap obstack.
180         (fini_pre): Release bitmap obstack.
181         * tree-ssanames.c (ssa_names_to_rewrite): Make static.
182         (marked_for_rewrite_p): ssa_names_to_rewrite is never NULL.
183         (mark_for_rewrite, unmark_for_rewrite): Likewise.
184         (marked_ssa_names): Likewise.
185         (init_ssanames): Use BITMAP_XMALLOC.
186         (fini_ssanames): Use BITMAP_XFREE.
187         * web.c: Include obstack.h
188
189 2004-11-22  Nick Clifton  <nickc@redhat.com>
190
191         * sbitmap.c (sbitmap_union_of_preds): Set 'e' to the next edge
192         predecessor in the first for-loop.
193
194 2004-11-21  Stan Shebs  <shebs@apple.com>
195
196         * config/rs6000/rs6000.c: (rs6000_darwin64_function_arg): Add
197         UNION_TYPE case.
198         (function_arg): Move darwin test up, sniff mode first for
199         efficiency, test for union type.
200
201 2004-11-21  Dale Johannesen  <dalej@apple.com>
202
203         * config/darwin.h (JUMP_TABLES_IN_TEXT_SECTION):  Define.
204
205 2004-11-21  Jeff Law  <law@redhat.com>
206
207         * tree-ssa.c (verify_use): Fix comment.
208         (verify_phi_args): Check that the number of incoming edges matches
209         the number of PHI arguments.  Check that each PHI argument is
210         either an SSA_NAME or an invariant.  Coalesce tests for PHIs for
211         dead or duplicated edges.  Clear e->aux earlier and avoid separate
212         loop to clear e->aux and test for missed edges.
213         (verify_ssa): Remove first walk over statements.  Move checking
214         of PHI args into verify_phi_args.  Move checking of statements
215         with aliased stores and V_MAY_DEFS into the remaining loop over
216         the statements.  Register defs by walking through the formal
217         SSA_NAME table.
218
219 2004-11-21  Roger Sayle  <roger@eyesopen.com>
220
221         PR middle-end/18520
222         * dojump.c (compare_from_rtx): Clarify mode argument in function
223         description.  Correct order of mode/cmp_mode arguments in call to
224         simplify_relational_operation.  Check "tem" for COMPARISON_P.
225
226 2004-11-21  Paolo Bonzini  <bonzini@gnu.org>
227             David Edelsohn  <edelsohn@gnu.org>
228
229         PR target/17836
230         * config/rs6000/rs6000.c (rs6000_return_in_memory): Return
231         synthetic vectors in memory.
232         (function_arg_boundary): Align large synthetic vectors.
233         (rs6000_pass_by_reference): Pass synthetic vectors in memory.
234
235 2004-11-21  Jeff Law  <law@redhat.com>
236
237         * cfg.c (update_bb_profile_for_threading): Do not rescale the
238         successor probabilities if they are not going to change.  Pull
239         division out of loop if we do need to rescale successor probabilities.
240
241         * tree-ssa-threadupdate.c (redirection_data_hash): Use the
242         index of the destination block for the hash value rather than
243         hashing a pointer.
244
245 2004-11-20  Joseph S. Myers  <joseph@codesourcery.com>
246
247         * c-typeck.c (build_array_ref): Don't check for index == 0.  Make
248         checks for neither argument being an array or pointer (swapping
249         the arguments if necessary), the array argument being a pointer to
250         or array of functions and for -Wchar-subscripts warnings upfront.
251
252 2004-11-20  Jeff Law  <law@redhat.com>
253
254         * regrename.c (copyprop_hardreg_forward): Only search for a
255         previously processed block if the current block only has one
256         predecessor.
257
258 2004-11-20  Kazu Hirata  <kazu@cs.umass.edu>
259
260         * tree-ssa-threadupdate.c, tree-vectorizer.c: Fix comment
261         typos.
262         * config/arm/arm.c: Follow spelling conventions.
263
264 2004-11-20  Richard Earnshaw  <rearnsha@arm.com>
265
266         * arm.c (arm_override_options): Use arm_ld_sched rather than testing
267         a bit in tune_flags.
268         (const_double_needs_minipool): Likewise.  Split most of the code out
269         into ...
270         (arm_const_double_inline_cost): ... new function here.
271         * arm-protos.h (arm_const_double_inline_cost): Add prototype.
272         * arm.h (EXTRA_CONSTRAINT_STR_ARM): Add D[abc] constraints for double-
273         word constants of length 2, 3 and 4 insns respectively.
274         (CONSTRAINT_LEN): The 'D' prefix is a 2-letter constraint.
275         * arm.md (arm_movdi, movdf_soft_insn): Add alternatives for D[abc]
276         constraints.  Set insn lenghts accordingly.
277
278 2004-11-19  Jeff Law  <law@redhat.com>
279
280         * tree-ssa-threadupdate.c: Replace REDIRECTION_DATA varray with
281         a hash table.  Extensive modifications throughout to support
282         that change.
283         (struct el): New.
284         (struct local_info): New.
285         (struct redirection_data): Add new INCOMING_EDGES and DO_NOT_DUPLICATE
286         fields.
287         (redirection_data): Now a hashtable.
288         (redirection_data_hash, redirection_data_eq): New.
289         (lookup_redirection_data, create_duplicates): New.
290         (create_edge_and_update_destionation_phis): New.
291         (fixup_template_block, redirect_edges): New.
292         (thread_block): Use hash table traversals instead of loops over
293         varray entries or incoming edge vectors.
294
295 2004-11-19  Kazu Hirata  <kazu@cs.umass.edu>
296
297         * basic-block.h (edge_def): Add dest_idx.
298         * cfg.c (unchecked_make_edge): Initialize dest_idx.
299         (remove_edge): Simplify the disconnection of an edge from its
300         destination.
301         (redirect_edge_succ): Likewise.
302         * cfghooks.c (verify_flow_info): Check the consistency of
303         dest_idx for each edge.
304
305 2004-11-19  Aldy Hernandez  <aldyh@redhat.com>
306
307         * simplify-rtx.c (simplify_ternary_operation): Use
308         gen_int_mode.
309
310 2004-11-19  Kazu Hirata  <kazu@cs.umass.edu>
311
312         * tree-cfg.c (reinstall_phi_args): New.
313         (tree_split_edge): Use it after redirecting an edge.  Don't
314         modify PHI_ARG_EDGE.
315
316 2004-11-19  Andreas Tobler  <a.tobler@schweiz.ch>
317
318         * tree-vectorizer.c (slpeel_verify_cfg_after_peeling): Define only
319         if checking is enabled.
320
321 2004-11-19  Joseph S. Myers  <joseph@codesourcery.com>
322
323         * c-decl.c (push_scope): Remove "\n" from end of diagnostic for
324         too many nested scopes.
325
326 2004-11-19  Dorit Naishlos  <dorit@il.ibm.com>
327
328         PR tree-opt/18181
329         * tree-vectorizer.c (slpeel_tree_peel_loop_to_edge): Peeling scheme
330         changed to suppoer uses-after-loop and to void creating flow paths
331         that shouldn't exist.
332         (slpeel_update_phi_nodes_for_guard): Takes additional two arguments.
333         Modified to fit the new peeling scheme. Avoid quadratic behavior.
334         (slpeel_add_loop_guard): Takes additional argument.
335         (slpeel_verify_cfg_after_peeling): New function.
336         (vect_update_ivs_after_vectorizer): Takes additional argument. Updated
337         documentation. Use 'exit-bb' instead of creating 'new-bb'.
338         (rename_variables_in_bb): Don't update phis for BBs out of loop, to fit
339         the new peeling scheme.
340         (copy_phi_nodes): Function removed. Its functionality moved to
341         update_phis_for_duplicate_loop.
342         (slpeel_update_phis_for_duplicate_loop): Functionality of copy_phi_nodes
343         moved here. Added documentation. Modified to fit the new peeling scheme.
344         (slpeel_make_loop_iterate_ntimes): Setting loop->single_exit not not
345         needed - done in slpeel_tree_peel_loop_to_edge.
346         (slpeel_tree_duplicate_loop_to_edge_cfg): Debug printouts compacted.
347         (vect_do_peeling_for_loop_bound): Add documentation. Call
348         slpeel_verify_cfg_after_peeling. Call vect_update_ivs_after_vectorizer
349         with additional argument.
350         (vect_do_peeling_for_alignment): Call slpeel_verify_cfg_after_peeling.
351
352         (vect_finish_stmt_generation): Avoid 80 column oveflow.
353
354 2004-11-19  Dorit Naishlos  <dorit@il.ibm.com>
355
356         * tree-vectorizer.c (slpeel_make_loop_iterate_ntimes): Last two
357         arguments removed.
358         (slpeel_tree_peel_loop_to_edge): Call slpeel_make_loop_iterate_ntimes
359         without last two arguments. Update single_exit of loops.
360         (vect_update_niters_after_peeling): Removed. Its functionality was
361         moved to vect_do_peeling_for_alignment. 
362         (vect_do_peeling_for_loop_bound): New name for function previously
363         called vect_transform_for_unknown_loop_bound.
364         (vect_transform_loop_bound): Call slpeel_make_loop_iterate_ntimes
365         instead of code that duplicates the same functionality.
366         (vect_do_peeling_for_alignment): Functionality of   
367         vect_update_niters_after_peeling moved here.
368         (vect_transform_loop): Unify call to vect_do_peeling_for_loop_bound -
369         previously named vect_transform_for_unknown_loop_bound - for both known
370         and unknown loop bound cases.
371
372 2004-11-19  Dorit Naishlos  <dorit@il.ibm.com>
373
374         * tree-vectorizer.c (slpeel_can_duplicate_loop_p): New name for function
375         previously called verify_loop_for_duplication. All conditions compacted
376         into one compound condition. Removed debug dumps.
377         (vect_analyze_loop_with_symbolic_num_of_iters): Removed. Some of the
378         functionality moved to vect_can_advance_ivs_p, and some to
379         vect_analyze_loop_form.
380         (vect_can_advance_ivs_p): New function. Contains functionality that was
381         taken out of vect_analyze_loop_with_symbolic_num_of_iters.
382         (slpeel_tree_peel_loop_to_edge): Call slpeel_can_duplicate_loop_p.
383         (vect_analyze_operations): Call vect_can_advance_ivs_p and
384         slpeel_can_duplicate_loop_p.
385         (vect_get_loop_niters): Added documentation.
386         (vect_analyze_loop_form): Check the loop entry always - not only in case
387         of unknown loop bound. Create preheader and exit bb if necessary. Apply
388         a check that used to take place in
389         vect_analyze_loop_with_symbolic_num_of_iters.
390         (vectorize_loops): Call verify_loop_closed_ssa under ENABLE_CHECKING.
391         Remove redundant call to rewrite_into_loop_closed_ssa.
392         (vect_compute_data_refs_alignment): Removed obsolete comment.
393
394 2004-11-19  Dorit Naishlos  <dorit@il.ibm.com>
395
396         * tree-vectorizer.c (slpeel_tree_peel_loop_to_edge): New name for
397         function previously called tree_duplicate_loop_to_edge.
398         (slpeel_tree_duplicate_loop_to_edge_cfg): New name for function
399         previously called tree_duplicate_loop_to_edge_cfg.
400         (slpeel_update_phis_for_duplicate_loop): Prefix 'slpeel' added to
401         function name.
402         (slpeel_update_phi_nodes_for_guard): Likewise.
403         (slpeel_make_loop_iterate_ntimes): Likewise.
404         (slpeel_add_loop_guard): Likewise.
405         (allocate_new_names, free_new_names): Function declaration moved to top
406         of file.
407         (rename_use_op, rename_def_op): Likewise.
408         (rename_variables_in_bb, rename_variables_in_loop): Likewise.
409         (vect_generate_tmps_on_preheader): Function declaration moved.
410         (vect_transform_for_unknown_loop_bound): Added missing function
411         declaration.
412
413 2004-11-19  Andrew Pinski  <pinskia@physics.uc.edu>
414
415         PR tree-opt/18507
416         * tree-flow.h (tree_on_heap): Typedef because there is already a VEC(tree).
417         Define a VEC(tree_on_heap) for head.
418         (register_new_def): Change second argument to be a VEC(tree_on_heap).
419         * tree-ssa-dom.c (block_defs_stack): Change to be a VEC(tree_on_heap).
420         (tree_ssa_dominator_optimize): Initialize block_defs_stack with
421         the VEC(tree_on_heap) function.  Also free it before returning.
422         (dom_opt_initialize_block): Use VEC_safe_push instead of VARRAY_PUSH_TREE
423         for block_defs_stack.
424         (restore_currdefs_to_original_value): Use VEC_length instead of
425         VARRAY_ACTIVE_SIZE. VEC_pop instead of VARRAY_TOP_TREE/VARRAY_POP.
426         (dom_opt_finalize_block): Use VEC_safe_push instead of VARRAY_PUSH_TREE
427         for block_defs_stack.
428         * tree-into-ssa.c (block_defs_stack): Change to be a VEC(tree_on_heap).
429         (rewrite_initialize_block): Use VEC_safe_push instead of VARRAY_PUSH_TREE
430         for block_defs_stack.
431         (ssa_register_new_def): Likewise.
432         (ssa_rewrite_initialize_block): Likewise.
433         (rewrite_finalize_block): Use VEC_length instead of
434         VARRAY_ACTIVE_SIZE. VEC_pop instead of VARRAY_TOP_TREE/VARRAY_POP.
435         (ssa_rewrite_finalize_block): Likewise.
436         (register_new_def): Change second argument to be a VEC(tree_on_heap).
437         Use VEC_safe_push instead of VARRAY_PUSH_TREE.
438         (rewrite_blocks): Initialize block_defs_stack with
439         the VEC(tree_on_heap) function.  Also free it before returning.
440         (rewrite_ssa_into_ssa): Likewise.
441
442 2004-11-19  Fariborz Jahanian <fjahanian@apple.com>
443
444         * config/darwin.c (machopic_data_defined_p): return 1 for
445         MACHOPIC_DEFINED_FUNCTION.
446
447 2004-11-19  Jeff Law  <law@redhat.com>
448
449         * tree-ssa.c (verify_ssa): Remove redundant checking of PHI
450         arguments.
451
452 2004-11-19  Paul Brook  <paul@codesourcery.com>
453
454         PR target/17735
455         * varasm.c (default_assemble_integer): Allow pointer-sized values.
456         Expand comment.
457
458 2004-11-19  Nick Clifton  <nickc@redhat.com>
459
460         * config/stormy16/stormy16.c (combine_bnp): Add code to handle
461         zero_extension and lshiftrt insns.
462         Replace uses of XEXP(...) with either SET_DEST() or SET_SRC()
463         where appropriate.
464         * config/stormy16.stormy16.md (bclrx3, bsetx3): New patterns
465         to handle bp and bn insn patterns with a zero_extend rtx
466         inside them.
467
468 2004-11-19  Ian Lance Taylor  <ian@wasabisystems.com>
469
470         * config/arm/arm.md (generic_sched): Make const.
471
472 2004-11-19  Kazu Hirata  <kazu@cs.umass.edu>
473
474         * emit-rtl.c (classify_insn): Make it static.
475         * rtl.h: Remove the corresponding prototype.
476
477         * integrate.c (has_func_hard_reg_initial_val,
478         get_func_hard_reg_initial_val): Make them static.
479         * integrate.h: Remove the corresponding prototypes.
480
481 2004-11-19  Ben Elliston  <bje@au.ibm.com>
482
483         * dwarf2asm.h (dw2_asm_output_pcel): Stub out with #if 0.
484         (dw2_asm_output_delta_sleb128): Likewise.
485         * dwarf2asm.c (dw2_asm_output_pcrel): Likewise.
486         (dw2_asm_output_delta_sleb128): Likewise.
487
488 2004-11-19  Adam Nemet  <anemet@lnxw.com>
489
490         * tree-ssa-alias.c: Fix comment.
491
492 2004-11-19  Kazu Hirata  <kazu@cs.umass.edu>
493
494         * tree-outof-ssa.c: Fix a comment typo.
495
496 2004-11-19  Ben Elliston  <bje@au.ibm.com>
497
498         * predict.h (predict_insn): Remove extern declaration.
499         * predict.c (predict_insn): Make static.
500
501 2004-11-19  Alan Modra  <amodra@bigpond.net.au>
502
503         * config/rs6000/rs6000.c (function_arg): Don't return BLKmode regs.
504
505 2004-11-18  Nicolas Pitre <nico@cam.org>
506
507         * config/arm/arm.c (const_double_needs_minipool): New function to
508         determine if a CONST_DOUBLE should be pushed to the minipool.
509         (note_invalid_constants): Use it.
510
511 2004-11-18  Paul Brook  <paul@codesourcery.com>
512
513         * config/arm/arm.c (target_float_switch): New variable..
514         (arm_override_options): Use TARGET_DEFAULT_FLOAT_ABI and
515         target_float_switch.
516         * config/arm/arm.h (target_float_switch): Declare.
517         (ARM_FLAG_SOFT_FLOAT): Remove.
518         (TARGET_SWITCHES): Remove hard-float and soft-float.
519         (TARGET_OPTIONS): Add hard-float and soft-float.
520         (TARGET_DEFAULT_FLOAT_ABI): Define.
521         * config/arm/coff.h (TARGET_DEFAULT_FLOAT_ABI): Define
522         (TARGET_DEFAULT): Don't use ARM_FLAG_SOFT_FLOAT.
523         * config/arm/elf.h: Don't use ARM_FLAG_SOFT_FLOAT.
524         * config/arm/netbsd-elf.h: Ditto.
525         * config/arm/netbsd.h: Ditto.
526         * config/arm/pe.h: Ditto.
527         * config/arm/unknown-elf.h: Ditto.
528         * config/arm/wince-pe.h: Ditto.
529         * config/arm/linux-elf.h (TARGET_DEFAULT_FLOAT_ABI): Define.
530         * config/arm/semi.h (TARGET_DEFAULT_FLOAT_ABI): Define.
531         * config/arm/semiaof.h (TARGET_DEFAULT_FLOAT_ABI): Define.
532
533 2004-11-18  Nathan Sidwell  <nathan@codesourcery.com>
534
535         * config/rs6000/altivec.md (VI, VF, V): New mode macros.
536         (altivec_lvx_4si, altivec_lvx_8hi, altivec_lvx_16qi,
537         altivec_lvx_4sf): Rename and replace with ...
538         (altivec_lvx_<mode>): ... mode macro version.
539         (altivec_stvx_4si, altivec_stvx_8hi, altivec_stvx_16qi,
540         altivec_stvx_4sf): Rename and replace with ... 
541         (altivec_stvx_<mode>): ... mode macro version.
542         (movv4si, movv8hi, movv16qi, movv4sf}): Replace with ...
543         (mov<mode>): ... mode macro version.
544         (*movv4si_internal, *movv8hi_internal1, *movv16qi_internal1,
545         *movv4sf_internal1): Replace with ...
546         (*mov<mode>_internal): ... mode macro version.
547         (get_vrsave_internal, *set_vrsave_internal, *save_world,
548         *restore_world): Unquote output statements.
549         * config/rs6000/rs6000.c (altivec_expand_ld_builtin,
550         altivec_expand_st_builtin): Adjust insn names.
551
552 2004-11-18  Aldy Hernandez  <aldyh@redhat.com>
553
554         * config/rs6000/rs6000.c (rs6000_complex_function_value): Revert
555         previous change.
556         (rs6000_override_options): Likewise.
557         (spe_build_register_parallel): Handle complex doubles on e500v2.
558         (rs6000_spe_function_arg): Likewise.
559         (function_arg): Likewise.
560         (rs6000_function_value): Likewise.
561         (rs6000_libcall_value): Likewise.
562
563 2004-11-18  Andrew Pinski  <pinskia@physics.uc.edu>
564
565         * ifcvt.c (find_if_block): Move the check for the number of edges
566         above the loops checking for complex edges.
567         Remove the counting of edges as we use EDGE_COUNT now.
568
569 2004-11-18  Kazuhiro Inaoka <inaoka.kazuhiro@renesas.comn>
570
571         * config/m32r/linux.h (TARGET_ASM_FILE_END): Set
572         TARGET_ASM_FILE_END to file_end_indicate_exec_stack.3
573
574 2004-11-18  Andreas Schwab  <schwab@suse.de>
575
576         * config/i386/i386.md (define_peephole2): Revert last change.
577
578 2004-11-18  Kazuhiro Inaoka <inaoka.kazuhiro@renesas.comn>
579
580         * config/m32r/linux.h (TARGET_ASM_FILE_END): Set
581         TARGET_ASM_FILE_END to file_end_indicate_exec_stack.
582
583 2004-11-18  Diego Novillo  <dnovillo@redhat.com>
584
585         * tree-ssa-propagate.c (ssa_prop_init): Use FOR_ALL_BB instead
586         of FOR_EACH_BB.
587
588 2004-11-18  Jon Grimm <jgrimm2@us.ibm.com>
589
590         * Makefile.in (macro_list): Depend on s-macro_list.
591         (s-macro_list): New target.
592
593 2004-11-18  Nathan Sidwell  <nathan@codesourcery.com>
594
595         PR target/17107
596         * fold-const.c (RANGE_TEST_NON_SHORT_CIRCUIT): Rename to ...
597         (LOGICAL_OP_NON_SHORT_CIRCUIT): ... here.
598         (fold_range_test): Adjust.
599         (fold_truthop): Use it.
600         * config/rs6000/rs6000.h (RANGE_TEST_NON_SHORT_CIRCUIT): Rename to ...
601         (LOGICAL_OP_NON_SHORT_CIRCUIT): ... here.
602
603 2004-11-18  Uros Bizjak  <uros@kss-loka.si>
604
605         * configure/i386/i386.md (*fix_trunch_1): Add "&& 1" to
606         insn split constraint.
607         (define_peephole2): Remove unneeded "&& 1" from peephole2
608         constraints.
609
610 2004-11-18  Ben Elliston  <bje@au.ibm.com>
611
612         * doc/cfg.texi (Maintaining the CFG): Remove duplicated @item
613         element for bsi_prev; use @findex instead.
614
615 2004-11-18  Ben Elliston  <bje@au.ibm.com>
616
617         * opts.h (add_input_filename): Remove extern declaration.
618         * opts.c (add_input_filename): Make static.
619
620 2004-11-17  Mark Mitchell  <mark@codesourcery.com>
621
622         * config/i386/i386.c (i386_solaris_elf_named_section): Mark with
623         ATTRIBUTE_UNUSED.
624   
625 2004-11-17  Zack Weinberg  <zack@codesourcery.com>
626
627         * defaults.h, config/darwin.h: Don't define TARGET_SUPPORTS_HIDDEN.
628         * system.h: Poison it.
629         * doc/tm.texi: Delete its documentation.
630
631 2004-11-18  Daniel Jacobowitz  <dan@codesourcery.com>
632             Mark Mitchell  <mark@codesourcery.com>
633
634         * config/i386/sol2-10.h, config/i386/t-sol2-10: New files.
635         * config/i386/i386.c (i386_solaris_elf_named_section): New
636         function.
637         * config.gcc (i[34567]86-*-solaris2*): Handle Solaris 2.10.
638         * config/i386/sol2.h (ASM_PREFERRED_EH_DATA_FORMAT): Handle
639         64-bit.
640         (ASM_QUAD): Don't undefine for biarch targets.
641         * config/i386/t-sol2: Introduce multilib support.
642
643 2004-11-18  Ben Elliston  <bje@au.ibm.com>
644
645         * cgraphunit.c: Replace "it's" with "its" and fix a typo.
646
647 2004-11-18  Ben Elliston  <bje@au.ibm.com>
648
649         * cgraph.h: Replace "it's" with "its" throughout.
650
651 2004-11-18  Ben Elliston  <bje@au.ibm.com>
652
653         * doc/rtl.texi (Flags): Grammar fix.
654
655 2004-11-17  Kazu Hirata  <kazu@cs.umass.edu>
656
657         * expmed.c (alg_code): Add alg_unknown.
658         (alg_hash_entry): New.
659         (NUM_ALG_HASH_ENTRIES): Likewise.
660         (alg_hash): Likewise.
661         (synth_mult): Cache the result into alg_hash.
662
663 2004-11-17  Zack Weinberg  <zack@codesourcery.com>
664
665         * config/rs6000/t-darwin: Augment SHLIB_MAPFILES with
666         config/rs6000/libgcc-ppc64.ver.
667
668 2004-11-17  Kazu Hirata  <kazu@cs.umass.edu>
669
670         * cfgrtl.c (rtl_verify_flow_info): Don't use INSN_P when
671         checking if an unconditional return is followed by a barrier.
672
673         * jump.c (condjump_p): Remove unreachable code.
674
675         * basic-block.h, c-common.h, df.h, expr.h, output.h, rtl.h,
676         tree-chrec.h, tree-flow.h, tree-scalar-evolution.h,
677         tree-ssa-live.h, tree.h: Remove unused prototypes.
678
679 2004-11-17  Jeff Law  <law@redhat.com>
680
681         * tree-cfg.c (edge_to_cases): Renamed from edge_to_case_leader.
682         (edge_to_cases_elt): Renamed from edge_to_case_leader.
683         (edge_to_cases_hash): Renamed from edge_to_case_leader_hash.
684         (edge_to_cases_eq): Renamed from edge_to_case_leader_eq.
685         (edge_to_cases_cleanup, recording_case_labels_p): New functions.
686         (get_cases_for_edge): New function.
687         (start_recording_case_labels, end_recording_case_labels): Similarly.
688         (record_switch_edge): Don't muck with the CASE_LABEL.  Instead
689         chain equivalent CASE_LABEL_EXPRs together.
690         (get_case_leader_for_edge, get_case_leader_for_edge_hash): Kill.
691         (make_switch_expr_edges): Do not record edge/cases here.
692         (cleanup_tree_cfg): Record cases around the call to thread_jumps.
693         (split_critical_edges): Record cases around the edge splitting code.
694         (cleanup_dead_labels): Use CASE_LABEL again.
695         (tree_redirect_edge_and_branch): If we have a mapping from edge
696         to cases, use it to handle redirections.  Else do it the slow way.
697         * tree.h (CASE_LEADER_OR_LABEL): Kill.
698         (CASE_LABEL): Revert to just looking at the tree's second operand.
699         * tree.c (get_case_label): Kill.
700
701 2004-11-17  Diego Novillo  <dnovillo@redhat.com>
702
703         PR tree-optimization/18307
704         * tree-ssa-alias.c (merge_pointed_to_info): ICE if 'dest' and
705         'orig' are the same node.
706         (collect_points_to_info_r): Do not call merge_pointed_to_info
707         when the PHI argument is identical to the LHS.
708
709 2004-11-17  Steven Bosscher  <stevenb@suse.de>
710
711         * tree-ssa-propagate.c (cfg_blocks_add): Assert we're not trying
712         to insert the exit or entry block.
713         (ssa_prop_init): Use add_control_edge to seed the algorithm.
714
715 2004-11-16  Zack Weinberg  <zack@codesourcery.com>
716
717         * mkmap-flat.awk, mkmap-symver.awk: If the last version
718         assigned to a symbol was '%exclude', do not emit it anywhere.
719         If leading_underscore is true, prefix all symbols from the
720         version scripts with a leading underscore before comparing
721         them with nm output or emitting them.  Remove support for dot
722         symbols.
723         * config/t-slibgcc-darwin (SHLIB_LINK): Use mkmap-flat.awk.
724         (SHLIB_MAPFILES): Use libgcc-std.ver.
725         (SHLIB_MKMAP_OPTS): Enable leading-underscore mode.
726         (SHLIB_LINK): Add -Wl,-exported_symbols_list,$(SHLIB_MAP).
727         * config/sh/t-linux: Use the normal libgcc-std.ver, plus
728         libgcc-excl.ver and libgcc-glibc.ver.
729
730         * config/sh/libgcc-excl.ver: New file.
731         * config/sh/libgcc-std.ver, libgcc-darwin.ver: Delete.
732
733 2004-11-16  Daniel Berlin  <dberlin@dberlin.org>
734
735         * lambda-code.c (lambda_loopnest_to_gcc_loopnest): Swap
736         the test when the edge has the opposite meaning, not when
737         the first argument is invariant.
738
739 2004-11-16  Aldy Hernandez  <aldyh@redhat.com>
740
741         * config/rs6000/rs6000.c (rs6000_override_options): Split e500v2
742         doubles.
743         (rs6000_complex_function_value): Handle e500 v2 variant.
744
745 2004-11-16  Daniel Berlin  <dberlin@dberlin.org>
746
747         Fix PR tree-optimization/18519
748
749         * tree-optimize (execute_todo): Add case for TODO_cleanup_cfg.
750         * tree-pass.h: Add TODO_cleanup_cfg.
751         * tree-ssa-ccp.c (pass_ccp): Use TODO_cleanup_cfg.
752         (ccp_finalize): Remove call to cleanup_cfg.
753         * tree-ssa-dce.c (pass_dce): Use TODO_cleanup_cfg and TODO_dump_func.
754         (pass_cd_dce): Ditto.
755         (perform_tree_ssa_dce): Remove call to cleanup_cfg,
756         dump_function_to_file.
757         * tree-ssa-loop-ch.c (copy_loop_headers): Remove call
758         to cleanup_cfg.
759         (pass_ch): Add TODO_cleanup_cfg.
760         * tree-ssa-loop.c (tree_ssa_loop_done): Remove call to
761         cleanup_cfg.
762         (pass_loop_done): Add TODO_cleanup_cfg.
763         * tree-ssa-phiopt.c (pass_phiopt): Ditto.
764         (tree_ssa_phiopt): Remove call to cleanup_cfg.
765
766 2004-11-16  Devang Patel  <dpatel@apple.com>
767
768         * optabs.c (vector_compare_rtx): Fix COMPARISON_CLASS_P use.
769
770 2004-11-16  Kazu Hirata  <kazu@cs.umass.edu>
771
772         * expmed.c, ra-colorize.c: Fix comment typos.
773
774         * doc/tm.texi: Fix typos.
775
776 2004-11-16  Daniel Jacobowitz  <dan@codesourcery.com>
777             Mark Mitchell  <mark@codesourcery.com>
778
779         PR target/6123
780         * config/sol2.h (TARGET_OS_CPP_BUILTINS): Define __PIC__ and
781         __pic__ if PIC.
782
783 2004-11-16  Ulrich Weigand  <uweigand@de.ibm.com>
784
785         * regmove.c (regmove_optimize): Use lowpart_subreg instead of
786         gen_rtx_SUBREG with incorrect offset to compute SRC_SUBREG.
787
788 2004-11-16  Devang Patel  <dpatel@apple.com>
789
790         * tree-if-conv.c (clean_predicate_lists): Update gcc_assert check.
791
792 2004-11-16  Eric Christopher  <echristo@redhat.com>
793
794         * config/mips/mips.c: Use rtl _P predicates.
795         * config/mips/mips.h: Ditto.
796         * config/mips/mips.md: Ditto.
797
798 2004-11-16  Fariborz Jahanian <fjahanian@apple.com>
799
800         * config/rs6000/altivec.md (altivec_vandc): Canonicalize
801         the pattern.
802
803 2004-11-16  Andreas Krebbel  <krebbel1@de.ibm.com>
804
805         * config/s390/s390.c (s390_cc_modes_compatible): New function.
806         (TARGET_CC_MODES_COMPATIBLE): Target macro defined.
807
808 2004-11-16  Kaz Kojima  <kkojima@gcc.gnu.org>
809
810         PR target/18447
811         * config/sh/sh.c (prepare_move_operands): Emit blockage insns
812         before and after the insns for getting GOT address in non-PIC
813         TLS_MODEL_INITIAL_EXEC tls sequence when the first scheduling
814         is enabled.
815
816 2004-11-16  Andreas Krebbel  <krebbel1@de.ibm.com>
817
818         * gcc/cse.c (struct change_cc_mode_args): New structure.
819         (cse_change_cc_mode_insn): New function.
820         (cse_change_cc_mode): Use validate_change to perfom changes.
821         (cse_change_cc_mode_insns, cse_condition_code_reg):
822         Call cse_change_cc_mode_insn.
823
824 2004-11-16  Steven Bosscher  <stevenb@suse.de>
825
826         * stack.h: Remove.
827
828 2004-11-16  Steven Bosscher  <stevenb@suse.de>
829
830         * config/i386/i386.c (x86_schedule): Fix typo, m_K6 intead of m_K8.
831
832 2004-11-15  Dale Johannesen  <dalej@apple.com>
833
834         * tree-flow.h (add_referenced_temp_var):  Remove name from prototype.
835
836 2004-11-15  Dale Johannesen  <dalej@apple.com>
837
838         * profile.c (compute_branch_probabilities):  Prevent
839         crash with EH in RTL-based profiling.
840
841 2004-11-16  Kazu Hirata  <kazu@cs.umass.edu>
842
843         * tree-cfg.c (verify_expr): Replace TREE_OPERAND with
844         COND_EXPR_COND.
845         * tree-if-conv.c (tree_if_convert_cond_expr): Likewise.
846         * tree-ssa-dom.c (thread_across_edge): Likewise.
847         * tree-vectorizer.c (vect_transform_loop_bound): Replace
848         TREE_OPERAND with COND_EXPR_COND, COND_EXPR_THEN, or
849         COND_EXPR_ELSE.
850
851         * tree-cfg.c (bsi_commit_edge_inserts): Remove an argument.
852         (tree_flow_call_edges_add): Update the call to
853         bsi_commit_edge_inserts.
854         * lambda-code.c (lambda_loopnest_to_gcc_loopnest): Likewise.
855         * profile.c (branch_prob): Likewise.
856         * tree-mudflap.c (mf_decl_cache_locals): Likewise.
857         * tree-sra.c (scalarize_function): Likewise.
858         * tree-ssa-loop-im.c (loop_commit_inserts): Likewise.
859         * tree-ssa-pre.c (fini_pre): Likewise.
860         * tree-flow.h: Update the prototype for
861         bsi_commit_edge_inserts.
862
863 2004-11-15  Eric Christopher  <echristo@redhat.com>
864
865         * sched-deps.c (set_sched_group_p): Delete.
866         (delete_all_dependencies): New function.
867         (fixup_sched_groups): Use. New function.
868         (sched_analyze_insn): Use.
869
870 2004-11-15  Joseph S. Myers  <joseph@codesourcery.com>
871
872         * c-common.c (binary_op_error): Don't allow LROTATE_EXPR,
873         RROTATE_EXPR or unknown code.
874         * c-typeck.c (build_binary_op): Don't allow RROTATE_EXPR,
875         LROTATE_EXPR, MAX_EXPR, MIN_EXPR, UNORDERED_EXPR, ORDERED_EXPR,
876         UNLT_EXPR, UNLE_EXPR, UNGT_EXPR, UNGE_EXPR, UNEQ_EXPR, LTGT_EXPR
877         or unknown code.
878
879 2004-11-15  Joseph S. Myers  <joseph@codesourcery.com>
880
881         PR c/18498
882         * c-decl.c (grokdeclarator): Call check_bitfield_type_and_width
883         after processing the declarator.
884
885 2004-11-15  Aldy Hernandez  <aldyh@redhat.com>
886
887         * config/rs6000/altivec.md ("altivec_vsplth"): Rewrite with
888         vec_duplicate.
889         (altivec_vspltb): Same.
890         (altivec_vspltw): Same.
891         (altivec_vspltisb): Same.
892         (altivec_vspltish): Same.
893         (altivec_vspltisw): Same.
894         (altivec_vspltisw_v4sf): Same.
895         (define_constants): Remove UNSPEC_VSPLTISB, UNSPEC_VSPLTISW,
896         UNSPEC_VSPLTISH.
897         Move "End of vector xor's" comment to the right place.
898
899 2004-11-15  Steve Ellcey  <sje@cup.hp.com>
900
901         * config/ia64/ia64.md (*movtf_internal):  Use destination_operand
902         instead of nonimmediate_operand.
903
904 2004-11-15  Mark Mitchell <mark@codesourcery.com>
905
906         * config/i386/sol2.h (ASM_OUTPUT_CALL): Use print_operand.
907         * config/sparc/sol2.h (ASM_OUTPUT_CALL): Likewise.
908         * config/sol2.c (solaris_output_init_fini): Update calls to
909         ASM_OUTPUT_CALL.  Include "rtl.h".
910
911 2004-11-15  Mark Mitchell <mark@codesourcery.com>
912
913         * config/sol2-c.c (cmn_err_char_table): Add "p".
914
915 2004-11-15  Mark Mitchell <mark@codesourcery.com>
916
917         * config/sparc/sol2.h (SUPPORTS_INIT_PRIORITY): Remove.
918         * config/sol2.h (SUPPORTS_INIT_PRIORITY): Define here.
919
920 2004-11-15  Mark Mitchell <mark@codesourcery.com>
921
922         * config/t-slibgcc-sld (SHLIB_LINK): Make symlinks entirely
923         within the multilib directory.
924
925 2004-11-15  Nick Clifton  <nickc@redhat.com>
926
927         * config/stormy16/stormy16.h (TARGET_CPU_CPP_BUILTINS): Add
928         builtin assert of cpu=xstormy16.
929
930 2004-11-15  Nathan Sidwell  <nathan@codesourcery.com>
931
932         * tree-ssa-pre.c (bitmap_print_value_set): Fix uninitialized
933         variable.
934
935 2004-11-14  Richard Henderson  <rth@redhat.com>
936
937         PR 18480
938         * calls.c (struct arg_data): Add parallel_value.
939         (precompute_register_parameters): Set it.
940         (load_register_parameters): Use it.
941         (store_one_arg): Also set it here.
942
943 2004-11-14  Zdenek Dvorak  <dvorakz@suse.cz>
944
945         PR tree-optimization/18431
946         * fold-const.c (associate_trees): Do not produce x + 0.
947         (fold_widened_comparison, fold_sign_changed_comparison): New functions.
948         (fold): Use them.
949         * tree-ssa-loop-niter.c (upper_bound_in_type, lower_bound_in_type):
950         Moved ...
951         * tree.c (upper_bound_in_type, lower_bound_in_type): Here.
952         * tree.h (upper_bound_in_type, lower_bound_in_type): Declare.
953
954 2004-11-14  Eric Botcazou <ebotcazou@libertysurf.fr>
955
956         * doc/rtl.texi (SUBREG): Adjust BYTENUM value in example.
957
958 2004-11-14  Kazu Hirata  <kazu@cs.umass.edu>
959
960         * cfgrtl.c, global.c, tree-ssa-copy.c, tree-ssa-loop-ivopts.c,
961         value-prof.c: Fix comment typos.
962
963 2004-11-14  Stan Shebs  <shebs@apple.com>
964
965         Basic ABI changes for passing structs by value in 64-bit Darwin.
966         * config/rs6000/rs6000.c (rs6000_darwin64_abi): New flag.
967         (rs6000_override_options): Set it for 64-bit Darwin.
968         (rs6000_parse_abi_options): Add testing options to change it.
969         (rs6000_return_in_memory): Test whether the type is one
970         that can be passed in registers.
971         (darwin64_function_arg_advance): New.
972         (function_arg_advance): Call it, plus add recursion depth
973         argument and test when counting off arguments.
974         (rs6000_darwin64_function_arg): New.
975         (function_arg): Call it.
976         (setup_incoming_varargs): Add argument to function_arg_advance.
977         (rs6000_darwin64_function_value): New.
978         (rs6000_function_value): Call it.
979         * config/rs6000/rs6000.h (FUNCTION_ARG_ADVANCE): Pass depth arg.
980         * config/rs6000/rs6000-protos.h: Update decl of
981         function_arg_advance.
982
983 2004-11-14  Andrew Pinski  <pinskia@physics.uc.edu>
984
985         PR c/17279
986         * c-common.c (c_common_nodes_and_builtins): Ask the back-end if we
987         support TImode before adding __int128_t and __uint128_t types.
988
989 2004-11-14  Dorit Naishlos  <dorit@il.ibm.com>
990
991         PR tree-opt/18400
992         * tree-vectorizer.c (make_loop_iterate_ntimes): Set loop->nb_iterations.
993         (vect_transform_loop_bound): Set loop->nb_iterations.
994
995 2004-11-14  Dorit Naishlos  <dorit@il.ibm.com>
996             Andrew Pinski  <pinskia@physics.uc.edu>
997
998         PR tree-opt/18425
999         * tree-vectorize.c (vect_build_loop_niters): Do not insert
1000         NULL into the instruction stream. Initialize new_bb to NULL.
1001         (vect_update_ivs_after_vectorizer): Likewise.
1002         (vect_gen_niters_for_prolog_loop): Likewise.
1003
1004 2004-11-14  Zdenek Dvorak  <dvorakz@suse.cz>
1005
1006         PR tree-optimization/18431
1007         * tree-flow.h (stmt_references_memory_p): Declare.
1008         * tree-ssa-loop-im.c (stmt_cost): Use stmt_references_memory_p.
1009         * tree-ssa.c (stmt_references_memory_p): New function.
1010
1011 2004-11-14  Andreas Schwab  <schwab@suse.de>
1012
1013         * Makefile.in (lambda-code.o, tree-loop-linear.o): Depend on
1014         $(EXPR_H).
1015
1016 2004-11-14  Kazu Hirata  <kazu@cs.umass.edu>
1017
1018         * c-common.c (walk_stmt_tree): Remove.
1019         * c-common.h: Remove the corresponding prototype.
1020
1021         * emit-rtl.c (push_to_full_sequence): Remove.
1022         * rtl.h: Remove the corresponding prototype.
1023
1024         * cselib.c, expr.c: Fix comment typos.
1025
1026 2004-11-13  Richard Henderson  <rth@redhat.com>
1027
1028         * calls.c (precompute_register_parameters): Force all PARALLELs
1029         into pseudo registers.
1030         (load_register_parameters): Copy PARALLELs into hard registers.
1031         * function.c (assign_parm_setup_block): Copy PARALLELS into
1032         pseudo registers.  Do emit_group_store in conversion_insns.
1033         * expr.c (emit_group_load_1): Rename from emit_group_load, take
1034         tmps as an argument.  Move final copy loop ...
1035         (emit_group_load): ... here.  New function.
1036         (emit_group_load_into_temps, emit_group_move_into_temps): New.
1037         * expr.h: Declare them.
1038
1039 2004-11-14  Kazu Hirata  <kazu@cs.umass.edu>
1040
1041         * tree-cfg.c, tree-if-conv.c, tree-ssa-loop-ivopts.c,
1042         tree-ssa-loop-manip.c, tree-vectorizer.c: Replace TREE_CHAIN
1043         with PHI_CHAIN where appropriate.
1044
1045 2004-11-13  Dale Johannesen  <dalej@apple.com>
1046
1047         * tree-flow.h (bsi_commit_one_edge_insert): Remove name from prototype.
1048         (tree_block_label): Ditto.
1049         (flush_pending_stmts): Ditto.
1050         (insert_edge_copies): Ditto.
1051         (expr_invariant_in_loop_p): Ditto.
1052         (TDF_USE_OPS): Parenthesize definition.
1053         (TDF_USE_VOPS): Ditto.
1054
1055 2004-11-13  David Edelsohn  <edelsohn@gnu.org>
1056
1057         * config/rs6000/aix51.h (ASM_CPU_SPEC): Add 970 and G5.
1058         * config/rs6000/aix52.h (ASM_CPU_SPEC): Same.
1059         (atoll): Declare.
1060         * config/rs6000/t-aix52 (BOOT_LDFLAGS): Define.
1061
1062 2004-11-14  Joseph Myers  <joseph@codesourcery.com>
1063
1064         * config/i386/i386.c (override_options): Move loop to set default
1065         tuning to correct place.
1066
1067 2004-11-13  Zak Kipling  <zak@transversal.com>
1068
1069         PR target/18300
1070         * config/i386/i386.c (classify_argument): Fix infinite loop when
1071         passing object with 3 or more base classes by value.
1072
1073 2004-11-13  Eric Botcazou  <ebotcazou@libertysurf.fr>
1074
1075         * doc/md.texi (constraints) <% modifier>: Mention that it is
1076         useless when the two alternatives are strictly identical.
1077
1078 2004-11-13  Richard Henderson  <rth@redhat.com>
1079
1080         * expmed.c (extract_split_bit_field): Temporarily disable call to
1081         extract_force_align_mem_bit_field.
1082
1083 2004-11-13  Kazu Hirata  <kazu@cs.umass.edu>
1084
1085         * bitmap.c, bitmap.h, expmed.c, tree-cfg.c: Fix comment
1086         formatting.
1087
1088         * c-cppbuiltin.c, cgraph.c, domwalk.h, except.c, gimplify.c,
1089         lambda-code.c, postreload.c, predict.c, tree-sra.c,
1090         tree-ssa-loop-manip.c, tree.c: Fix comment typos.
1091
1092 2004-11-13  Kelley Cook  <kcook@gcc.gnu.org>
1093
1094         * doc/install.texi (automake): Correctly document that everything now
1095         will use automake 1.9.3.
1096
1097 2004-11-13  Hans-Peter Nilsson  <hp@bitrange.com>
1098
1099         PR target/18347
1100         * config/mmix/mmix.c (mmix_function_outgoing_value): Handle
1101         TImode.  Sorry for other non-complex larger-than-64-bit modes.
1102         * config/mmix/mmix.h (MIN_UNITS_PER_WORD): Do not define.
1103
1104 2004-11-13  Kelley Cook  <kcook@gcc.gnu.org>
1105
1106         * doc/install.texi (automake): Document that everything now uses 1.9.
1107
1108 2004-11-13  Bernd Schmidt  <bernd.schmidt@analog.com>
1109
1110         * cse.c (cse_insn): Stores in a libcall sequence can invalidate
1111         previous loads.
1112
1113 2004-11-13  Kazu Hirata  <kazu@cs.umass.edu>
1114
1115         * tree.h: Fix comment typos.
1116
1117 2004-11-13  Steven Bosscher  <stevenb@suse.de>
1118
1119         * cse.c (CHEAP_REGNO): Redefine using REGNO_PTR_FRAME_P and
1120         HARD_REGISTER_NUM_P.
1121
1122         * cselib.c (new_cselib_val): Make comment correct and more detailed.
1123         * flow.c (mark_set_1): Likewise.
1124
1125         * except.c (duplicate_eh_region_1, duplicate_eh_region_2,
1126         duplicate_eh_regions): Remove.
1127         * except.h (duplicate_eh_regions): Remove prototype.
1128         * integrate.c (get_label_from_map, copy_rtx_and_substitute,
1129         global_const_equiv_varray): Remove.
1130         * integrate.h (get_label_from_map, copy_rtx_and_substitute,
1131         global_const_equiv_varray, set_label_in_map): Remove prototypes,
1132         extern declaration, and #define.
1133         (MAYBE_EXTEND_CONST_EQUIV_VARRAY, SET_CONST_EQUIV_DATA): Remove.
1134         (struct inline_remap): Remove.
1135         * varray.c (struct element): Remove entry for const_equiv_data.
1136         * varray.h (struct const_equiv_data): Remove.
1137         (enum varray_data_enum) <VARRAY_DATA_CONST_EQUIV>: Remove.
1138         (union varray_data_tag) <const_equiv>: Remove.
1139         (VARRAY_CONST_EQUIV_INIT, VARRAY_CONST_EQUIV,
1140         VARRAY_PUSH_CONST_EQUIV, VARRAY_TOP_CONST_EQUIV): Remove.
1141
1142         * regstack.c (record_label_references): Remove unused function.
1143
1144         * rtl.def (VALUE): Update comment.
1145         (LABEL_REF): Remove unused operand 2.
1146         * rtl.h (struct rtx_def): Update for removed accessor macros.
1147         (XCADVFLAGS, INSN_DEAD_CODE_P, LINE_NUMBER, CONTAINING_INSN,
1148         REG_LOOP_TEST_P): Remove.
1149         (ADDR_DIFF_VEC_FLAGS, CSELIB_VAL_PTR, LABEL_NEXTREF): Add comments.
1150         * web.c (entry_register): Don't copy REG_LOOP_TEST_P.
1151         * doc/rtl.texi (INSN_DEAD_CODE_P, REG_LOOP_TEST_P): Remove.
1152
1153 2004-11-13  James A. Morrison  <phython@gcc.gnu.org>
1154             Eric Botcazou  <ebotcazou@libertysurf.fr>
1155
1156         PR target/18230
1157         * config/sparc/sparc.c (sparc_rtx_costs): Handle the NAND vector
1158         patterns.
1159         * config/sparc/sparc.md (V64I): New macro for 64-bit modes.
1160         (V32I): New macro for 32-bit modes.
1161         (anddi3, anddi_sp32, anddi_sp64, and_not_di_sp32, and_not_di_sp64,
1162         iordi3, iordi3_sp32, iordi_sp64, or_not_di_sp32, or_not_di_sp64,
1163         xordi3, xordi3_sp32, xordi3_sp64, {AND, IOR, XOR} DI splitter,
1164         xor_not_di_sp32, xordi_not_di_sp64, one_cmpldi2, one_cmpldi_sp32,
1165         one_cmpldi_sp64): Use V64I instead of DI.
1166         (andsi3, andsi_sp32, andsi_sp64, and_not_si, iorsi3, or_not_si,
1167         xorsi3, xor_not_si, one_cmplsi2): Use V32I instead of SI.
1168         (addv2si3, addv4hi3, addv2hi3): Remove % modifier.
1169         (nandv64i_vis, nandv32i_vis): New patterns.
1170
1171 2004-11-12  Mike Stump  <mrs@apple.com>
1172
1173         * Makefile.in: Add html support.
1174         * java/Make-lang.in: Likewise.
1175         * fortran/Make-lang.in: Likewise.
1176         * treelang/Make-lang.in: Likewise.
1177         * doc/install.texi: Likewise.
1178         * doc/makefile.texi: Likewise.
1179         * doc/sourcebuild.texi: Likewise.
1180
1181 2004-11-13  Kazu Hirata  <kazu@cs.umass.edu>
1182
1183         * tree-ssa-loop-manip.c: Fix a comment typo.
1184
1185 2004-11-12  Mike Stump  <mrs@apple.com>
1186
1187         * doc/cppinternals.texi (Index): Fix html generation with makeinfo by
1188         renaming this node to Concept Index.
1189         * doc/gccint.texi (Index): Likewise.  Also minor formatting tweaks
1190         to more closely match gcc.texi.
1191
1192 2004-11-12  Jeff Law  <law@redhat.com>
1193
1194         * tree-cfg.c (hashtab.h): Include.
1195         (struct edge_to_case_leader_elt): New structure.
1196         (edge_to_case_leader): New.
1197         (edge_to_case_leader_hash): New hashtable hasing function.
1198         (edge_to_case_leader_eq): New hashtable equality function.
1199         (record_switch_edge): New function.
1200         (get_case_leader_for_edge, get_case_leader_for_edge): New functions.
1201         (make_switch_expr_edges): Build the edge-to-case-leader
1202         hash table.  Tear down the hash table when we're done.
1203         (cleanup_dead_labels): Use CASE_LEADER_OR_LABEL instead of
1204         CASE_LABEL.
1205         (tree_node_can_be_shared): Allow sharing of CASE_LABEL_EXPR nodes.
1206         (tree_redirect_edge_and_branch, case SWITCH_EXPR): Update
1207         to use new concept of case leaders to reduce overhead of
1208         redirecting outgoing edges from switch statements.
1209         * tree.c (get_case_label): New function.
1210         * tree.h (CASE_LABEL): Define in terms of get_case_label.
1211         (CASE_LEADER_OR_LABEL): Define.
1212
1213 2004-11-12  Ziemowit Laski  <zlaski@apple.com>
1214
1215         * varasm.c (output_addressed_constants): For CONST_DECLs,
1216         output the initializer if present.
1217
1218 2004-11-12  Ziemowit Laski  <zlaski@apple.com>
1219
1220         * config/rs6000/darwin.h: Fix confusing typo in comment.
1221
1222 2004-11-12  Devang Patel  <dpatel@apple.com>
1223
1224         * optabs.c (vector_compare_rtx): Use COMPARISON_CLASS_P.
1225
1226 2004-11-12  Devang Patel  <dpatel@apple.com>
1227
1228         * tree-if-conv.c (clean_predicate_lists): Use loop header
1229         and latch directly.
1230
1231 2004-11-12  Richard Henderson  <rth@redhat.com>
1232
1233         PR 17778
1234         * config/i386/i386.h (TARGET_96_ROUND_53_LONG_DOUBLE): New.
1235         * config/i386/freebsd.h (SUBTARGET_OVERRIDE_OPTIONS): Remove.
1236         (TARGET_96_ROUND_53_LONG_DOUBLE): New.
1237         * config/i386/i386-modes.def (XF): Use it.
1238
1239 2004-11-11  Geoffrey Keating  <geoffk@apple.com>
1240
1241         * Makefile.in (macro_list): Use move-if-change to avoid spurious
1242         rebuilds.
1243
1244 2004-11-12  Mark Mitchell  <mark@codesourcery.com>
1245
1246         PR c++/18416
1247         * passes.c (rest_of_decl_compilation): Do not look at DECL_RTL
1248         when deciding whether to pass a variable to
1249         cgraph_varpool_finalize_decl or assemble_variable.
1250         * toplev.c (check_global_declarations): Do not clear DECL_RTL.
1251
1252 2004-11-12  Kazu Hirata  <kazu@cs.umass.edu>
1253
1254         * tree-vectorizer.c: Fix a comment typo.
1255
1256 2004-11-12  Bernd Schmidt  <bernd.schmidt@analog.com>
1257
1258         * genconfig.c (walk_insn_part): Look at match_dups inside a label_ref.
1259
1260 2004-11-12  Diego Novillo  <dnovillo@redhat.com>
1261
1262         * tree-scalar-evolution.c (analyzable_condition): Remove
1263         superfluous TREE_THIS_VOLATILE checks on SSA_NAMEs.
1264
1265 2004-11-12  Ralf Corsepius  <ralf.corsepius@rtems.org>
1266
1267         * config/rs6000/t-rtems (MULTILIB_NEW_EXCEPTIONS_ONLY):
1268         Remove m505/roe multilib variant.
1269
1270 2004-11-12  Eric Botcazou  <ebotcazou@libertysurf.fr>
1271
1272         * expr.c (emit_group_load) <CONCAT>: Use extract_bit_field
1273         to load from the stack.
1274
1275 2004-11-12  Richard Henderson  <rth@redhat.com>
1276
1277         * toplev.c (floor_log2): Rename from floor_log2_wide, use CLZ_HWI.
1278         (exact_log2): Rename from exact_log2_wide, use CTZ_HWI.
1279         * toplev.h (FL2T__): Remove.
1280         (CLZ_HWI): Rename from FL2T_CLZ__.
1281         (CTZ_HWI): New.
1282         (floor_log2): Simplify.
1283         (exact_log2): New.
1284
1285 2004-11-12  Sebastian Pop  <pop@cri.ensmp.fr>
1286
1287         * tree-data-ref.c (analyze_subscript_affine_affine): Correctly
1288         compute the first overlapping iterations.
1289
1290 2004-11-12  Sebastian Pop  <pop@cri.ensmp.fr>
1291
1292         PR middle-end/18005
1293         * tree-data-ref.c (estimate_niter_from_size_of_data): Ensure
1294         that arguments of EXACT_DIV_EXPR are INTEGER_CST.
1295
1296 2004-11-12  Steven Bosscher  <stevenb@suse.de>
1297
1298         PR tree-optimization/18419
1299         * tree-ssa.c (walk_use_def_chains_1): Make the visited map a
1300         pointer set instead of a bitmap.
1301         (walk_use_def_chains): Create, pass and clean up that pointer_set.
1302
1303         * tree-ssa-alias.c (struct alias_info): Make the ssa_names_visited
1304         field an sbitmap.
1305         (init_alias_info): Allocate and zero it here.
1306         (delete_alias_info): Delete it here.
1307         (collect_points_to_info_for): Use it.
1308
1309 2004-11-11  Kazu Hirata  <kazu@cs.umass.edu>
1310
1311         * alias.c (record_alias_subset, addr_side_effect_eval):
1312         Make them static.
1313         * alias.h: Remove the prototype for record_alias_subset.
1314         * expr.h: Remove the commented-out prototype for
1315         record_alias_subset.
1316         * rtl.h: Remove the prototype for addr_side_effect_eval.
1317
1318         * cfglayout.c (choose_inner_scope): Make it static.
1319         * rtl.h: Remove the corresponding prototype.
1320
1321         * cfgloopmanip.c (update_single_exits_after_duplication,
1322         unloop): Make them static.
1323         * cfgloop.h: Remove the corresponding prototypes.
1324
1325         * c-typeck.c (c_size_in_bytes, record_maybe_used_decl):
1326         Make them static.
1327         * c-tree.h: Remove the corresponding prototypes.
1328
1329         * explow.c (round_push): Make it static.
1330         * expr.h: Remove the corresponding prototype.
1331
1332         * varasm.c (get_named_section_flags, decl_tls_model): Make
1333         them static.
1334         * output.h: Remove the prototype for get_named_section_flags.
1335         * tree.h: Remove the prototype for decl_tls_model.
1336
1337 2004-11-11  Kazu Hirata  <kazu@cs.umass.edu>
1338
1339         * function.c (expand_function_end): Remove an "if" statement
1340         that always triggers.
1341         * stmt.c (expand_null_return_1): Likewise.
1342
1343 2004-11-11  James E. Wilson  <wilson@specifixinc.com>
1344
1345         * config/ia64/ia64.h (HARD_REGNO_NREGS): Handle XCmode.
1346         (HARD_REGNO_MODE_OK, MODES_TIEABLE_P, SECONDARY_MEMORY_NEEDED,
1347         CLASS_MAX_NREGS): Likewise.
1348
1349 2004-11-11  Zdenek Dvorak  <dvorakz@suse.cz>
1350
1351         PR tree-optimization/17742
1352         * tree-scalar-evolution.c (follow_ssa_edge_in_rhs): Handle
1353         MINUS_EXPR correctly.
1354
1355 2004-11-11  Sebastian Pop  <pop@cri.ensmp.fr>
1356
1357         * tree-scalar-evolution.c (follow_ssa_edge_in_condition_phi):
1358         Give up as soon as the evolution is known not computable.
1359
1360 2004-11-11  Nathan Sidwell  <nathan@codesourcery.com>
1361
1362         PR target/16457
1363         * config/rs6000/rs6000.c (mask64_2_operand): Stub to call
1364         mask64_1or2_operand.
1365         (mask64_1or2_operand): Broken out of mask64_2_operand, add flag
1366         to spot rlwinm opportunities.
1367         (and64_2_operand): Use mask_1or2_operand.
1368         * config/rs6000/rs6000.md (anddi3): Use rlwinm when possible.
1369
1370 2004-11-11  Dorit Naishlos  <dorit@il.ibm.com>
1371
1372         * tree-vectorizer.c (update_phi_nodes_for_guard): Call reverse_phis.
1373         (vect_update_ivs_after_vectorizer): Update function documentation.
1374         Avoid quadratic behavior and direct write to PHI_ARG_DEF.
1375
1376 2004-11-11  Kazu Hirata  <kazu@cs.umass.edu>
1377
1378         * config/arm/arm.c: Fix a comment typo.
1379
1380 2004-11-11  Nathan Sidwell  <nathan@codesourcery.com>
1381
1382         * bitmap.h (nBITMAP_WORD_BITS): Remove.
1383         (BITMAP_WORD_BITS): Force unsigned by use of 1u.
1384         (BITMAP_ELEMENT_WORDS, BITMAP_ELEMENT_ALL_BITS): Remove
1385         unnecessary casts.
1386         (bitmap_first_set_bit): Return unsigned, use ctzl.
1387         (bitmap_last_set_bit): Remove.
1388         * bitmap.c (bitmap_element_zerop, bitmap_copy): Make iterator
1389         unsigned.
1390         (bitmap_first_set_bit): Return unsigned, require non-empty bitmap,
1391         remove special case code for two word elements.
1392         (bitmap_last_set_bit): Remove.
1393         * ra-build.c (livethrough_conflicts_bb): Replace unnecessary use of
1394         bitmap_first_set_bit with bitmap_empty_p.
1395         * tree-outof-ssa.c (analyze_edges_for_bb): Likewise.
1396         * tree-ssa-pre.c (bitmap_print_value): Use simple flag rather than
1397         bitmap_last_bit_set.
1398
1399 2004-11-11  Nathan Sidwell  <nathan@codesourcery.com>
1400
1401         PR target/16796
1402         * config/rs6000/rs6000.md: Add DF & SF reg move peepholes.
1403
1404         PR target/16458
1405         * config/rs6000/rs6000.c (rs6000_generate_compare): Generate an
1406         unsigned equality compare when we know the operands are unsigned.
1407
1408 2004-11-10  Peter S. Mazinger  <ps.m@gmx.net>
1409
1410         * config/mips/linux.h (LINUX_TARGET_OS_CPP_BUILTINS): Define
1411         __PIC__ and __pic__ only if TARGET_ABICALLS.
1412         (SUBTARGET_CPP_SPECS): Don't define or undefine __PIC__ and __pic__.
1413         (SUBTARGET_ASM_SPECS): Don't pass -non_shared to assembler; pass
1414         -KPIC only if not -mno-abicalls.
1415
1416         * config/alpha/linux.h, config/arm/linux-elf.h, config/pa/pa-linux.h
1417         * config/sparc/linux.h, config/sparc/linux64.h
1418         (TARGET_OS_CPP_BUILTINS): Define __PIC__ and __pic__ if flag_pic.
1419
1420         * config/arm/linux-gas.h (CPP_SPEC): Don't define __PIC__ or __pic__.
1421         * config/pa/pa/linux.h (CPP_SPEC): Likewise.
1422         * config/sparc/linux.h (CPP_SUBTARGET_SPEC): Likewise.
1423         * config/sparc/linux64.h (CPP_SUBTARGET_SPEC): Likewise.
1424
1425 2004-11-11  Paul Brook  <paul@codesourcery.com>
1426
1427         * config/arm/arm.c (arm_compute_save_reg0_reg12_mask): Save PIC
1428         register if current_function_uses_pic_offset_table is set.
1429
1430 2004-11-10  David Edelsohn  <edelsohn@gnu.org>
1431
1432         * config/rs6000/rs6000.md (define_attr "type"): Add two and three.
1433         Change multi-instruction sequences to new attribute.
1434         * config/rs6000/{40x.md,440.md,603.md,6xx.md,
1435         7450.md,7xx.md,8540.md,mpc.md,power4.md,power5.md,
1436         rios1.md,rios2.md,rs64.md}: Add descriptions for two and three.
1437
1438 2004-11-10  Daniel Berlin  <dberlin@dberlin.org>
1439
1440         * tree-data-ref.c (build_classic_dist_vector): If either loop
1441         is outside of the nest we asked about, the dependence can't
1442         matter.
1443         (build_classic_dir_vector): Ditto.
1444
1445 2004-11-10  Zdenek Dvorak  <dvorakz@suse.cz>
1446
1447         * tree-ssa-loop-ivopts.c (get_address_cost): Add address elements in
1448         right order.
1449         (force_var_cost): Determine cost of addition and multiplication more
1450         precisely.
1451         (get_computation_cost_at): Add cost for computing address elements to
1452         the final cost.
1453
1454         * fold-const.c (fold): Attempt to use ptr_difference_const whenever
1455         one of the arguments of MINUS_EXPR is an address.
1456         (split_address_to_core_and_offset): New function.
1457         (ptr_difference_const): Handle case when one of the operands is a
1458         pointer.
1459         * tree-ssa-loop-ivopts.c (determine_base_object): Fold &*addr.
1460         (ptr_difference_cost): Pass addresses instead of objects to
1461         ptr_difference_const.
1462
1463 2004-11-10  Nathan Sidwell  <nathan@codesourcery.com>
1464
1465         * tree.c (tree_check_failed): Emit general error if the list of
1466         node types is empty.
1467
1468 2004-11-10  Eric Botcazou  <ebotcazou@libertysurf.fr>
1469
1470         * config/sparc/sparc.c (function_arg_union_value): New 'slotno'
1471         argument.  When the union is passed in the 6th slot, build a
1472         PARALLEL with only one element.
1473         (function_arg): Adjust call to function_arg_union_value.
1474         (function_value): Likewise.
1475
1476 2004-11-10  Fariborz Jahanian <fjahanian@apple.com>
1477
1478         PR tree-optimization/17892
1479         * tree-ssa-dom.c (unsafe_associative_fp_binop): Add test for
1480         MINUS_EXPR operator.
1481
1482 2004-11-10  James A. Morrison  <phython@gcc.gnu.org>
1483
1484         PR target/18230
1485         config/sparc/sparc.md (addsi3, subsi3): Set "fptype" attribute.
1486         (addv2si, addv4hi, addv2hi, subv2si, subv4hi, subv2hi): New patterns.
1487
1488 2004-11-10  Steven Bosscher  <stevenb@suse.de>
1489
1490         * basic-block.h (XMALLOC_REG_SET, XFREE_REG_SET): New.
1491         (struct basic_block_def): Remove local_set and cond_local_set
1492         fields.  Update comment for global_live_at_start.
1493         * flow.c (calculate_global_regs_live): Allocate local_sets and
1494         cond_local_sets here as arrays of bitmaps previously stored in
1495         bb->local_set and bb->cond_local_set.  Use xmalloc instead of
1496         obstack allocated bitmaps.
1497
1498 2004-11-09  H.J. Lu  <hongjiu.lu@intel.com>
1499
1500         PR target/18380
1501         * config/ia64/unwind-ia64.h (_Unwind_FindTableEntry): Mark it
1502         hidden.
1503
1504         * unwind-dw2.c (_Unwind_FindTableEntry): Removed.
1505
1506 2004-11-09  Jeff Law  <law@redhat.com>
1507
1508         * cfganal.c (flow_dfs_compute_reverse_execute): Accept new
1509         argument holding last unvisited block.  Start search for
1510         unvisited blocks at LAST_UNVISITED rather than EXIT_BLOCK.
1511         (connect_infinite_loops_to_exit): Supply last unvisited block
1512         to flow_dfs_compute_reverse_execute.
1513
1514 2004-10-22  Aldy Hernandez  <aldyh@redhat.com>
1515
1516         * config/rs6000/rs6000.md (fix_truncdfsi2): Handle e500
1517         doubles.
1518         (floatunssidf2): Same.
1519         (floatsidf2): Same.
1520         ("extendsfdf2"): New expander.
1521         (*extendsfdf2_fpr): Rename.
1522         (*truncdfsf2_fpr): Same.
1523         (*negdf2_fpr): Same.
1524         (*absdf2_fpr): Same.
1525         (*nabsdf2_fpr): Same.
1526         (*adddf3_fpr): Same.
1527         (*subdf3_fpr): Same.
1528         (*muldf3_fpr): Same.
1529         (*divdf3_fpr): Same.
1530
1531         * config/rs6000/spe.md ("spe_extendsfdf2"): Remove FIXME comment.
1532         ("spe_fix_truncdfsi2"): Same.
1533         (spe_floatunssidf2): Same.
1534         (spe_floatsidf2): Same.
1535
1536 2004-11-09  Joseph S. Myers  <joseph@codesourcery.com>
1537
1538         PR c/18322
1539         * c-common.c (fname_decl): Don't use line number of decl in
1540         diagnostic.
1541
1542 2004-11-09  Ulrich Weigand  <uweigand@de.ibm.com>
1543
1544         * config/s390/s390-protos.h (s390_pool_operand): Remove.
1545         * config/s390/s390.c (s390_pool_operand): Likewise.
1546         (s390_extra_constraint_str): Handle 'B' constraints.
1547         * config/s390/s390.h (CONSTRAINT_LEN): Handle 'B' constraints.
1548         * config/s390/s390.md: Document 'B' constraints.
1549         ("*cmpdi_cct", "*cmpsi_cct"): Use 'B' constraint instead of
1550         s390_pool_operand to prevent insns with two literal pool
1551         references.  Make pattern commutative.
1552         ("*cmpdi_ccu", "*cmpsi_ccu", "*cmphi_ccu", "*cmpqi_ccu"): Use
1553         'B' constraint instead of s390_pool_operand.
1554
1555 2004-11-09  Kazu Hirata  <kazu@cs.umass.edu>
1556
1557         * tree-cfg.c (create_bb): Remove unnecessary memset.
1558
1559 2004-11-09  Kazu Hirata  <kazu@cs.umass.edu>
1560
1561         * tree-ssa-threadupdate.c (copy_phis_to_block): Remove.
1562         (thread_block): Call flush_pending_stmt instead of
1563         copy_phis_to_block.
1564
1565 2004-11-09  Kazu Hirata  <kazu@cs.umass.edu>
1566
1567         * loop-iv.c (iv_number_of_iterations): Make it static.
1568         * cfgloop.h: Remove the corresponding prototype.
1569
1570 2004-11-09  Kazu Hirata  <kazu@cs.umass.edu>
1571
1572         * function.c (combine_temp_slots, assign_parms,
1573         expand_pending_sizes): Make them static.
1574         * tree.h: Remove the corresponding prototypes.
1575
1576 2004-11-09  Kazu Hirata  <kazu@cs.umass.edu>
1577
1578         * emit-rtl.c (copy_most_rtx): Remove.
1579         * rtl.h: Remove the corresponding prototype.
1580
1581 2004-11-09  Kazu Hirata  <kazu@cs.umass.edu>
1582
1583         * cfgloop.c (flow_loops_update): Remove.
1584         * cfgloop.h: Remove the corresponding prototype.
1585
1586 2004-11-09  Kazu Hirata  <kazu@cs.umass.edu>
1587
1588         * conflict.c (mark_reg, conflict_graph_compute): Remove.
1589         * basic-block.h: Remove the prototype for
1590         conflict_graph_compute.
1591
1592 2004-11-09  Kazu Hirata  <kazu@cs.umass.edu>
1593
1594         * tree-if-conv.c (add_to_dst_predicate_list): Change the
1595         second argument to basic_block.
1596         (tree_if_convert_cond_expr): Update call sites.
1597
1598 2004-11-09  Kazu Hirata  <kazu@cs.umass.edu>
1599
1600         * fold-const.c (pedantic_non_lvalue): Make it static.
1601         * tree.h: Remove the corresponding prototype.
1602
1603 2004-11-09  Kazu Hirata  <kazu@cs.umass.edu>
1604
1605         * optabs.c (prepare_operand): Make it static.
1606         * optabs.h: Remove the corresponding prototype.
1607
1608 2004-11-09  Kazu Hirata  <kazu@cs.umass.edu>
1609
1610         * reload1.c (reloads_conflict, gen_reload): Make them static.
1611         * reload.h: Remove the corresponding prototypes.
1612
1613 2004-11-09  Kazu Hirata  <kazu@cs.umass.edu>
1614
1615         * reload.c (refers_to_mem_for_reload_p,
1616         refers_to_regno_for_reload_p): Make them static.
1617         * reload.h: Remove the corresponding prototypes.
1618
1619 2004-11-09  James A. Morrison  <phython@gcc.gnu.org>
1620             Eric Botcazou  <ebotcazou@libertysurf.fr>
1621
1622         PR target/18230
1623         * doc/md.texi (SPARC constraints): Document 'Y' constraint.
1624         * config/sparc/sparc-modes.def: Add vector modes of 4 and 8 bytes.
1625         * config/sparc/sparc.c (sparc_vector_mode_supported_p): New function.
1626         (TARGET_VECTOR_MODE_SUPPORTED_P): Set to sparc_vector_mode_supported_p.
1627         (fp_zero_operand): Accept MODE_VECTOR_INT modes.
1628         (input_operand): Accept CONST_VECTOR with MODE_VECTOR_INT modes.
1629         (sparc_cannot_force_const_mem): Return false for CONST_VECTOR.
1630         (sparc_init_modes): Set sparc_mode_class to SF_MODE or DF_MODE for
1631         MODE_VECTOR_INT modes.
1632         (sparc_extra_constraint_check): Add new constraint 'Y'.
1633         * config/sparc/sparc.h: Define UNITS_PER_SIMD_WORD to 8 for TARGET_VIS.
1634         * config/sparc/sparc.md (V32): New mode macro for 32-bit modes.
1635         (V64): New mode macro for 64-bit modes.
1636         (movsf): Use V32 for mode instead of SF.
1637         (movsf_insn_vis): Use V32 for mode instead of SF.  Add 'Y' constraint
1638         alongside 'G' constraint.
1639         (movdf): Use V64 for mode instead of DF.
1640         (movdf_insn_v9only_vis, modf_insn_sp64_vis): Use V64 for mode instead
1641         of DF.  Add 'Y' constraint alongside 'G' constraint.
1642         (multi-isn and misaligned mems DFmode splitters): Use V64 for mode
1643         instead of DF.
1644
1645 2004-11-09  Ulrich Weigand  <uweigand@de.ibm.com>
1646
1647         * config/s390/s390.c (s390_select_ccmode): Return CCAPmode for
1648         integer NEG and ABS.
1649         * config/s390/s390.md ("*negdi2_64"): Fix op_type attribute.
1650         ("*negdi2_31"): Reimplement using a splitter.
1651         ("*negdi2_cc", "*negdi2_cconly"): New insns.
1652         ("*negdi2_sign", "*negdi2_sign_cc"): Likewise.
1653         ("*negsi2_cc", "*negsi2_cconly"): Likewise.
1654         ("*negdf2_cc", "*negdf2_cconly"): Likewise.
1655         ("*negsf2_cc", "*negsf2_cconly"): Likewise.
1656         ("*absdi2_cc", "*absdi2_cconly"): New insns.
1657         ("*absdi2_sign", "*absdi2_sign_cc"): Likewise.
1658         ("*abssi2_cc", "*abssi2_cconly"): Likewise.
1659         ("*absdf2_cc", "*absdf2_cconly"): Likewise.
1660         ("*abssf2_cc", "*abssf2_cconly"): Likewise.
1661         ("*negabsdi2_cc", "*negabsdi2_cconly"): New insns.
1662         ("*negabsdi2_sign", "*negabsdi2_sign_cc"): Likewise.
1663         ("*negabssi2_cc", "*negabssi2_cconly"): Likewise.
1664         ("*negabsdf2_cc", "*negabsdf2_cconly"): Likewise.
1665         ("*negabssf2_cc", "*negabssf2_cconly"): Likewise.
1666
1667 2004-11-09  Ulrich Weigand  <uweigand@de.ibm.com>
1668
1669         * config/s390/s390.c (s390_canonicalize_comparison): Reverse condition
1670         when eliminating an UNSPEC_CMPINT.
1671         (s390_secondary_input_reload_class): Fix test for CC register reload.
1672         (s390_secondary_output_reload_class): Likewise.
1673         (s390_expand_cmpmem): Swap operands.  Use gen_cmpint.
1674         * config/s390/s390.md ("*cmpint_si", "*cmpint_di"): Remove.
1675         ("cmpint", "*cmpint_cc", "*cmpint_sign", "*cmpint_sign_cc"): New
1676         insn patterns with splitters.
1677
1678 2004-11-09  David Edelsohn  <edelsohn@gnu.org>
1679
1680         * config/rs6000/rs6000.c (rs6000_rtx_costs): Add EQ, GTU, and LTU.
1681         * config/rs6000/rs6000.md (sCC): Split GTU and LTU patterns.
1682
1683 2004-11-09  Kazu Hirata  <kazu@cs.umass.edu>
1684
1685         * tree-phinodes.c (phi_reverse): New.
1686         * tree-cfg.c (tree_make_forwarder_block, tree_duplicate_bb):
1687         Use it.
1688         * tree-flow.h: Add a prototype for phi_reverse.
1689
1690 2004-11-09  Kazu Hirata  <kazu@cs.umass.edu>
1691
1692         * tree-ssa-loop-ivopts.c: Fix a comment typo.
1693
1694 2004-11-09  James A. Morrison  <phython@gcc.gnu.org>
1695
1696         PR pch/14940
1697         * config/host-linux.c (TRY_EMPTY_VM_SPACE): Add __sparc__
1698         definitions.
1699
1700 2004-11-09  Joseph S. Myers  <joseph@codesourcery.com>
1701
1702         * builtins.c, c-common.c, c-decl.c, c-format.c: Say "argument"
1703         instead of "arg" in diagnostics.
1704
1705 2004-11-09  Joseph S. Myers  <joseph@codesourcery.com>
1706
1707         * builtins.c, c-common.c, c-decl.c, c-format.c, c-format.h,
1708         c-parse.in, c-pch.c, c-pragma.c, collect2.c, final.c, gcc.c,
1709         gcov.c, opts.c, pretty-print.h, protoize.c, reg-stack.c, rtl.c,
1710         tlink.c, config/alpha/alpha.c, config/arc/arc.c, config/arm/arm.c,
1711         config/avr/avr.c, config/c4x/c4x.c, config/darwin.c,
1712         config/frv/frv.c, config/h8300/h8300.c, config/i386/i386.c,
1713         config/i386/winnt.c, config/ia64/ia64.c, config/ip2k/ip2k.c,
1714         config/iq2000/iq2000.c, config/m32r/m32r.c,
1715         config/m68hc11/m68hc11.c, config/m68k/m68k.c, config/m68k/m68k.h,
1716         config/mcore/mcore.c, config/mips/mips.c, config/mmix/mmix.c,
1717         config/ns32k/ns32k.c, config/rs6000/host-darwin.c,
1718         config/rs6000/rs6000.c, config/s390/s390.c, config/sh/sh.c,
1719         config/sh/symbian.c, config/stormy16/stormy16.c,
1720         config/v850/v850.c: Avoid "`" as left quote, using "'" or %q, %<
1721         and %> as appropriate.  Use %' as apostrophe in diagnostics where
1722         applicable.  Use %< and %> in place of '' quotes where applicable.
1723         Use %qs in place of %<%s%>.  Consistently quote __builtin function
1724         names.
1725
1726 2004-11-09  Hans-Peter Nilsson  <hp@bitrange.com>
1727
1728         * gdbinit.in (pbb, pbm): New macros.
1729
1730 2004-11-08 Jeff Law  <law@redhat.com>
1731
1732         * cfg.c (redirect_edge_succ_nodup): Use find_edge rather than
1733         implementing it inline.
1734
1735         * cfganal.c (find_edge): Search pred->succs or succ->preds,
1736         whichever is shorter.
1737
1738 2004-11-08  Kazu Hirata  <kazu@cs.umass.edu>
1739
1740         * passes.c (rest_of_handle_jump): Remove dead code.
1741
1742 2004-11-08  Kazu Hirata  <kazu@cs.umass.edu>
1743
1744         * tree-cfg.c (thread_jumps): Speed up by keeping a pointer to
1745         the last used element in the worklist.
1746
1747 2004-11-08  Kazu Hirata  <kazu@cs.umass.edu>
1748
1749         * tree-inline.c (remap_save_expr): Make it static.
1750         * tree-inline.h: Remove the corresponding prototype.
1751
1752 2004-11-08  Kazu Hirata  <kazu@cs.umass.edu>
1753
1754         * tree-ssa-loop-niter.c (upper_bound_in_type,
1755         lower_bound_in_type): Make them static.
1756         * tree.h: Remove the corresponding prototypes.
1757
1758 2004-11-08  Kazu Hirata  <kazu@cs.umass.edu>
1759
1760         * tree-ssa-live.c (tpa_init, pop_best_coalesce): Make them
1761         static.
1762         * tree-ssa-live.h: Remove the corresponding prototypes.
1763
1764 2004-11-08  Kazu Hirata  <kazu@cs.umass.edu>
1765
1766         * tree-if-conv.c (tree_if_conversion): Make it static.
1767         * tree-flow.h: Remove the corresponding prototype.
1768
1769 2004-11-08  Kazu Hirata  <kazu@cs.umass.edu>
1770
1771         * tree-ssa-operands.c (build_ssa_operands): Make it static.
1772         * tree-flow.h: Remove the corresponding prototype.
1773
1774 2004-11-08  Andrew Pinski  <pinskia@physics.uc.edu>
1775
1776         PR tree-opt/18299
1777         * tree-inline.c (copy_body_r): Change "t = t" to empty
1778         statement instead of "t".
1779
1780 2004-11-08  Kazu Hirata  <kazu@cs.umass.edu>
1781
1782         * modulo-sched.c (create_partial_schedule,
1783         free_partial_schedule, reset_partial_schedule,
1784         ps_add_node_check_conflicts, rotate_partial_schedule): Make
1785         them static.
1786
1787 2004-11-08  Richard Henderson  <rth@redhat.com>
1788
1789         * expmed.c (extract_force_align_mem_bit_field): Correct handling at
1790         the end of a page.
1791
1792 2004-11-08  Kazu Hirata  <kazu@cs.umass.edu>
1793
1794         * sched-deps.c (add_insn_mem_dependence): Make it static.
1795         * sched-int.h: Remove the corresponding prototypes.
1796
1797 2004-11-08  Kazu Hirata  <kazu@cs.umass.edu>
1798
1799         * flow.c (allocate_bb_life_data): Make it static.
1800         * basic-block.h: Remove the corresponding prototype.
1801
1802 2004-11-08  Kazu Hirata  <kazu@cs.umass.edu>
1803
1804         * calls.c (split_complex_values, split_complex_types): Make
1805         them static.
1806         * expr.h: Remove the corresponding prototypes.
1807
1808 2004-11-08  Richard Earnshaw  <rearnsha@arm.com>
1809
1810         * arm.c (arm_handle_notshared_attribute): Wrap declaration and use
1811         with #if TARGET_DLLIMPORT_DECL_ATTRIBUTES.
1812
1813 2004-11-08  Kazu Hirata  <kazu@cs.umass.edu>
1814
1815         * tree-if-conv.c (tree_if_convert_cond_expr): Remove two "if"
1816         statements that always trigger.
1817
1818 2004-11-08  Kazu Hirata  <kazu@cs.umass.edu>
1819
1820         * tree-cfg.c, tree-if-conv.c, tree-into-ssa.c,
1821         tree-scalar-evolution.c, tree-ssa-loop-im.c,
1822         tree-ssa-loop-ivopts.c, tree-ssa-loop-manip.c, tree-ssa.c,
1823         tree-vectorizer.c: Replace TREE_CHAIN with PHI_CHAIN where
1824         appropriate.
1825
1826 2004-11-08  Ben Elliston  <bje@au.ibm.com>
1827
1828         * cgraph.h (cgraph_calls_p): Remove.
1829         * cgraph.c (cgraph_calls_p): Likewise.
1830
1831         * varray.h (varray_copy): Remove.
1832         * varray.c (varray_copy): Likewise.
1833
1834 2004-11-07  Andrew Pinski  <pinskia@physics.uc.edu>
1835
1836         PR target/18269
1837         * config/darwin.c (machopic_indirect_data_reference):
1838         Call gen_macho_high and gen_macho_low instead of
1839         checking the mode and calling gen_macho_high_di directly.
1840         * config/rs6000/rs6000.c (rs6000_emit_move): Likewise.
1841         * config/rs6000/rs6000.md: Move most of TARGET_MACHO expand/insns
1842         to darwin.md.
1843         (movdf_low, movsf_low, movsf_low_st, movsi_low, macho_correct_pic,
1844         load_macho_picbase, macho_low, macho_high): Removed.
1845         (builtin_setjmp_receiver): Call gen_macho_high and
1846         gen_macho_low instead of checking the mode and calling
1847         gen_macho_high_di directly.
1848         * config/rs6000/darwin.md (load_macho_picbase_di): Use the MD constant.
1849         (movdf_low_si, movsf_low_si, movsf_low_st_si, movsi_low_st):
1850         Moved from rs6000.md.
1851         (macho_high): New expander.
1852         (macho_high_si): Renamed version of macho_high from rs6000.md.
1853         (macho_low): New expander.
1854         (macho_low_si): Renamed version of macho_low from rs6000.md.
1855         (load_macho_picbase): New expander.
1856         (load_macho_picbase_si): Renamed version of load_macho_picbase
1857         from rs6000.md.
1858         (macho_correct_pic): New expander.
1859         (macho_correct_pic_si): Renamed version of macho_correct_pic
1860         from rs6000.md.
1861
1862 2004-11-07  Joseph S. Myers  <joseph@codesourcery.com>
1863
1864         * c-decl.c (finish_struct): Use complete sentences for diagnostic
1865         for structures or unions with no members or named members.
1866
1867 2004-11-07  Joseph S. Myers  <joseph@codesourcery.com>
1868
1869         * c-typeck.c (build_unary_op): Replace unreachable diagnostic for
1870         taking address of bit-field by assertion.
1871
1872 2004-11-06  Ulrich Weigand  <uweigand@de.ibm.com>
1873
1874         * config/s390/s390.md (attribute "op_type"): Default to "NN".
1875         (attribute "atype"): Default to "agen".
1876         (attribute "length"): Default to 6.
1877         (define_asm_attibutes): Remove.
1878         ("movti", "*movdi_64", "*movdi_31", "*movsi_zarch", "*movsi_esa",
1879         "*movhi", "*movqi", "*movdf_64", "*movdf_31", "movsf",
1880         "*clc", "*mvc", "*nc", "*oc", "*xc", "*xc_zero"):
1881         Do not set type attribute to "cs" where already default.
1882         ("*cmpint_si", "*cmpint_di", "fix_truncdfsi2_ibm", "floatsidf2_ibm",
1883         "*negdi2_31"):
1884         Do not set type attribute to "other" where already default.
1885         ("movti", "*movdi_64", "*movdi_31", "*movdf_31",
1886         "*strlendi", "*strlensi",
1887         "*movmem_long_64", "*movmem_long_31",
1888         "*clrmem_long_64", "*clrmem_long_31",
1889         "*cmpmem_long_64", "*cmpmem_long_31",
1890         "*cmpint_si", "*cmpint_di",
1891         "addti3", "*adddi3_31z", "*adddi3_31",
1892         "subti3", "*subdi3_31z", "*subdi3_31", "*negdi2_31",
1893         "*sconddi", "*scondsi", "*sconddi_neg", "*scondsi_neg",
1894         "fix_truncdfsi2_ibm", "floatsidf2_ibm", "extendsfdf2_ibm",
1895         "*pool_entry", "pool_align", "pool_section_start",
1896         "pool_section_end", "main_pool", "reload_base_31", "pool"):
1897         Do not set op_type attribute to "NN" where already default.
1898         ("*extractqi", "*extracthi", "*zero_extendhisi2_31",
1899         "*zero_extendqisi2_31", "*zero_extendqihi2_31",
1900         "fix_truncdfsi2_ibm", "floatsidf2_ibm"):
1901         Do not set atype attribute to "agen" where already default.
1902         ("*movmem_short", "*clrmem_short", "*cmpmem_short"): Don't set op_type.
1903
1904 2004-11-06  Richard Sandiford  <rsandifo@redhat.com>
1905
1906         * config/mips/t-iris6 (tp-bit.c): Fix target filename.
1907
1908 2004-11-06  Richard Sandiford  <rsandifo@redhat.com>
1909
1910         PR target/16830
1911         * config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Don't define the
1912         R3000 and R4000 macros on IRIX.
1913
1914 2004-11-06  Andreas Schwab  <schwab@suse.de>
1915
1916         PR target/16286
1917         * config/rs6000/altivec.h: Replace bool by __bool and pixel by
1918         __pixel.
1919
1920 2004-11-06  Kazu Hirata  <kazu@cs.umass.edu>
1921
1922         * tree-ssa-copyrename.c (rename_ssa_copies): Make it static.
1923
1924 2004-11-06  Ulrich Weigand  <uweigand@de.ibm.com>
1925
1926         * config/s390/2064.md ("z_int", "z_agen"): Ensure the condition
1927         matches no insns already matched by other reservations.
1928         * config/s390/2084.md ("x_int", "x_agen"): Ensure the condition
1929         matches no insns already matched by other reservations.
1930         ("x_ss"): Remove, replace by ...
1931         ("x_cs"): ... this new reservation.  Check type instead of op_type.
1932         Update bypasses to use x_cs instead of x_ss.
1933         ("x_nn"): Remove, replace by ...
1934         ("x_other"): ... this new reservation.  Check type instead of op_type.
1935         Add x_other and x_branch to bypasses.
1936         ("x_vs"): New reservation.
1937         * config/s390/s390.md (attribute "type"): Default according to op_type.
1938         ("*execute"): Set type to "cs".
1939
1940 2004-11-06  Kazu Hirata  <kazu@cs.umass.edu>
1941
1942         * fold-const.c (non_lvalue): Don't construct NON_LVALUE_EXPR
1943         if we are in GIMPLE.
1944
1945 2004-11-06  Hans-Peter Nilsson  <hp@bitrange.com>
1946
1947         PR rtl-optimization/17933
1948         * rtlanal.c (dead_or_set_regno_p): Break out common code to...
1949         (covers_regno_p): New function.  Handle SETs of PARALLEL,
1950         and defer the rest to...
1951         (covers_regno_no_parallel_p): New function.
1952
1953 2004-11-06  Eric Botcazou  <ebotcazou@libertysurf.fr>
1954
1955         * config/sparc/sparc.c (function_arg_record_value_1): Skip
1956         fields with zero length.
1957         (function_arg_record_value_2): Likewise.
1958         (function_arg_record_value_3): Use smallest_mode_for_size
1959         instead of mode_for_size.
1960         (function_arg_union_value): Return naked register for unions
1961         with zero length.
1962
1963 2004-11-06  Eric Botcazou  <ebotcazou@libertysurf.fr>
1964
1965         * config/sparc/sparc.c (scan_record_type): Handle vector types.
1966         (function_arg_slotno): Handle vector types specially.
1967         (function_arg_record_value_1): Split fields with vector type and
1968         BLKmode into their subparts.
1969         (function_arg_record_value_2): Likewise.  Be prepared to handle
1970         more than 2 registers per field.
1971         (function_arg_union_value): Increment regno inside the loop.
1972         (function_arg_vector_value): New function.
1973         (function_arg): Use it to split fields with vector type and
1974         BLKmode into their subparts and build a PARALLEL.  Treat
1975         other vector types like floats.
1976         (function_value): Likewise.
1977         (sparc_pass_by_reference): Handle vector types.
1978         (sparc_return_in_memory): Likewise.
1979
1980 2004-11-06  Kazu Hirata  <kazu@cs.umass.edu>
1981
1982         * tree-cfg.c (find_taken_edge_cond_expr): Remove an "if"
1983         statement that never triggers.
1984
1985 2004-11-06  Ulrich Weigand  <uweigand@de.ibm.com>
1986
1987         * config/s390/2064.md ("z_o2", "z_o3"): Remove.
1988         * config/s390/2084.md ("x_o2", "x_o3"): Remove.
1989         ("x_fdivd"): Use also for fsqrtd type.
1990         ("x_fdivs"): Use also for fsqrts type.
1991         * config/s390/s390.md (attribute "type"): Remove "o2" and "o3" types.
1992         ("fix_truncdfsi2_ieee"): Set type to "ftoi".
1993         ("fix_truncdfsi2_ibm"): Set type to "other".
1994         ("floatdidf2", "floatdisf2"): Do not clobber CC.
1995         ("floatsidf2", "floatsidf2_ieee"): Likewise.
1996         ("floatsisf2", "floatsisf2_ieee"): Likewise.
1997         ("truncdfsf2", "truncdfsf2_ieee"): Only allow "register_operand".
1998         ("truncdfsf2_ibm"): Only allow "nonimmediate_operand".  Use LER
1999         instead of LRER.
2000         ("extendsfdf2_ibm"): Do not set atype.  Set type to "floads".
2001         ("sqrtdf2"): Set type to "fsqrtd".
2002         ("sqrtsf2"): Set type to "fsqrts".
2003
2004 2004-11-06  Kazu Hirata  <kazu@cs.umass.edu>
2005
2006         * tree-phinodes.c (remove_all_phi_nodes_for): Speed up using a
2007         pointer to the last PHI node in the new PHI chain.
2008
2009 2004-11-06  Kaz Kojima  <kkojima@gcc.gnu.org>
2010
2011         * config/sh/sh.c (prepare_move_operands): Emit a use of r12
2012         for non-PIC TLS_MODEL_INITIAL_EXEC case.
2013
2014 2004-11-06  Kazu Hirata  <kazu@cs.umass.edu>
2015
2016         * expmed.c: Fix a comment typo.
2017
2018 2004-11-06  Aaron W. LaFramboise  <aaronavay62@aaronwl.com>
2019
2020         PR target/18106
2021         * config/i386/cygming.h
2022         [HAVE_GAS_WEAK] (ASM_WEAKEN_LABEL): Macro defined.
2023
2024 2004-11-06  Kazu Hirata  <kazu@cs.umass.edu>
2025
2026         * config/sh/sh4a.md: Fix copyright.
2027
2028 2004-11-06  Kazu Hirata  <kazu@cs.umass.edu>
2029
2030         * config/rs6000/darwin.md, config/sh/sh4a.md: Replace GNU CC
2031         with GCC.
2032
2033 2004-11-05  David Edelsohn  <edelsohn@gnu.org>
2034
2035         * config/rs6000/rs6000.md (scc patterns): Replace subfc with subf
2036         when carry not used.  Suggested by Torbjorn Granlund.
2037
2038         * config/rs6000/rs6000.c (rs6000_emit_move): Don't force_reg
2039         operand[1] unnecessarily.  Suggested by Eric Christopher.
2040         (rs6000_adjust_cost): Increase latency of store to wider load.
2041         (rs6000_rtx_costs): mulli only allows 16-bit constants.
2042
2043 2004-11-05  Stan Shebs  <shebs@apple.com>
2044
2045         * config/rs6000/rs6000.c (machopic_output_stub): Output
2046         ldu instead of lwzu for 64-bit stubs.
2047
2048 2004-11-05  Richard Henderson  <rth@redhat.com>
2049
2050         * config/alpha/alpha.c (alpha_expand_unaligned_load): Special case
2051         size 2 with BWX.
2052         (alpha_expand_unaligned_store): Likewise.
2053
2054 2004-11-05  Richard Henderson  <rth@redhat.com>
2055
2056         * expmed.c (extract_force_align_mem_bit_field): New.
2057         (extract_split_bit_field): Call it.
2058
2059 2004-11-05  Richard Henderson  <rth@redhat.com>
2060
2061         * ia64.md (UNSPEC_SHRP): New.
2062         (dshift_count_operand): New.
2063         (ashrti3, ashrti3_internal, lshrti3, lshrti3_internal, shrp): New.
2064         * ia64.c (rtx_needs_barrier): Handle UNSPEC_SHRP.
2065
2066 2004-11-05  Joseph S. Myers  <joseph@codesourcery.com>
2067
2068         * c-typeck.c (output_init_element): Return early if value is
2069         error_mark_node.
2070
2071 2004-11-05  James E Wilson  <wilson@specifixinc.com>
2072
2073         * invoke.texi (-fno-guess-branch-probability): Rewrite.
2074
2075         * config/ia64/ia64.c (rtx_needs_barrier, case UNSPEC_GR_SPILL): Change
2076         1 to UNSPEC_GR_SPILL.
2077
2078 2004-11-05  Andreas Krebbel  <krebbel1@de.ibm.com>
2079
2080         * config/s390/s390.c (s390_fixed_condition_code_regs): New function.
2081         (TARGET_FIXED_CONDITION_CODE_REGS): Macro defined.
2082
2083 2004-11-05  Nathan Sidwell  <nathan@codesourcery.com>
2084
2085         * bitmap.h (enum bitmap_bits): Remove.
2086         (bitmap_operation): Remove.
2087         (bitmap_and, bitmap_and_into, bitmap_and_compl,
2088         bitmap_and_compl_into, bitmap_ior, bitmap_ior_into, bitmap_xor,
2089         bitmap_xor_into): Prototype.
2090         * bitmap.c (bitmap_elt_insert_after, bitmap_elt_clear_from): New.
2091         (bitmap_operation): Remove.
2092         (bitmap_and, bitmap_and_into, bitmap_and_compl,
2093         bitmap_and_compl_into, bitmap_ior, bitmap_ior_into, bitmap_xor,
2094         bitmap_xor_into): New.
2095         (bitmap_ior_and_compl, bitmap_ior_and_compl_into): Adjust.
2096
2097         PR tree-optimization/18307
2098         * tree-ssa-alias.c (merge_pointed_to_info): Protected against DEST
2099         and ORIG being the same node.
2100
2101 2004-11-04  Geoffrey Keating  <geoffk@apple.com>
2102
2103         * Makefile.in (distclean): Don't delete nonexistent fixinc/ directory.
2104         (install-mkheaders): Install the version built for the
2105         host, not for the build machine.
2106         * configure.ac: Always run fixincludes.
2107         (all_outputs): Remove mkheaders.
2108         * configure: Regenerate.
2109         * fixinc.in: Move to fixincludes/.
2110         * mkfixinc.sh: Likewise.
2111         * mkheaders.in: Likewise.
2112         * README-fixinc: Likewise.
2113
2114 2004-11-05  Ramana Radhakrishnan  <ramana.radhakrishnan@codito.com>
2115
2116         PR target/18263
2117         * config/arc/lib1funcs.asm (___umulsidi3): Change use of cmp to the
2118         equivalent on the A4.
2119
2120 2004-11-05  Joseph S. Myers  <joseph@codesourcery.com>
2121
2122         * doc/c-tree.texi, doc/cfg.texi, doc/contrib.texi, doc/cpp.texi,
2123         doc/cppopts.texi, doc/extend.texi, doc/fragments.texi,
2124         doc/frontends.texi, doc/gcov.texi, doc/hostconfig.texi,
2125         doc/implement-c.texi, doc/install.texi, doc/invoke.texi,
2126         doc/libgcc.texi, doc/md.texi, doc/passes.texi,
2127         doc/portability.texi, doc/rtl.texi, doc/sourcebuild.texi,
2128         doc/standards.texi, doc/tm.texi, doc/tree-ssa.texi,
2129         doc/trouble.texi: Correct end-of-sentence markup and markup of
2130         "etc.", "e.g." and "i.e.".  Use @code in various places where
2131         appropriate.
2132
2133 2004-11-05  Joseph S. Myers  <joseph@codesourcery.com>
2134
2135         * doc/c-tree.texi, doc/cfg.texi, doc/extend.texi, doc/gty.texi,
2136         doc/install.texi, doc/invoke.texi, doc/md.texi, doc/passes.texi,
2137         doc/rtl.texi, doc/tm.texi, doc/tree-ssa.texi: Remove trailing
2138         whitespace.
2139
2140 2004-11-04  Mark Mitchell  <mark@codesourcery.com>
2141
2142         * config/arm/arm.c (arm_handle_notshared_attribute): New function.
2143         * doc/extend.texi: Document "notshared" attribute.
2144
2145 2004-11-04  Kazu Hirata  <kazu@cs.umass.edu>
2146
2147         * tree-phinodes.c (make_phi_node): Make it static.
2148         * tree.h: Remove the prototypes for make_phi_node.
2149
2150 2004-11-04  Kazu Hirata  <kazu@cs.umass.edu>
2151
2152         * stmt.c (expand_asm, expand_asm_operands): Make them static.
2153         * tree.h: Remove the prototypes for expand_asm and
2154         expand_asm_operands.
2155
2156 2004-11-04  Kazu Hirata  <kazu@cs.umass.edu>
2157
2158         * passes.c (rest_of_compilation): Make it static.
2159         * toplev.h: Remove the prototype for rest_of_compilation.
2160
2161 2004-11-04  Kazu Hirata  <kazu@cs.umass.edu>
2162
2163         * jump.c (cleanup_barriers): Use delete_insn instead of
2164         delete_barrier.
2165         (delete_barrier): Remove.
2166         * rtl.h: Remove the corresponding prototype.
2167
2168 2004-11-04  Kazu Hirata  <kazu@cs.umass.edu>
2169
2170         * expr.c (mostly_zero_p): Make it static.
2171         * tree.h: Remove the prototype for mostly_zeros_p.
2172
2173 2004-11-04  Kazu Hirata  <kazu@cs.umass.edu>
2174
2175         * cfgrtl.c (force_nonfallthru_and_redirect): Make it static.
2176
2177 2004-11-04  Kazu Hirata  <kazu@cs.umass.edu>
2178
2179         * builtins.c (expand_builtin_return_addr,
2180         expand_builtin_longjmp, expand_builtin_trap): Make them static.
2181         * expr.h: Remove the prototypes for expand_builtin_longjmp and
2182         expand_builtin_trap.
2183         * tree.h: Remove the prototype for expand_builtin_return_addr.
2184
2185 2004-11-04  Kazu Hirata  <kazu@cs.umass.edu>
2186
2187         * tree-cfg.c (find_taken_edge): Reject VAL begin NULL.
2188         * tree-ssa-ccp.c (visit_cond_stmt): Don't call find_taken_edge
2189         with VAL being NULL.
2190
2191 2004-11-04  Kazu Hirata  <kazu@cs.umass.edu>
2192
2193         * cfghooks.c (delete_basic_block): Remove code to truncate
2194         edge vectors.
2195
2196 2004-11-04  Andrew Pinski  <pinskia@physics.uc.edu>
2197
2198         * flow.c (init_propagate_block_info): Change the type of i to
2199         unsigned.
2200
2201 2004-11-04  Ulrich Weigand  <uweigand@de.ibm.com>
2202
2203         PR tree-optimization/18184
2204         * c-typeck.c (comptypes): Do not treat pointers of different
2205         modes or alias-all flags as equivalent.
2206         * tree-ssa.c (tree_ssa_useless_type_conversion_1): Likewise.
2207
2208 2004-11-04  Joseph S. Myers  <joseph@codesourcery.com>
2209
2210         * doc/gty.texi, doc/makefile.texi, doc/sourcebuild.texi: Don't
2211         reference specific C parser files in examples.
2212
2213 2004-11-04  Richard Sandiford  <rsandifo@redhat.com>
2214
2215         PR target/15342
2216         * regrename.c (scan_rtx): Treat the destinations of SETs and CLOBBERs
2217         as OP_INOUT if the instruction is predicated.
2218
2219 2004-11-04  Kazu Hirata  <kazu@cs.umass.edu>
2220
2221         * bitmap.h: Fix a comment typo.  Follow spelling conventions.
2222         * tree-vectorizer.c: Fix a comment typo.
2223
2224 2004-11-04  Kazu Hirata  <kazu@cs.umass.edu>
2225
2226         * sdbout.c (SDB_GENERATE_FAKE): Remove.
2227         (gen_fake_label): Don't use SDB_GENERATE_FAKE.
2228         * system.h: Poison SDB_GENERATE_FAKE.
2229         * doc/tm.texi (SDB_GENERATE_FAKE): Remove.
2230
2231 2004-11-04  Ulrich Weigand  <uweigand@de.ibm.com>
2232
2233         * config/s390/s390.md ("*addsi3_sign"): Use canonical RTL.
2234
2235 2004-11-04  Eric Botcazou  <ebotcazou@libertysurf.fr>
2236
2237         PR other/18277
2238         * gthr-posix.h (__gthread_recursive_mutex_init_function): Revert
2239         2004-10-29 patch
2240
2241 2004-11-04  Nathan Sidwell  <nathan@codesourcery.com>
2242
2243         * predict.c (propagate_freq): Make bitno unsigned. Move
2244         npredecessors update out of loop.
2245
2246         * bitmap.h (bitmap_iterator): Remove word_bit and bit
2247         fields. Rename others.
2248         (bmp_iter_common_next_1, bmp_iter_single_next_1,
2249         bmp_iter_single_init, bmp_iter_end_p, bmp_iter_single_next,
2250         bmp_iter_and_not_next_1, bmp_iter_and_not_init,
2251         bmp_iter_and_not_next, bmp_iter_and_next_1, bmp_iter_and_init,
2252         bmp_iter_and_next): Remove.
2253         (bmp_iter_set_init, bmp_iter_and_init, bmp_iter_and_compl_init,
2254         bmp_iter_next, bmp_iter_set, bmp_iter_and, bmp_iter_and_compl):
2255         New.
2256         (EXECUTE_IF_SET_IN_BITMAP, EXECUTE_IF_AND_IN_BITMAP,
2257         EXECUTE_IF_AND_COMPL_IN_BITMAP): Adjust.
2258
2259         * bitmap.h (bitmap_a_or_b, bitmap_a_and_b): Remove.
2260         * df.c (dataflow_set_a_op_b): Use bitmap_and, bitmap_ior,
2261         bitmap_and_into, bitmap_ior_into as appropriate.
2262         * except.c (remove_eh_handler): Likewise.
2263         * global.c (modify_bb_reg_pav, make_accurate_live_analysis): Likewise.
2264         * tree-dfa.c (mark_new_vars_to_rename): Likewise.
2265         * tree-ssa-alias.c (merge_pointed_to_info): Likewise.
2266         * tree-ssa-live.h (live_merge_and_clear): Likewise.
2267         * tree-ssa-loop-ivopts.c (find_best_candidate, try_add_cand_for):
2268         Likewise.
2269
2270         * bitmap.c (bitmap_print): Make bitno unsigned.
2271         * bt-load.c (clear_btr_from_live_range,
2272         btr_def_live_range): Likewise.
2273         * caller-save.c (save_call_clobbered_regs): Likewise.
2274         * cfganal.c (compute_dominance_frontiers_1): Likewise.
2275         * cfgcleanup.c (thread_jump): Likewise.
2276         * cfgrtl.c (safe_insert_insn_on_edge): Likewise.
2277         * conflict.c (conflict_graph_compute): Likewise.
2278         * ddg.c (add_deps_for_use): Likewise.
2279         * df.c (df_refs_update): Likewise.
2280         * except.c (remove_eh_handler): Likewise.
2281         * flow.c (verify_local_live_at_start, update_life_info,
2282         initialize_uninitialized_subregs, propagate_one_insn,
2283         free_propagate_block_info, propagate_block, find_use_as_address,
2284         reg_set_to_hard_reg_set): Likewise.
2285         * gcse.c (clear_modify_mem_tables): Likewise.
2286         * global.c (global_conflicts, build_insn_chain): Likewise.
2287         * ifcvt.c (dead_or_predicable): Likewise.
2288         * local-alloc.c (update_equiv_regs): Likewise.
2289         * loop.c (load_mems): Likewise.
2290         * ra-build.c (livethrough_conflicts_bb, conflicts_between_webs):
2291         Likewise.
2292         * ra-rewrite.c (reloads_to_loads, rewrite_program2, actual_spill):
2293         Likewise.
2294         * reload1.c (order_regs_for_reload, finish_spills): Likewise.
2295         * sched-deps.c (sched_analyze_insn, free_deps): Likewise.
2296         * sched-rgn.c (propagate_deps
2297         * tree-cfg.c (tree_purge_all_dead_eh_edges): Likewise.
2298         * tree-dfa.c (dump_dfa_stats
2299         tree-into-ssa.c (compute_global_livein, insert_phi_nodes,
2300         insert_phi_nodes_for, debug_def_blocks_r, invalidate_name_tags):
2301         Likewise.
2302         * tree-outof-ssa.c (coalesce_ssa_name, coalesce_vars,
2303         free_temp_expr_table, find_replaceable_exprs): Likewise.
2304         * tree-sra.c (scan_function, scalarize_parms): Likewise.
2305         * tree-ssa-alias.c (init_alias_info,
2306         compute_points_to_and_addr_escape,
2307         compute_flow_sensitive_aliasing, maybe_create_global_var): Likewise.
2308         * tree-ssa-dce.c (mark_control_dependent_edges_necessary): Likewise.
2309         * tree-ssa-live.c (new_tree_live_info, live_worklist,
2310         calculate_live_on_entry, calculate_live_on_exit, compare_pairs,
2311         sort_coalesce_list, build_tree_conflict_graph, dump_live_info
2312         tree-ssa-loop-manip.c (add_exit_phis_var): Likewise.
2313         tree-ssa-operands.c (get_asm_expr_operands, add_call_clobber_ops,
2314         add_call_read_ops): Likewise.
2315         * tree-ssa-pre.c (bitmap_print_value_set, insert_aux): Likewise.
2316         * tree-ssa-live.h (num_var_partitions): Return unsigned.
2317
2318 2004-11-03  Dorit Naishlos  <dorit@il.ibm.com>
2319
2320         PR tree-optimization/18009
2321         * tree-vectorizer.h (enum dr_alignment_support): New type.
2322         (MAX_NUMBER_OF_UNALIGNED_DATA_REFS): Removed.
2323         (LOOP_UNALIGNED_DR): replaced with LOOP_VINFO_UNALIGNED_DR and holds a
2324         single data_reference (instead of a varray of references).
2325         * tree-vectorizer.c (new_loop_vec_info): Likewise.
2326         (vect_gen_niters_for_prolog_loop): Likewise.
2327         (vect_update_inits_of_drs): Likewise.
2328
2329         (vect_update_inits_of_drs): Setting of DR_MISALIGNMENT moved to
2330         vect_enhance_data_refs_alignment.
2331         (vect_do_peeling_for_alignment): Likewise.
2332         (vect_enhance_data_refs_alignment): Decide if and by how much to peel;
2333         this functionality used to be in vect_analyze_data_refs_alignment.
2334         Also update DR_MISALIGNMENT due to peeling; this functionality used to
2335         be in vect_update_inits_of_drs and vect_do_peeling_for_alignment).
2336         (vect_analyze_data_refs_alignment): Decision on whether and by how much
2337         to peel moved to vect_enhance_data_refs_alignment. Call
2338         vect_supportable_dr_alignment.
2339
2340         (vect_compute_data_ref_alignment): Set STMT_VINFO_VECTYPE.
2341         (vect_compute_data_refs_alignment): Return bool. Consider return value
2342         of vect_compute_data_ref_alignment and return true/false accordingly.
2343         (vect_enhance_data_refs_alignment): Consider return value of
2344         vect_compute_data_refs_alignment and return true/false accordingly.
2345
2346         (vect_supportable_dr_alignment): New function.
2347         (vectorizable_store): Call vect_supportable_dr_alignment.
2348         (vectorizable_load): Call vect_supportable_dr_alignment. Alignment
2349         support checks moved from here to vect_supportable_dr_alignment.
2350
2351         (vect_transform_loop): Avoid 80 columns overflow.
2352
2353 2004-11-03  Andrew Pinski  <pinskia@physics.uc.edu>
2354
2355         * timevar.c (timevar_enable): Change from
2356         static.
2357         (timevar_push): Rename to ...
2358         (timevar_push_1): this and remove the
2359         enabled check.
2360         (timevar_pop): Rename to ...
2361         (timevar_pop_1): this and remove the
2362         enabled check.
2363         * timevar.h (POP_TIMEVAR_AND_RETURN): Use do/while loops.
2364         (timevar_pop): New macro.
2365         (timevar_push): New macro.
2366         (timevar_enable): Declare.
2367
2368 2004-11-03  Andrew Pinski  <pinskia@physics.uc.edu>
2369
2370         * config/darwin.h (REAL_LIBGCC_SPEC): Define to use shared
2371         libgcc for shared libraries.
2372
2373 2004-11-03  Ulrich Weigand  <uweigand@de.ibm.com>
2374
2375         * config/s390/s390-protos.h (s390_split_access_reg): Add prototype.
2376         * config/s390/s390.c (s390_split_access_reg): New function.
2377         (regclass_map): Add access registers.
2378         (get_thread_pointer): Use access register instead of UNSPEC_TP.
2379         * config/s390/s390.h (FIRST_PSEUDO_REGISTER): Set to 38.
2380         (ACCESS_REGNO_P, ACCESS_REG_P): New macros.
2381         (TP_REGNUM): New define.
2382         (FIXED_REGISTERS, CALL_USED_REGISTERS, CALL_REALLY_USED_REGISTERS,
2383         REG_ALLOC_ORDER): Add access registers.
2384         (HARD_REGNO_NREGS, HARD_REGNO_MODE_OK, CLASS_MAX_NREGS,
2385         CANNOT_CHANGE_MODE_CLASS): Support access registers.
2386         (enum reg_class): Add ACCESS_REGS.
2387         (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Likewise.
2388         (REG_CLASS_FROM_LETTER): Add 't' constraint.
2389         (REGISTER_NAMES): Add access registers.
2390         * config/s390/s390.md (UNSPEC_TP): Remove.
2391         ("*movdi_64"): Add access register alternatives.  Provide splitters
2392         to split DImode access register <-> GPR moves into SImode moves.
2393         ("*movsi_zarch", "*movsi_esa"): Add access register alternatives.
2394         ("movstrictsi"): Likewise.
2395         ("get_tp_64", "get_tp_31"): Reimplement using access registers.
2396         ("set_tp_64", "set_tp_31"): Likewise.
2397         ("*set_tp"): New insn.
2398
2399 2004-11-03  Kazu Hirata  <kazu@cs.umass.edu>
2400
2401         * tree-phinodes.c (resize_phi_node): Copy only a portion of
2402         the PHI node currently in use.
2403
2404 2004-11-03  Andrew Pinski  <pinskia@physics.uc.edu>
2405
2406         PR tree-opt/18231
2407         * tree.c (staticp) <case FUNCTION_DECL>: Nested functions are static
2408         also.
2409
2410 2004-11-03  Andrew MacLeod  <amacleod@redhat.com>
2411
2412         PR tree-optimization/18270
2413         * tree-outof-ssa.c (analyze_edges_for_bb): If a block has incoming
2414         abnormal edges, commit all pending stmts on incoming edges.
2415
2416 2004-11-03  Ulrich Weigand  <uweigand@de.ibm.com>
2417
2418         * tree-ssa-loop-ivopts.c (get_address_cost): Offset zero does not
2419         cause extra costs.  Generate canonical RTL.
2420
2421 2004-11-02  Daniel Berlin  <dberlin@dberlin.org>
2422
2423         * lambda-code.c (lambda_compute_auxillary_space): Update comments.
2424         (lambda_compute_target_space). Ditto.
2425         * lambda.h (lambda_trans_matrix): Ditto.
2426         (lambda_linear_expression): Ditto.
2427         (lambda_body_vector): Ditto.
2428         (lambda_loopnest): Ditto.
2429         * tree-loop-linear.c (gather_interchange_stats): Combine tests,
2430         update comments, and remove pointless addition of 0.
2431         (linear_transform_loops): Update comments.
2432
2433 2004-11-03  Sebastian Pop  <pop@cri.ensmp.fr>
2434
2435         * tree.c (tree_fold_gcd): Use FLOOR_MOD_EXPR instead of
2436         CEIL_MOD_EXPR.
2437
2438 2004-11-03 Jeff Law  <law@redhat.com>
2439
2440         * predict.c (struct block_info_def): Kill "tovisit" field.
2441         (propagate_freq): Accept new "tovisit" parameter.  Change
2442         read/write access methods for "tovisit" to check the "tovisit"
2443         bitmap instead of a bit in block_info_def.
2444         (estimate_loops_at_level): Allocate "tovisit" bitmap.  Pass
2445         it to propagate_freq.
2446
2447         * stmt.c (expand_case): Speed up code to detect duplicate case
2448         label targets and count unique case label targets.
2449
2450 2004-11-03  Kazu Hirata  <kazu@cs.umass.edu>
2451
2452         * cppdefault.c, cppdefault.h, timevar.h: Update copyright.
2453
2454 2004-11-03  Kazu Hirata  <kazu@cs.umass.edu>
2455
2456         * bitmap.h, dbxout.c, tree-mudflap.c: Fix comment formatting.
2457
2458 2004-11-03  Kazu Hirata  <kazu@cs.umass.edu>
2459
2460         * tree-cfg.c (find_taken_edge): Abort if we are given a
2461         statement that is neither COND_EXPR nor SWITCH_EXPR.
2462
2463 2004-11-02  Zdenek Dvorak  <dvorakz@suse.cz>
2464
2465         * fold-const.c (fold): Reassociate also (x - mult) + mult and
2466         (mult - x) + mult.  Cast operands of expression after applying
2467         distributive law to the correct types.  Apply distributive law
2468         to a * c - b * c for all non-float types.
2469
2470 2004-11-02  Geoffrey Keating  <geoffk@apple.com>
2471
2472         * configure.ac: Don't clear STMP_FIXINC or STMP_FIXPROTO just
2473         because we don't want to run them now; instead, set them to
2474         stmp-install-fixproto or stmp-install-fixinc.
2475         * Makefile.in (stmp-install-fixproto): New.
2476         (stmp-install-fixinc): New.
2477         * configure: Regenerate.
2478
2479 2004-11-02  Nathan Sidwell  <nathan@codesourcery.com>
2480
2481         * flow.c (init_propagate_block_info): Use bitmap_empty_p on result
2482         of bitmap_xor.
2483
2484 2004-11-02  Ziemowit Laski  <zlaski@apple.com>
2485
2486         * c-lang.c (LANG_HOOKS_TYPES_COMPATIBLE_P): Remove.
2487         (c_types_compatible_p): Move function definition...
2488         * c-objc-common.c (c_types_compatible_p): ...here.
2489         * c-objc-common.h (LANG_HOOKS_TYPES_COMPATIBLE_P): Moved here from
2490         c-lang.c.
2491
2492 2004-11-02  Steven Bosscher  <stevenb@suse.de>
2493
2494         * cfgloop.h (struct loop): Update comment.
2495         * cse.c (cse_main): Remove obsolete comment.
2496
2497         * expr.h (gen_cond_trap): Move prototype under functions provided
2498         by optabs.c.
2499         (canonicalize_condition, get_condition): Move to...
2500         * rtl.h (canonicalize_condition, get_condition): ...here.
2501         (branch_target_load_optimize): Add comment that this function is
2502         in bt-load.c.
2503         * loop.c (canonicalize_condition, get_condition): Move to...
2504         * rtlanal.c (canonicalize_condition, get_condition): ...here.
2505         * sched-deps.c (get_condition): Rename to sched_get_condition.
2506         (add_dependence): Update this caller.
2507
2508 2004-11-02  Andrew Pinski  <pinskia@physics.uc.edu>
2509
2510         PR tree-opt/16808
2511         * tree-ssa.c (replace_immediate_uses): If we call fold_stmt, make sure
2512         that the vops get marked for renaming.
2513
2514 2004-11-02  Andreas Krebbel  <krebbel1@de.ibm.com>
2515
2516         * config/s390/s390.md ("movcc"): Set type attribute.
2517
2518 2004-11-02  Kazu Hirata  <kazu@cs.umass.edu>
2519
2520         * tree-phinodes.c (add_phi_arg): Add an assertion that the
2521         edge already exists.
2522
2523 2004-11-02  Kazu Hirata  <kazu@cs.umass.edu>
2524
2525         * tree-phinodes.c (remove_phi_arg_num): Do not zero the
2526         element that's being removed.
2527
2528 2004-11-02  Kazu Hirata  <kazu@cs.umass.edu>
2529
2530         * tree-ssa-threadupdate.c (copy_phis_to_block): Install PHI
2531         arguments using PENDING_STMT.
2532         (thread_block): Call copy_phis_to_block after redirecting an
2533         edge.
2534
2535 2004-11-02  Nathan Sidwell  <nathan@codesourcery.com>
2536
2537         * bitmap.h (bitmap_and, bitmap_and_into, bitmap_and_compl,
2538         bitmap_and_compl_into, bitmap_ior, bitmap_iot_into,
2539         bitmap_ior_compl, bitmap_xor, bitmap_xor_into): Produce void.
2540         (bitmap_ior_and_compl_into): Produce bool.
2541         (bitmap_union_of_diff): Rename to ...
2542         (bitmap_ior_and_compl): ... here. Produce bool.
2543         * bitmap.c (bitmap_ior_and_compl_into): Return bool. Use
2544         bitmap_operation directly.
2545         (bitmap_union_of_diff): Rename to ...
2546         (bitmap_ior_and_compl): ... here. Return bool, use
2547         bitmap_operation directly.
2548         * df.c (df_rd_transfer_function): Use bitmap_ior_and_compl.
2549         (df_ru_transfer_function, df_lr_transfer_function): Likewise.
2550         * global.c (modify_bb_reg_pav): Likewise.
2551
2552         * bitmap.h (bitmap_equal_p): Return bool.
2553         (bitmap_intersect_p, bitmap_intersect_compl_p): Declare.
2554         * bitmap.c (bitmap_equal_p): Return bool. Compare directly.
2555         (bitmap_intersect_p, bitmap_intersect_compl_p): New.
2556         * flow.c (calculate_global_regs_live): Use bitmap_intersect_p and
2557         bitmap_intersect_compl_p.
2558         * ifcvt (dead_or_predicable): Likewise.
2559
2560 2004-11-02  Nathan Sidwell  <nathan@codesourcery.com>
2561
2562         PR rtl-optimization/17104
2563         * config/rs6000/rs6000.c (rs6000_emit_move): Don't wrap small
2564         loads in zero_extend.
2565
2566 2004-11-02  Danny Smith  <dannysmith@users.sourceforge.net>
2567
2568         PR debug/18242
2569         * toplev.c (debug_type_names): Remove "dwarf-1".
2570
2571 2004-11-02  Ben Elliston  <bje@au.ibm.com>
2572
2573         * timevar.h (timevar_get): Remove.
2574         * timevar.c (timevar_get): Remove unused function.
2575
2576 2004-11-02  Joseph S. Myers  <joseph@codesourcery.com>
2577
2578         * doc/include/texinfo.tex: Update from Texinfo CVS.
2579
2580 2004-11-02  Ben Elliston  <bje@au.ibm.com>
2581
2582         * cppdefault.h (cpp_SYSROOT): Remove.
2583         * cppdefault.c (cpp_SYSROOT): Likewise.
2584
2585 2004-11-01  Andrew MacLeod  <amacleod@redhat.com>
2586
2587         PR tree-optimization/16447
2588         * tree-cfg.c (bsi_commit_one_edge_insert): Rename from
2589         bsi_commit_edge_inserts_1, and make funtion external.  Return new block.
2590         (bsi_commit_edge_inserts): Use renamed bsi_commit_one_edge_insert.
2591         * tree-optimize.c (pass_cleanup_cfg_post_optimizing): Enable listing.
2592         * tree-flow.h (bsi_commit_one_edge_insert): Extern decl.
2593         * tree-outof-ssa.c (rewrite_trees): Don't commit edges here.
2594         (same_stmt_list_p): New.  Return TRUE if edge is to be forwarded.
2595         (identical_copies_p): New.  Return true is two copies are the same.
2596         (identical_stmt_lists_p): New.  Return true if stmt lists are the same.
2597         (analyze_edges_for_bb): New.  Determine how best to insert edge stmts
2598         for a basic block.
2599         (perform_edge_inserts): New.  Determine what to do with all stmts that
2600         have been inserted on edges.
2601         (remove_ssa_form):  Analyze and commit edges from here.
2602
2603 2004-11-01  Andrew Pinski  <pinskia@physics.uc.edu>
2604
2605         PR bootstrap/18232
2606         * bitmap.h (bmp_iter_end_p): Take a const pointer instead of a struct.
2607         (EXECUTE_IF_SET_IN_BITMAP): Update call to bmp_iter_end_p.
2608         (EXECUTE_IF_AND_COMPL_IN_BITMAP): Likewise.
2609         (EXECUTE_IF_AND_IN_BITMAP): Likewise.
2610
2611 2004-11-01  Joseph S. Myers  <joseph@codesourcery.com>
2612
2613         PR c/18239
2614         * c-decl.c (get_parm_info): Allow FUNCTION_DECLs to appear amongst
2615         parameter declarations.
2616
2617 2004-11-01  Andreas Krebbel  <krebbel1@de.ibm.com>
2618
2619         * config/s390/s390.c (regclass_map): Put reg 33 (cc) to CC_REGS group.
2620         (s390_secondary_input_reload_class)
2621         (s390_secondary_output_reload_class): Use GENERAL_REGS to reload a cc
2622         register.
2623         (s390_expand_cmpmem): Enable cmpmem implementation.
2624         * config/s390/s390.h (reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS):
2625         Added three new classes: CC_REGS, ADDR_CC_REGS, GENERAL_CC_REGS.
2626         (REG_CLASS_FROM_LETTER): New constraint 'c' added.
2627         * config/s390/s390.md ("movcc"): New insn pattern.
2628         * doc/md.texi: Document 'c' constraint for s390.
2629
2630 2004-11-01  Nathan Sidwell  <nathan@codesourcery.com>
2631
2632         PR c++/18064
2633         * doc/extend.texi (Deprecated Features): Deprecate G++ covariant
2634         extension.
2635
2636 2004-10-16  Daniel Berlin  <dberlin@dberlin.org>
2637
2638         Fix PR tree-optimization/17672
2639         Fix PR tree-optimization/18168
2640
2641         * lambda-code.c (lambda_lattice_compute_base): Fix reversed
2642         assert test.
2643         (gcc_tree_to_linear_expression): Add extra to existing constant.
2644         (depth_of_nest): Factor out function used in various places.
2645         (gcc_loop_to_lambda_loop): Clean up code a little bit. No
2646         functional changes.
2647         (find_induction_var_from_exit_cond): Stop guessing, and just
2648         get the right answer :).
2649         (gcc_loopnest_to_lambda_loopnest): Remove useless pre-allocation.
2650         Print out message about result of attempt to create perfect nest.
2651         (lbv_to_gcc_expression): Add type argument, use it to do math
2652         and induction variable creation.
2653         (lle_to_gcc_expression): Ditto.
2654         (lambda_loopnest_to_gcc_loopnest): Create new iv with same type as
2655         oldiv. Pass type argument to lle_to_gcc_expression and
2656         lbv_to_gcc_expression.
2657         Reset number of iterations after transformation.
2658         (perfect_nestify): Remove useless pre-allocation, and cleanup
2659         a small amount.
2660
2661         * tree-data-ref.c (build_classic_dist_vector): Return false for
2662         dependences completely outside of the loop nest we asked about.
2663         (build_classic_dir_vector): Ditto.
2664         (compute_data_dependences_for_loop): Only add dependence relations
2665         inside the loop we asked about.
2666
2667         * tree-loop-linear.c (linear_transform_loops): Use DDR_SIZE_VECT.
2668         Compute immediate uses.
2669
2670         * tree-optimize.c: Move linear_transform_loops to before ivcanon.
2671
2672 2004-11-01  Kazu Hirata  <kazu@cs.umass.edu>
2673
2674         * tree-cfg.c (thread_jumps): Fix a comment typo.
2675
2676 2004-11-01  Kazu Hirata  <kazu@cs.umass.edu>
2677
2678         * tree-cfg.c (thread_jumps): Fix a comment typo.
2679
2680 2004-10-31  Nicolas Pitre <nico@cam.org>
2681
2682         * config/arm/ieee754-sf.S (floatdisf): Fix regression with
2683         values smaller than 2^32.
2684
2685 2004-10-31 Jeff Law  <law@redhat.com>
2686
2687         * cfgloop.h (struct loop): Remove unused "nodes" field.
2688         * timevar.def (TV_TREE_LOOP_BOUNDS): New.
2689         * tree-data-ref.c (find_data_references_in_loop): Use get_loop_body
2690         instead of calling flow_bb_inside_loop_p for every basic block
2691         in the function.
2692         * tree-ssa-loop.c (pass_record_bounds): Use TV_TREE_LOOP_BOUNDS.
2693
2694 2004-10-31  Graham Stott <graham.stott@btinternet.com>
2695
2696         * config/pa/pa.md: (prefetch_64, prefetch_32): Fix typo.  Use
2697         INT_5_BITS instead of VAL_5_BITS_P.
2698
2699 2004-10-31  Roger Sayle  <roger@eyesopen.com>
2700
2701         PR middle-end/14521
2702         * tree-inline.c (inline_forbidden_p_1): Use %qF instead of '%F'
2703         for consistent quoting in diagnostic messages.
2704         (expand_call_inline): Likewise.
2705         * tree-optimize.c (tree_rest_of_compilation): Likewise.
2706         * tree-ssa.c (warn_uninitialized_var): Likewise.
2707         (warn_uninitialized_phi): Likewise.
2708
2709 2004-10-31  Richard Sandiford  <rsandifo@redhat.com>
2710
2711         * config/mips/mips.c (mips_cannot_change_mode_class): Use a stricter
2712         mode check.
2713
2714 2004-10-31  Kazu Hirata  <kazu@cs.umass.edu>
2715
2716         * c-common.c: Fix a comment typo.
2717
2718 2004-10-31  Jason Merrill  <jason@redhat.com>
2719
2720         PR middle-end/17526
2721         * tree-gimple.c (is_gimple_mem_rhs): Also require a val for
2722         aggregate types that are not BLKmode.
2723
2724 2004-10-30  Ziemowit Laski  <zlaski@apple.com>
2725
2726         * c-common.h (objc_lookup_ivar): Add second parameter to
2727         prototype.
2728         * c-typeck.c (build_external_ref): After looking up symbol,
2729         pass it to objc_lookup_ivar() to decide whether it or the
2730         ivar should be used, rather than deciding the issue locally.
2731         * stub-objc.c (objc_lookup_ivar): Add an OTHER parameter,
2732         which is simply returned in the non-ObjC case.
2733
2734 2004-10-30  Danny Smith  <dannysmith@users.sourceforge.net>
2735
2736         * sdbout.c (sdbout_symbol): Do not output type .def statements
2737         for builtin types.
2738
2739 2004-10-30  Gabriel Dos Reis  <gdr@integrable-solutions.net>
2740
2741         * c-common.c (catenate_strings): New.
2742         (c_parse_error): Use it.  Don't over-escape.
2743
2744 2004-10-30  Kaz Kojima  <kkojima@gcc.gnu.org>
2745
2746         * config/sh/sh.c (calc_live_regs): Declare reg as unsigned and
2747         modify the for loop expressions for it.  Remove unnecessary casts.
2748         (sh_expand_prologue): Declare reg as unsigned.
2749         (sh_gimplify_va_arg_expr): Initinalize lab_over.
2750         (sh_handle_sp_switch_attribute): Add const qualifier appropriately.
2751
2752 2004-10-30  Geoffrey Keating  <geoffk@apple.com>
2753
2754         * doc/invoke.texi (Darwin Options): Improve description of
2755         how the subtype is chosen.
2756
2757 2004-10-30  Roger Sayle  <roger@eyesopen.com>
2758
2759         PR middle-end/18096
2760         * config/rs6000/rs6000.c (rs6000_emit_allocate_stack): Check that
2761         the stack adjustment, "size", is valid for Pmode.  If the stack
2762         frame is too large, generate a trap insn and issue a warning.
2763
2764 2004-10-30  Kazu Hirata  <kazu@cs.umass.edu>
2765
2766         * tree-ssa-dom.c: Fix comment typos.
2767
2768 2004-10-30  Kaz Kojima  <kkojima@gcc.gnu.org>
2769
2770         * config/sh/sh.c (prepare_move_operands): Use operands[0]
2771         for the output rtl if no_new_pseudos is set.  Remove redundant
2772         line.
2773
2774 2004-10-30  Joseph S. Myers  <joseph@codesourcery.com>
2775
2776         PR c/16666
2777         * c-decl.c (start_function): Don't check for DECL_BUILT_IN when
2778         determining whether to copy parameter types from a previous
2779         prototype declaration.
2780
2781 2004-10-29  Roger Sayle  <roger@eyesopen.com>
2782
2783         PR rtl-optimization/17581
2784         * cselib.c (cselib_process_insn): The last instruction of a libcall
2785         block, with the REG_RETVAL note, should be considered in the libcall.
2786         * gcse.c (do_local_cprop): Allow constants to be propagated outside
2787         of libcall blocks.
2788         (adjust_libcall_notes): Use simplify_replace_rtx instead of
2789         replace_rtx to avoid creating invalid RTL in REG_RETVAL notes.
2790
2791 2004-10-30  Kazu Hirata  <kazu@cs.umass.edu>
2792
2793         * tree-phinodes.c (create_phi_node): Don't zero PHI_REWRITTEN.
2794
2795 2004-10-29 Jeff Law  <law@redhat.com>
2796
2797         * tree-ssa-dom.c (struct edge_info): New structure holding
2798         edge equivalences and edge redirection information.
2799         (get_eq_expr_value, record_dominating_conditions): Kill.
2800         (propagate_to_outgoing_edges): Renamed from cprop_into_phis.
2801         Call record_edge_info.
2802         (allocate_edge_info, free_edge_info): New.
2803         (tree_ssa_dominator_optimize): Use propagate_to_outgoing_edges
2804         rather than cprop_into_phis.  Free all edge infos before threading
2805         jumps.
2806         (thread_across_edge): Allocate new edge info structures as needed
2807         and store the redirection target into the edge info structure
2808         instead of the edge's AUX field.
2809         (dom_opt_initialize_block): Mark unused argument with ATTRIBUTE_UNUSED.
2810         (record_equivalence_from_incoming_edge): Lose unnecessary argument.
2811         Revamp code which finds and records equivalences associated with
2812         edges to use saved data in the edge_info structure.
2813         (record_equivalencs_from_phis): Similarly.
2814         (dom_opt_finalize_block): Revamp code which finds and records
2815         equivalences associated with edges to use saved data in the
2816         edge_info structure.
2817         (build_and_record_new_cond): New function.
2818         (record_conditions): Use build_and_record_new_cond to record
2819         dominating conditions.
2820         (record_edge_info): New function.
2821         (record_range): Tighten test for conditions which create
2822         useful range records.
2823
2824 2004-10-29  Geoffrey Keating  <geoffk@apple.com>
2825
2826         * config/i386/darwin.h (ASM_SPEC): Simplify.
2827         (SUBTARGET_EXTRA_SPECS): Add darwin_subarch spec.
2828         * config/rs6000/darwin.h (DARWIN_SUBARCH_SPEC): New.
2829         (SUBTARGET_EXTRA_SPECS): Add darwin_subarch spec.
2830         * config/darwin.h (LINK_COMMAND_SPEC): Don't pass -arch here.
2831         (LINK_SPEC): Do pass -arch here.  Handle -force_cpusubtype_ALL
2832         in all cases.  Pass the right -arch or -arch_only based on -mcpu.
2833         (ASM_SPEC): Handle -force_cpusubtype_ALL.
2834         * doc/invoke.texi (Darwin Options): Improve documentation for
2835         Darwin linker (and libtool) switches.
2836
2837         * config/rs6000/darwin-fallback.c: Include <mach/thread_status.h>.
2838
2839 2004-10-29  Stan Shebs  <shebs@apple.com>
2840
2841         * config/rs6000/darwin-tramp.asm: Make more 64-bit-friendly.
2842
2843 2004-10-29  Kazu Hirata  <kazu@cs.umass.edu>
2844
2845         * tree-phinodes.c (allocate_phi_node): New.
2846         (make_phi_node, resize_phi_node): Use it.
2847
2848 2004-10-29  David Edelsohn  <edelsohn@gnu.org>
2849
2850         * config/rs6000/sysv4.h (TARGET_POWER): Define as 0.
2851         * config/rs6000/darwin.h (TARGET_POWER): Define as 0.
2852
2853 2004-10-29  Kazu Hirata  <kazu@cs.umass.edu>
2854
2855         * tree-phinodes.c (make_phi_node, resize_phi_node): Don't zero
2856         the whole PHI node.
2857         * tree.h (tree_phi_node): Tell the garbage collector to chase
2858         num_args arguments.
2859
2860 2004-10-29  Richard Earnshaw  <rearnsha@arm.com>
2861
2862         * opts.c (decode_options): Lower the crossjump threshold for -Os.
2863
2864 2004-10-29  Diego Novillo  <dnovillo@redhat.com>
2865
2866         * tree.h (struct tree_ssa_name): Remove field 'equiv'.
2867
2868 2004-10-28  Nathan Sidwell  <nathan@codesourcery.com>
2869
2870         * bitmap.h (bitmap_empty_p): New.
2871         (bitmap_and, bitmap_and_into, bitmap_and_compl,
2872         bitmap_and_compl_into, bitmap_ior, bitmap_ior_into,
2873         bitmap_ior_compl, bitmap_xor, bitmap_xor_into): New bitmap
2874         operation macros.
2875         (bitmap_ior_and_compl): Rename to ...
2876         (bitmap_ior_and_compl_into): ... here.
2877         * bitmap.c (bitmap_equal_p): Use bitmap_xor.
2878         (bitmap_ior_and_compl): Rename to ...
2879         (bitmap_ior_and_compl_into): ... here. Adjust. Return changed
2880         flag.
2881         (bitmap_union_of_diff): Use renamed bitmap functions.
2882         * basic-block.h (AND_REG_SET, AND_COMPL_REG_SET, IOR_REG_SET,
2883         XOR_REG_SET, IOR_AND_COMPL_REG_SET): Likewise.
2884         * cfgrtl.c (safe_insert_insn_on_edge): Likewise.
2885         * df.c (df_bb_rd_local_compute)
2886         * flow.c (calculate_global_regs_live,
2887         init_propagate_block_info): Likewise.
2888         * ifcvt.c (find_if_case_1, find_if_case_2,
2889         dead_or_predicable): Likewise.
2890         * ra-build.c (union_web_part_roots, livethrough_conflicts_bb,
2891         reset_conflicts, conflicts_between_webs): Likewise.
2892         * ra-rewrite.c (reloads_to_loads, rewrite_program2,
2893         detect_web_parts_to_rebuild): Likewise.
2894         * sched-ebb.c (compute_jump_reg_dependencies): Likewise.
2895         * tree-int-ssa.c (insert_phi_nodes_for, rewrite_into_ssa): Likewise.
2896         * tree-sra.c (decide_instantiations): Likewise.
2897         * tree-ssa-alias.c (create_name_tags,
2898         merge_pointed_to_info): Likewise.
2899         * tree-ssa-dom.c (tree_ssa_dominator_optimize): Likewise.
2900         * tree-ssa-loop-im.c (move_computations): Likewise.
2901         * tree-ssa-operands.c (get_call_expr_operands): Likewise.
2902         * tree-ssa-pre.c (fini_pre): Likewise.
2903         * tree-ssa.c (verify_flow_sensitive_alias_info): Likewise.
2904         * tree-ssanames.c (any_marked_for_rewrite_p): Likewise.
2905         * tree-vectorizer.c (vectorize_loops): Likewise.
2906
2907 2004-10-29  Nick Clifton  <nickc@redhat.com>
2908
2909         config/mn10300/mn10300.h (CONDITIONAL_REGISTER_USAGE): When
2910         adding the PIC register to the fixed_regs array, also add it
2911         to the call_used_regs array.
2912
2913 2004-10-29  Eric Botcazou  <ebotcazou@libertysurf.fr>
2914
2915         * gthr-posix.h (__gthread_recursive_mutex_init_function): Guard
2916         with #ifdef PTHREAD_MUTEX_RECURSIVE/#endif pairs.
2917
2918 2004-10-28  Daniel Berlin  <dberlin@dberlin.org>
2919
2920         * tree-into-ssa.c (rewrite_virtual_phi_arguments): New function.
2921         (rewrite_blocks): Modify argument, and use it to decide which
2922         function to call.
2923         (rewrite_def_def_chains): Call rewrite_blocks with true here.
2924         (rewrite_into_ssa): and call it with false here.
2925
2926 2004-10-29  Kazu Hirata  <kazu@cs.umass.edu>
2927
2928         * tree-phinodes.c (add_phi_arg): Turn an "if" that always
2929         triggers into gcc_assert.
2930
2931 2004-10-28  Diego Novillo  <dnovillo@redhat.com>
2932
2933         PR tree-optimization/16728
2934         * tree-flow.h (get_ptr_info): Declare.
2935         * tree-ssa-alias.c (get_ptr_info): Make extern.
2936         * tree-ssa-copy.c (merge_alias_info): Merge flow-sensitive
2937         alias information.
2938
2939 2004-10-28  Stan Shebs  <shebs@apple.com>
2940
2941         * config/rs6000/darwin.h (SUBTARGET_EXTRA_SPECS): Handle -m64.
2942         * config/rs6000/rs6000.c (rs6000_darwin_file_start): Add ppc64
2943         case.
2944
2945 2004-10-28  Frank Ch. Eigler  <fche@redhat.com>
2946
2947         * tree-mudflap.c (mudflap_init): Mark cache-lookup decls to
2948         prevent their later unnecessary registration.
2949         (mf_build_check_statement_for): Remove "addr" argument, and
2950         related "__mf_value" generated code.  Update callers.
2951         (mf_decl_eligible_p): New function, factored from mx_register_decls.
2952         (mx_register_decls): Call it.
2953         (mf_xform_derefs_1): Rewrite COMPONENT_REF and ARRAY_REF cases
2954         to restore support for complex nested expressions.
2955         (mudflap_enqueue_decl): Simplify.  Move registration call emission
2956         out ...
2957         (mudflap_finish_file): ... to here.
2958         (mudflap_enqueue_constant): Remove dump code.
2959
2960 2004-10-28  Zack Weinberg  <zack@codesourcery.com>
2961
2962         PR 18199
2963         * dbxout.c (dbxout_begin_complex_stabs_noforcetext): New function.
2964         (DBX_FINISH_STABS): Add (unused by default) SYM parameter.
2965         (dbxout_finish_complex_stabs): Update to match.
2966         (dbxout_symbol_location): Call emit_pending_bincls_if_required
2967         and FORCE_TEXT before DBX_STATIC_BLOCK_START.  Use
2968         dbxout_begin_complex_stabs_noforcetext.
2969         * xcoffout.h (DBX_FINISH_STABS): Restore special case for
2970         N_GSYM, using new SYM parameter.  Correct logic for special
2971         cases for N_FUN.
2972
2973         * varasm.c (function_section): If DECL is NULL_TREE, don't try
2974         to do anything else.  Do not call get_insns if cfun or
2975         cfun->emit are NULL.
2976
2977 2004-10-28  Adam Nemet  <anemet@lnxw.com>
2978
2979         PR middle-end/18160
2980         * c-typeck.c (c_mark_addressable): Issue error if address of a
2981         register variable is taken.  Use "%qD" to print DECL_NAME.
2982
2983 2004-10-28  Diego Novillo  <dnovillo@redhat.com>
2984
2985         * opts.c (decode_options): Don't run PRE at -Os.
2986
2987 2004-10-28  Richard Henderson  <rth@redhat.com>
2988
2989         * config/alpha/alpha.md (movqicc_internal): Allow exactly one
2990         zero in the conditional.
2991         (movhicc_internal, movsicc_internal, movdicc_internal): Likewise.
2992
2993 2004-10-28  Richard Henderson  <rth@redhat.com>
2994
2995         * cse.c (memory_extend_rtx): Remove.
2996         (cse_main): Don't set it.
2997         (cse_insn): Use a local buffer instead.
2998
2999 2004-10-28  Andreas Krebbel  <krebbel1@de.ibm.com>
3000
3001         * profile.c (branch_prob): Call to init_edge_profiler added.
3002         * rtl-profile.c (rtl_init_edge_profiler): New function.
3003         (rtl_gen_edge_profiler): Replaced call to insert_insn_on_edge with
3004         call to safe_insert_insn_on_edge.
3005         (rtl_profile_hooks): rtl_init_edge_profiler added.
3006         * tree-profile.c (tree_init_edge_profiler): New function.
3007         (tree_profile_hooks): tree_init_edge_profiler added.
3008         * value-prof.h (profile_hooks) init_edge_profiler prototype added.
3009
3010 2004-10-28  Nick Clifton  <nickc@redhat.com>
3011
3012         * config/iq2000/iq2000.c (iq2000_expand_epilogue): Use
3013         emit_jump_insn() to generate the return instruction.
3014
3015 2004-10-28  Kazu Hirata  <kazu@cs.umass.edu>
3016
3017         * tree-phinodes.c: Remove trailing whitespace.
3018
3019 2004-10-28  Kazu Hirata  <kazu@cs.umass.edu>
3020
3021         * tree-ssa-loop-ivopts.c: Fix a comment typo.
3022         * doc/invoke.texi: Fix a typo.
3023
3024 2004-10-28  Kazu Hirata  <kazu@cs.umass.edu>
3025
3026         * Makefile.in (OBJS-common): Remove duplicates.
3027
3028 2004-10-28  Kazu Hirata  <kazu@cs.umass.edu>
3029
3030         * lambda-code.c (nestify_update_pending_stmts): Remove.
3031         (perfect_nestify): Use flush_pending_stmts instead of
3032         nestify_update_pending_stmts.
3033         * tree-cfg.c (tree_make_forwarder_block): Use
3034         flush_pending_stmts.
3035         * tree-flow.h: Add a prototype for flush_pending_stmts.
3036         * tree-ssa-loop-manip.c (tree_duplicate_loop_to_header_edge):
3037         Use flush_pending_stmts.
3038         (lv_update_pending_stmts): Remove.
3039         (tree_ssa_loop_version): Use flush_pending_stmts instead of
3040         lv_update_pending_stmts.
3041         * tree-ssa.c (flush_pending_stmts): New.
3042
3043 2004-10-28  Ulrich Weigand  <uweigand@de.ibm.com>
3044
3045         PR target/15286
3046         * final.c (alter_subreg): Compute correct offset to use with
3047         paradoxical SUBREGs of memory operands.
3048         * recog.c (general_operand): Allow paradoxical SUBREGs of
3049         memory operands after reload.
3050         * simplify-rtx.c (simplify_gen_subreg): Fail if simplify_subreg
3051         has failed when passed a hard register.
3052
3053 2004-10-28  Aldy Hernandez  <aldyh@redhat.com>
3054
3055         * function.c (assign_parm_setup_block): Handle parallels correctly.
3056
3057 2004-10-28  Kaz Kojima  <kkojima@gcc.gnu.org>
3058
3059         * final.c (shorten_branches): Initialize flags structure.
3060
3061 2004-10-28  Nathan Sidwell  <nathan@codesourcery.com>
3062
3063         * tree.c (int_cst_node, int_cst_hash_table): New variables.
3064         (init_ttree): Initialize them.
3065         (int_cst_hash_hash, int_cst_hash_eq): New hashing functions.
3066         (build_int_cst_wide): Use hash table for oversized integers.
3067
3068 2004-10-28  Nick Clifton  <nickc@redhat.com>
3069
3070         * config/m32r/m32r.h (DBX_OUTPUT_SOURCE_LINE): Define
3071         begin_label.
3072
3073 2004-10-27  Richard Henderson  <rth@redhat.com>
3074
3075         PR middle-end/18163
3076         * expr.c (emit_group_load): Don't go force temporary for memory
3077         or concat source.
3078         (emit_group_store): Similarly.
3079
3080 2004-10-27  Andrew Pinski  <pinskia@physics.uc.edu>
3081
3082         PR other/18186
3083         * common.opt (--param): Fix spelling of parameter.
3084
3085 2004-10-27  Andrew Pinski  <pinskia@physics.uc.edu>
3086
3087         PR tree-opt/17529
3088         * tree-cfg.c (remove_useless_stmts_1) <case SWITCH_EXPR>:
3089         Don't fold statement.
3090         <case ASM_EXPR>: Fold the statement.
3091
3092 2004-10-28  Kazu Hirata  <kazu@cs.umass.edu>
3093
3094         * tree-ssa-dce.c (mark_stmt_if_obviously_necessary)
3095         <COND_EXPR>: Use EDGE_COUNT instead of GOTO_DESTINATION.
3096
3097 2004-10-28  Joseph S. Myers  <jsm@polyomino.org.uk>
3098
3099         * doc/contrib.texi, doc/cpp.texi, doc/cppopts.texi,
3100         doc/extend.texi, doc/gcov.texi, doc/install.texi, doc/invoke.texi,
3101         doc/libgcc.texi, doc/md.texi, doc/passes.texi,
3102         doc/sourcebuild.texi, doc/tm.texi: Improve Texinfo formatting.
3103
3104 2004-10-28  Joseph S. Myers  <jsm@polyomino.org.uk>
3105
3106         * doc/c-tree.texi, doc/cpp.texi, doc/implement-c.texi,
3107         doc/invoke.texi, doc/md.texi, doc/passes.texi, doc/tm.texi: Put
3108         punctuation outside quotes.
3109
3110 2004-10-27  David Mosberger  <davidm@hpl.hp.com>
3111             James E Wilson  <wilson@specifixinc.com>
3112
3113         PR target/13158
3114         * config/ia64/ia64.c (ia64_expand_epilogue): Set RTX_FRAME_RELATED_P on
3115         sibcall alloc instruction.
3116         (process_set): Handle sibcall alloc instruction.
3117
3118 2004-10-27  Geoffrey Keating  <geoffk@apple.com>
3119
3120         * config/rs6000/rs6000.c (rs6000_attribute_table): Add
3121         SUBTARGET_ATTRIBUTE_TABLE.
3122         * config/darwin.h (ASM_WEAKEN_DECL): Handle weak_import.
3123         (SUBTARGET_ATTRIBUTE_TABLE): Define.
3124         * config/darwin.c (darwin_handle_weak_import_attribute): New.
3125         (HAVE_DEAD_STRIP): Delete.
3126         (no_dead_strip): Don't test HAVE_DEAD_STRIP.
3127         * config/darwin-protos.h (darwin_handle_weak_import_attribute):
3128         Prototype.
3129
3130         * doc/tm.texi (USE_SELECT_SECTION_FOR_FUNCTIONS): Document.
3131
3132         * config/darwin.h (GTHREAD_USE_WEAK): Define.
3133
3134 2004-10-28  Ben Elliston  <bje@au.ibm.com>
3135
3136         * params.def (PARAM_SRA_MAX_STRUCTURE_SIZE): New.
3137         (PARAM_SRA_FIELD_STRUCTURE_RATIO): Likewise.
3138         * params.h (SRA_MAX_STRUCTURE_SIZE): New.
3139         (SRA_FIELD_STRUCTURE_RATIO): Likewise.
3140         * tree-sra.c: Include "params.h".
3141         (decide_block_copy): Use new parameters.
3142         * doc/invoke.texi (Optimize Options): Document new SRA pass
3143         parameters sra-max-structure-size and sra-field-structure-ratio.
3144
3145 2004-10-27  Nicolas Pitre <nico@cam.org>
3146
3147         * config/arm/ieee754-df.S (floatdidf): Fix regression with big values.
3148
3149 2004-10-27  Zdenek Dvorak  <dvorakz@suse.cz>
3150
3151         PR tree-optimization/18048
3152         * fold-const.c (try_move_mult_to_index): New function.
3153         (fold): Use try_move_mult_to_index.
3154         * tree-ssa-loop-ivopts.c (try_add_cand_for): Prefer common candidates.
3155         * tree-ssa-loop-niter.c (number_of_iterations_cond): Produce
3156         an all-ones unsigned constant without extra bits.
3157         * tree.c (build_low_bits_mask): New function.
3158         * tree.h (build_low_bits_mask): Declare.
3159
3160 2004-10-27  David Edelsohn  <edelsohn@gnu.org>
3161
3162         PR target/17956
3163         * config/rs6000/rs6000.md (maxsf3): Add !flag_trapping_math to
3164         final condition.
3165         (minsf3): Same.
3166         (maxdf3): Same.
3167         (mindf3): Same.
3168
3169 2004-10-27  Kazu Hirata  <kazu@cs.umass.edu>
3170
3171         * tree-cfg.c (thread_jumps): Speed up by reordering the two
3172         conditions for entering basic blocks into worklist.
3173
3174 2004-10-27  Kazu Hirata  <kazu@cs.umass.edu>
3175
3176         * tree-cfg.c (thread_jumps): Speed up by pretending to have
3177         ENTRY_BLOCK_PTR in worklist.
3178
3179 2004-10-27  Kazu Hirata  <kazu@cs.umass.edu>
3180
3181         * tree-ssa-dce.c (mark_stmt_if_obviously_necessary)
3182         <GOTO_EXPR>: Don't let an explicit GOTO_EXPR slip through.
3183
3184 2004-10-27  Daniel Berlin <dberlin@dberlin.org>
3185
3186         Fix PR tree-optimization/17133
3187
3188         * tree-cfg.c (rewrite_to_new_ssa_names_bb): Also rewrite must
3189         def kill operand.
3190
3191         * tree-flow-inline.h: V_MUST_DEF_OP became V_MUST_DEF_RESULT.
3192         (get_v_must_def_result_ptr): Modify for new structure of
3193         v_must_defs array.
3194         (get_v_must_def_kill_ptr): New.
3195         (op_iter_next_use): Add support for the kill that occurs in V_MUST_DEFs.
3196         (op_iter_next_tree): Ditto. Also V_MAY_DEF_OP became V_MAY_DEF_RESULT.
3197         (op_iter_next_def): V_MAY_DEF_OP became V_MAY_DEF_RESULT.
3198         (op_iter_init): Initialize new mustu members.
3199         (op_iter_next_mustdef): New function.
3200         (op_iter_init_mustdef): Ditto.
3201
3202         * tree-flow.h (rewrite_def_def_chains): New function.
3203
3204         * tree-into-ssa.c (mark_def_sites): Handle mustdefkill operands.
3205         (ssa_mark_def_sites): Ditto.
3206         (rewrite_stmt): Ditto.
3207         (ssa_rewrite_stmt): Ditto.
3208         (rewrite_blocks): Factor out from rewrite_into_ssa.
3209         (mark_def_block_sites): Ditto.
3210         (rewrite_def_def_chains): New function, just rewrites def-def
3211         chains without phi node insertion.
3212
3213         * tree-pass.h (TODO_fix_def_def_chains): New todo flag.
3214
3215         * tree-optimize.c (execute_todo): Handle TODO_fix_def_def_chains.
3216
3217         * tree-pretty-print.c (dump_vops): Print out MUST_DEF's so that
3218         they include the rhs now.
3219
3220         * tree-ssa-ccp.c (visit_assignment): V_MUST_DEF_OP became
3221         V_MUST_DEF_RESULT.
3222
3223         * tree-ssa-dce.c (mark_operand_necessary): Add phionly argument.
3224         Update callers.
3225         (mark_really_necessary_kill_operand_phis): New function.
3226         (perform_tree_ssa_dce): Call it.
3227         (pass_dce): Add TODO_fix_def_def_chains.
3228         (pass_cd_dce): Ditto.
3229
3230         * tree-ssa-loop-im.c (determine_max_movement): Look at kills as
3231         well.
3232         (rewrite_mem_refs): Ditto.
3233
3234         * tree-ssa-loop-manip.c (find_uses_to_rename_stmt): Look at kills
3235         as well.
3236
3237         * tree-ssa-operands.c (allocate_v_may_def_optype):
3238         v_may_def_operand_type_t became v_def_use_operand_type_t.
3239         (allocate_v_must_def_optype) Ditto.
3240         (finalize_ssa_v_must_defs): Update for new operand type, as well
3241         as setting the use portion as well.
3242         (copy_virtual_operands): Copy the kill operand as well.
3243         (create_ssa_artficial_load_stmt): V_MUST_DEF_OP became
3244         V_MUST_DEF_RESULT.
3245
3246         * tree-ssa-operands.h (v_may_def_operand_type): Renamed to
3247         v_def_use_operand_type.
3248         (v_must_def_optype_d): Use v_def_use_operand_type.
3249         (V_MUST_DEF_OP_*): Renamed to V_MUST_DEF_RESULT_*
3250         (V_MUST_DEF_KILL_*): New macros.
3251         (struct ssa_operand_iterator_d): Add num_v_mustu and v_mustu_i
3252         members.
3253         Rename existing must_i and num_v_must members to mustd_i and
3254         num_v_mustd.
3255         (SSA_OP_VMUSTDEFKILL): New flag.
3256         (SSA_OP_VIRTUAL_KILLS): New flag.
3257         (SSA_OP_ALL_OPERANDS): Add in SSA_OP_ALL_KILLS.
3258         (SSA_OP_ALL_KILLS): New flag.
3259         (FOR_EACH_SSA_MUSTDEF_OPERAND): New macro.
3260
3261         * tree-ssa.c (verify_ssa): Verify virtual kills as well.
3262
3263         * tree-vectorizer.c (vect_create_data_ref_ptr): V_MUST_DEF_OP
3264         became V_MUST_DEF_RESULT.
3265         (rename_variables_in_bb): Rename kill pointer as well.
3266
3267         * tree-dfa.c (compute_immediate_uses_for_stmt): Add kills into the
3268         immediate uses.
3269
3270 2004-10-27  Richard Sandiford  <rsandifo@redhat.com>
3271
3272         * dbxout.c (dbxout_source_line): Move declaration of begin_label to
3273         the block that needs it.
3274
3275 2004-10-27  Zack Weinberg  <zack@codesourcery.com>
3276
3277         * dbxout.c (dbxout_finish_complex_stabs): Mark 'line' variable
3278         ATTRIBUTE_UNUSED.
3279
3280 2004-10-27  Zack Weinberg  <zack@codesourcery.com>
3281
3282         * c-lex.c (cb_def_pragma): Clean up code for making location
3283         palatable to diagnostic.c.
3284
3285 2004-10-27  Steven Bosscher  <stevenb@suse.de>
3286
3287         PR tree-optimization/17757
3288         * tree-phinodes.c (remove_phi_arg_num): Don't remove PHIs
3289         without any PHI arguments left.  Make sure the argument that
3290         we're supposed to remove exists at all.
3291
3292 2004-10-27  Paul Brook  <paul@codesourcery.com>
3293
3294         * configure.ac: Don't test for [build] __cxa_atexit when building a
3295         cross compiler.
3296         * configure: Regenerate.
3297
3298 2004-10-27  Paul Brook  <paul@codeosurcery.com>
3299
3300         * configure.ac: Use build_exeext not host_exeext when lookin for
3301         target tools.
3302         * configure: Regenerate.
3303
3304 2004-10-27  Andreas Krebbel  <krebbel1@de.ibm.com>
3305
3306         * config/s390/s390.md ("*subdf3_cc"): Replaced plus by minus.
3307
3308 2004-10-27  Andreas Krebbel  <krebbel1@de.ibm.com>
3309             patch originally created by Kelley Cook  <kcook@gcc.gnu.org>
3310
3311         PR middle-end/14684
3312         * opts.c (OPT_fprofile_generate): Default to -funroll-loops
3313         to match -fprofile-use.
3314
3315 2004-10-27  Kazu Hirata  <kazu@cs.umass.edu>
3316
3317         * config/rs6000/rs6000.c: Fix a comment typo.
3318
3319 2004-10-27  Zack Weinberg  <zack@codesourcery.com>
3320
3321         * config/m32r/m32r.h (DBX_OUTPUT_SOURCE_LINE): Increment line
3322         counter.
3323
3324 2004-10-27  Andreas Schwab  <schwab@suse.de>
3325
3326         * varasm.c (default_stabs_asm_out_destructor): Mark symbol as
3327         unused.
3328         (default_stabs_asm_out_constructor): Likewise.
3329
3330 2004-10-26  Geoffrey Keating  <geoffk@apple.com>
3331
3332         * builtins.c (fold_builtin_unordered_cmp): Always bring both
3333         operands to the same type.
3334
3335 2004-10-26  James E Wilson  <wilson@specifixinc.com>
3336
3337         PR target/18010
3338         * emit-rtl.c (emit_copy_of_insn_after): Copy RTX_FRAME_RELATED_P.
3339
3340 2004-10-26  Zack Weinberg  <zack@codesourcery.com>
3341
3342         * dbxout.c: Include obstack.h.
3343         (ASM_STABS_OP): Take XCOFF_DEBUGGING_INFO into account in
3344         default definition.
3345         (ASM_STABD_OP, NO_DBX_MAIN_SOURCE_DIRECTORY, DBX_CONTIN_CHAR):
3346         Default-define here.
3347         (DBX_CONTIN_LENGTH): Move definition with others.
3348         (DBX_FINISH_STABS): New target macro.
3349         (current_sym_code, current_sym_value, current_sym_addr)
3350         (current_sym_nchars, CHARS, dbxout_continue)
3351         (print_int_cst_octal, print_octal, print_wide_int)
3352         (dbxout_prepare_symbol, dbxout_finish_symbol): Delete.
3353         (stabstr_ob, stabstr_last_contin_point): New variables.
3354         (NUMBER_FMT_LOOP): New improper macro.
3355         (dbxout_int, dbxout_stab_value_zero, dbxout_stab_value_label)
3356         (dbxout_stab_value_label_diff, dbxout_stab_value_internal_label)
3357         (dbxout_stab_value_internal_label_diff, dbxout_stabd)
3358         (dbxout_begin_stabn, dbxout_begin_stabn_sline)
3359         (dbxout_begin_simple_stabs, dbxout_begin_simple_stabs_desc)
3360         (dbxout_begin_complex_stabs, dbxout_finish_complex_stabs)
3361         (stabstr_C, stabstr_S, stabstr_I, stabstr_D, stabstr_U, stabstr_O)
3362         (stabstr_continue, DECL_ACCESSIBILITY_CHAR)
3363         New functions and/or proper function-like macros.
3364         (CONTIN): Use stabstr_continue, unconditionally.
3365         (get_lang_number): Define unconditionally, with ATTRIBUTE_UNUSED.
3366         (dbxout_init): Initialize stabstr_ob.  Check
3367         NO_DBX_MAIN_SOURCE_DIRECTORY.  Only write out the Ltext label
3368         if it was used.  Use the new interfaces.
3369         (dbxout_source_file): Remove file argument; always write to
3370         asm_out_file.  Use the new interfaces.
3371         (dbxout_type_method_1): Remove second argument which is always
3372         DECL_ASSEMBLER_NAME of the first argument.  Use the new interfaces.
3373         (dbxout_type_methods): Remove write-only variables.  Use the
3374         new interfaces.
3375         (dbxout_parms): Refactor to remove code duplicated in each of
3376         several successive if-else-if blocks.  Use the new interfaces.
3377         (dbxout_function_end, emit_bincl_stab, dbxout_end_source_file)
3378         (dbxout_source_line, dbxout_finish, dbxout_type_index)
3379         (dbxout_type_fields, dbxout_range_type, dbxout_type, dbxout_type_name)
3380         (dbxout_class_name_qualifiers, dbxout_symbol, dbxout_symbol_location)
3381         (dbxout_symbol_name, dbxout_reg_parms, dbxout_args)
3382         (dbx_output_lbrac, dbx_output_rbrac, dbxout_block):
3383         Use the new interfaces.
3384         * Makefile.in (dbxout.o): Update dependencies.
3385
3386         * defaults.h: Don't define ASM_STABD_OP.
3387         * output.h: Prototype new dbxout_* interfaces.
3388         * system.h: Poison DBX_OUTPUT_GCC_MARKER and DBX_FINISH_SYMBOL.
3389         * varasm.c: Don't define ASM_STABS_OP.
3390         (default_stabs_asm_out_constructor, default_stabs_asm_out_destructor):
3391         Use the new dbxout.c interfaces.  Call sorry if neither
3392         DBX_DEBUGGING_INFO nor XCOFF_DEBUGGING_INFO is defined.
3393
3394         * xcoffout.h: Don't define ASM_STABS_OP.
3395         (DBX_FINISH_SYMBOL): Rewrite and rename DBX_FINISH_STABS.
3396         (DBX_OUTPUT_MAIN_SOURCE_DIRECTORY, DBX_OUTPUT_GCC_MARKER): Delete.
3397         (NO_DBX_MAIN_SOURCE_DIRECTORY, NO_DBX_GCC_MARKER): Define.
3398         (DBX_OUTPUT_MAIN_SOURCE_FILE_END): Change bare block to
3399         do { ... } while (0) idiom.
3400
3401         * config/alpha/alpha.c (num_source_filenames): Export.
3402         * config/alpha/alpha.h (num_source_filenames): Declare.
3403         (DBX_OUTPUT_SOURCE_LINE): Use new interfaces.
3404         (SDB_OUTPUT_SOURCE_LINE): Add missing newline.
3405         * config/m32r/m32r.h (DBX_OUTPUT_SOURCE_LINE): Use new interfaces.
3406         Always use .debugsym.  Update commentary.
3407         * config/mips/mips.h (DBX_OUTPUT_SOURCE_LINE): Use new interfaces.
3408         (SDB_OUTPUT_SOURCE_LINE): Add missing newline.
3409         * config/rs6000/linux64.h (DBX_OUTPUT_SOURCE_LINE, DBX_OUTPUT_BRAC):
3410         Use new interfaces.
3411         * config/rs6000/rs6000.c: If TARGET_MACHO, include gstab.h.
3412         (macho_branch_islands): Use new interfaces.
3413
3414         * doc/tm.texi: Update.
3415
3416 2004-10-26  Aldy Hernandez  <aldyh@redhat.com>
3417
3418         * expr.c (emit_group_store): Do not treat floats as BLKmode.
3419         (emit_group_load): Same.
3420
3421 2004-10-26  Joseph S. Myers  <jsm@polyomino.org.uk>
3422
3423         * c-parse.in (datadef): Use pedwarn rather than error and warning
3424         for diagnostic in case of no declaration specifiers.
3425
3426 2004-10-26  Richard Sandiford  <rsandifo@redhat.com>
3427
3428         PR bootstrap/15747
3429         * doc/install.texi (mips-sgi-irix5): Document that /bin/sh has been
3430         reported to hang during bootstrap and that CONFIG_SHELL=/bin/ksh
3431         can be used to work around this.
3432
3433 2004-10-26  Aldy Hernandez  <aldyh@redhat.com>
3434
3435         * config/rs6000/rs6000.h (MEMBER_TYPE_FORCES_BLK): Adjust for e500
3436         doubles.
3437
3438 2004-10-26  Kazu Hirata  <kazu@cs.umass.edu>
3439
3440         * stmt.c (expand_case): Update a comment.
3441
3442 2004-10-26  Kazu Hirata  <kazu@cs.umass.edu>
3443
3444         * stmt.c (expand_case): Put an assertion that index_expr is
3445         never INTEGER_CST.  Don't special case for constant
3446         index_expr.
3447
3448 2004-10-26  Andrew Pinski  <pinskia@physics.uc.edu>
3449
3450         PR 18162
3451         * c-parse.in (designator): Finish with a semi-colon.
3452
3453 2004-10-26  Fariborz Jahanian <fjahanian@apple.com>
3454
3455         * config/rs6000/rs6000.md (andsi3_internal8): Set CR when splitting
3456         into rotlsi3.
3457
3458 2004-10-26  Kazu Hirata  <kazu@cs.umass.edu>
3459
3460         * stmt.c (expand_case): Remove code to handle SWITCH_EXPR with
3461         a default case only.
3462
3463 2004-10-26  Aldy Hernandez  <aldyh@redhat.com>
3464
3465         * config/rs6000/rs6000.c (rs6000_hard_regno_nregs): Adjust for
3466         e500 doubles.
3467         (spe_build_register_parallel): New.
3468         (rs6000_spe_function_arg): Handle e500 doubles.
3469         (function_arg): Same.
3470         (spe_func_has_64bit_regs_p): Same.
3471         (rs6000_function_value): Same.
3472         (rs6000_libcall_value): Same.
3473         (legitimate_lo_sum_address_p): Return false for e500 doubles.
3474