OSDN Git Service

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