OSDN Git Service

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