OSDN Git Service

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