OSDN Git Service

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