OSDN Git Service

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