OSDN Git Service

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