OSDN Git Service

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