OSDN Git Service

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