OSDN Git Service

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