OSDN Git Service

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