OSDN Git Service

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