OSDN Git Service

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