OSDN Git Service

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