OSDN Git Service

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