OSDN Git Service

Fix for PR 18010, copy epilogue unwind info when copying epilogue insns.
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2004-10-26  James E Wilson  <wilson@specifixinc.com>
2
3         PR target/18010
4         * emit-rtl.c (emit_copy_of_insn_after): Copy RTX_FRAME_RELATED_P.
5
6 2004-10-26  Zack Weinberg  <zack@codesourcery.com>
7
8         * dbxout.c: Include obstack.h.
9         (ASM_STABS_OP): Take XCOFF_DEBUGGING_INFO into account in
10         default definition.
11         (ASM_STABD_OP, NO_DBX_MAIN_SOURCE_DIRECTORY, DBX_CONTIN_CHAR):
12         Default-define here.
13         (DBX_CONTIN_LENGTH): Move definition with others.
14         (DBX_FINISH_STABS): New target macro.
15         (current_sym_code, current_sym_value, current_sym_addr)
16         (current_sym_nchars, CHARS, dbxout_continue)
17         (print_int_cst_octal, print_octal, print_wide_int)
18         (dbxout_prepare_symbol, dbxout_finish_symbol): Delete.
19         (stabstr_ob, stabstr_last_contin_point): New variables.
20         (NUMBER_FMT_LOOP): New improper macro.
21         (dbxout_int, dbxout_stab_value_zero, dbxout_stab_value_label)
22         (dbxout_stab_value_label_diff, dbxout_stab_value_internal_label)
23         (dbxout_stab_value_internal_label_diff, dbxout_stabd)
24         (dbxout_begin_stabn, dbxout_begin_stabn_sline)
25         (dbxout_begin_simple_stabs, dbxout_begin_simple_stabs_desc)
26         (dbxout_begin_complex_stabs, dbxout_finish_complex_stabs)
27         (stabstr_C, stabstr_S, stabstr_I, stabstr_D, stabstr_U, stabstr_O)
28         (stabstr_continue, DECL_ACCESSIBILITY_CHAR)
29         New functions and/or proper function-like macros.
30         (CONTIN): Use stabstr_continue, unconditionally.
31         (get_lang_number): Define unconditionally, with ATTRIBUTE_UNUSED.
32         (dbxout_init): Initialize stabstr_ob.  Check
33         NO_DBX_MAIN_SOURCE_DIRECTORY.  Only write out the Ltext label
34         if it was used.  Use the new interfaces.
35         (dbxout_source_file): Remove file argument; always write to
36         asm_out_file.  Use the new interfaces.
37         (dbxout_type_method_1): Remove second argument which is always
38         DECL_ASSEMBLER_NAME of the first argument.  Use the new interfaces.
39         (dbxout_type_methods): Remove write-only variables.  Use the
40         new interfaces.
41         (dbxout_parms): Refactor to remove code duplicated in each of
42         several successive if-else-if blocks.  Use the new interfaces.
43         (dbxout_function_end, emit_bincl_stab, dbxout_end_source_file)
44         (dbxout_source_line, dbxout_finish, dbxout_type_index)
45         (dbxout_type_fields, dbxout_range_type, dbxout_type, dbxout_type_name)
46         (dbxout_class_name_qualifiers, dbxout_symbol, dbxout_symbol_location)
47         (dbxout_symbol_name, dbxout_reg_parms, dbxout_args)
48         (dbx_output_lbrac, dbx_output_rbrac, dbxout_block):
49         Use the new interfaces.
50         * Makefile.in (dbxout.o): Update dependencies.
51
52         * defaults.h: Don't define ASM_STABD_OP.
53         * output.h: Prototype new dbxout_* interfaces.
54         * system.h: Poison DBX_OUTPUT_GCC_MARKER and DBX_FINISH_SYMBOL.
55         * varasm.c: Don't define ASM_STABS_OP.
56         (default_stabs_asm_out_constructor, default_stabs_asm_out_destructor):
57         Use the new dbxout.c interfaces.  Call sorry if neither
58         DBX_DEBUGGING_INFO nor XCOFF_DEBUGGING_INFO is defined.
59
60         * xcoffout.h: Don't define ASM_STABS_OP.
61         (DBX_FINISH_SYMBOL): Rewrite and rename DBX_FINISH_STABS.
62         (DBX_OUTPUT_MAIN_SOURCE_DIRECTORY, DBX_OUTPUT_GCC_MARKER): Delete.
63         (NO_DBX_MAIN_SOURCE_DIRECTORY, NO_DBX_GCC_MARKER): Define.
64         (DBX_OUTPUT_MAIN_SOURCE_FILE_END): Change bare block to
65         do { ... } while (0) idiom.
66
67         * config/alpha/alpha.c (num_source_filenames): Export.
68         * config/alpha/alpha.h (num_source_filenames): Declare.
69         (DBX_OUTPUT_SOURCE_LINE): Use new interfaces.
70         (SDB_OUTPUT_SOURCE_LINE): Add missing newline.
71         * config/m32r/m32r.h (DBX_OUTPUT_SOURCE_LINE): Use new interfaces.
72         Always use .debugsym.  Update commentary.
73         * config/mips/mips.h (DBX_OUTPUT_SOURCE_LINE): Use new interfaces.
74         (SDB_OUTPUT_SOURCE_LINE): Add missing newline.
75         * config/rs6000/linux64.h (DBX_OUTPUT_SOURCE_LINE, DBX_OUTPUT_BRAC):
76         Use new interfaces.
77         * config/rs6000/rs6000.c: If TARGET_MACHO, include gstab.h.
78         (macho_branch_islands): Use new interfaces.
79
80         * doc/tm.texi: Update.
81
82 2004-10-26  Aldy Hernandez  <aldyh@redhat.com>
83
84         * expr.c (emit_group_store): Do not treat floats as BLKmode.
85         (emit_group_load): Same.
86
87 2004-10-26  Joseph S. Myers  <jsm@polyomino.org.uk>
88
89         * c-parse.in (datadef): Use pedwarn rather than error and warning
90         for diagnostic in case of no declaration specifiers.
91
92 2004-10-26  Richard Sandiford  <rsandifo@redhat.com>
93
94         PR bootstrap/15747
95         * doc/install.texi (mips-sgi-irix5): Document that /bin/sh has been
96         reported to hang during bootstrap and that CONFIG_SHELL=/bin/ksh
97         can be used to work around this.
98
99 2004-10-26  Aldy Hernandez  <aldyh@redhat.com>
100
101         * config/rs6000/rs6000.h (MEMBER_TYPE_FORCES_BLK): Adjust for e500
102         doubles.
103
104 2004-10-26  Kazu Hirata  <kazu@cs.umass.edu>
105
106         * stmt.c (expand_case): Update a comment.
107
108 2004-10-26  Kazu Hirata  <kazu@cs.umass.edu>
109
110         * stmt.c (expand_case): Put an assertion that index_expr is
111         never INTEGER_CST.  Don't special case for constant
112         index_expr.
113
114 2004-10-26  Andrew Pinski  <pinskia@physics.uc.edu>
115
116         PR 18162
117         * c-parse.in (designator): Finish with a semi-colon.
118
119 2004-10-26  Fariborz Jahanian <fjahanian@apple.com>
120
121         * config/rs6000/rs6000.md (andsi3_internal8): Set CR when splitting
122         into rotlsi3.
123
124 2004-10-26  Kazu Hirata  <kazu@cs.umass.edu>
125
126         * stmt.c (expand_case): Remove code to handle SWITCH_EXPR with
127         a default case only.
128
129 2004-10-26  Aldy Hernandez  <aldyh@redhat.com>
130
131         * config/rs6000/rs6000.c (rs6000_hard_regno_nregs): Adjust for
132         e500 doubles.
133         (spe_build_register_parallel): New.
134         (rs6000_spe_function_arg): Handle e500 doubles.
135         (function_arg): Same.
136         (spe_func_has_64bit_regs_p): Same.
137         (rs6000_function_value): Same.
138         (rs6000_libcall_value): Same.
139         (legitimate_lo_sum_address_p): Return false for e500 doubles.
140
141         * config/rs6000/rs6000.h (LOCAL_ALIGNMENT): Adjust for e500
142         doubles.
143         (DATA_ALIGNMENT): Same.
144         (CANNOT_CHANGE_MODE_CLASS): Same.
145
146 2004-10-26  Aldy Hernandez  <aldyh@redhat.com>
147
148         * expr.c (emit_group_load): Handle floats.
149         (emit_group_store): Same.
150
151 2004-10-26  Nathan Sidwell  <nathan@codesourcery.com>
152
153         * c-lex.c (get_nonpadding_token): Remove.
154         (c_lex_with_flags): Push timevar and eat padding here.  Improve
155         stray token diagnostic.
156         (lex_string): Replace logic with switch statement, eat padding
157         token here.
158
159 2004-10-26  Geoffrey Keating  <geoffk@apple.com>
160
161         PR 18149
162         * config/i386/darwin.h (ASM_SPEC): Undef it before defining.
163
164 2004-10-25  Geoffrey Keating  <geoffk@apple.com>
165
166         * config/darwin.h (LINK_SPEC): Default weak_reference_mismatches
167         to 'non-weak'.
168         (MAKE_DECL_ONE_ONLY): Set DECL_WEAK.
169         (ASM_MAKE_LABEL_LINKONCE): Delete.
170         (ASM_WEAKEN_DECL): New.
171         (ASM_DECLARE_OBJECT_NAME): Look at DECL_WEAK not DECL_ONE_ONLY.
172         (ASM_DECLARE_FUNCTION_NAME): Likewise.
173         (TEXT_SECTION_ASM_OP): Add a tab.
174         (DATA_SECTION_ASM_OP): Likewise.
175         (SECTION_FUNCTION): Add a tab.  Use fputs.  Don't call
176         data_section on every section change.
177         (EXTRA_SECTIONS): Add a bunch of new extra sections.
178         (EXTRA_SECTION_FUNCTIONS): Likewise.
179         (USE_SELECT_SECTION_FOR_FUNCTIONS): Define.
180         (JCR_SECTION_NAME): Define.
181         (TARGET_SECTION_TYPE_FLAGS): Don't define.
182         * config/darwin.c (darwin_encode_section_info): A symbol is defined
183         in this file if it is not weak.
184         (textcoal_section): Delete.
185         (datacoal_section): Delete.
186         (darwin_make_decl_one_only): Delete.
187         (machopic_select_section): Handle functions.
188         (darwin_asm_named_section): Add a tab.
189         (darwin_section_type_flags): Delete.
190         (darwin_unique_section): Delete contents.
191         (darwin_emit_unwind_label): Add a tab.  Make decls weak if
192         DECL_WEAK is set.
193         * config/darwin-protos.h (darwin_section_type_flags): Delete.
194         (darwin_make_decl_one_only): Delete.
195         (text_coal_section): New.
196         (text_unlikely_section): New.
197         (text_unlikely_coal_section): New.
198         (const_coal_section): New.
199         (data_coal_section): New.
200         (const_data_coal_section): New.
201         * varasm.c (function_section): Honour
202         USE_SELECT_SECTION_FOR_FUNCTIONS.
203         * dwarf2out.c (output_call_frame_info): Look at DECL_WEAK when
204         TARGET_USES_WEAK_UNWIND_INFO is in effect.
205         * dbxout.c (dbxout_source_file): Don't change sections while
206         a function is being output.
207
208 2004-10-25  David Ayers  <d.ayers@inode.at>
209
210         * c-common.h: Remove RID_ID.
211         * c-parse.in: Remove OBJECTNAME and references to RID_ID.
212         (typespec_reserved_attr): Add rule for TYPENAME
213         non_empty_protocolrefs.
214         (yylexname): Remove special handling of RID_ID.
215
216 2004-10-25  James E Wilson  <wilson@specifixinc.com>
217
218         * doc/invoke.texi (-fcrossjumping): Not enabled at -O.
219
220 2004-10-25  Joseph S. Myers  <jsm@polyomino.org.uk>
221
222         PR c/16667
223         * c-parse.in (array_designator): New.
224         (designator): Use it.
225         (initelt): Only permit array_designator without '=', not ".foo".
226
227 2004-10-25  Kenneth Zadeck <zadeck@naturalbridge.com>
228         * gcc/Makefile.in: removed ggc for cgraphunit.
229         * gcc/cgraph.c.dump_cgraph_node: removed static var analysis.
230         * gcc/cgraph.h: removed static var analysis data structures and calls.
231         * gcc/cgraphunit.c:
232         cgraph_mark_local_and_external_functions:changed name to
233                 cgraph_mark_local_functions
234         (print_order,convert_UIDs_in_bitmap,new_static_vars_info,
235         cgraph_reset_static_var_maps,get_global_static_vars_info,
236         get_global_statics_not_read,get_global_statics_not_written,searchc,
237         cgraph_reduced_inorder,has_proper_scope_for_analysis,check_rhs_var,
238         check_lhs_var,get_asm_expr_operands,process_call_for_static_vars,
239         scan_for_static_refs,cgraph_characterize_statics_local,
240         clear_static_vars_maps,cgraph_propagate_bits,cgraph_characterize_statics):
241         removed.
242         (cgraph_optimize,init_cgraph): removed calls to static vars analysis
243         * gcc/tree-dfa.c find_referenced_vars: removed call to static vars
244         analysis
245         * gcc/tree-flow.h static_vars_info: removed
246         * gcc/tree-ssa-operands.c (add_call_clobber_ops,add_call_read_ops):
247         removed calls to static vars analysis.
248         get_call_expr_operands: removed callee variable.
249
250 2004-10-25  Kazu Hirata  <kazu@cs.umass.edu>
251
252         * cfg.c (unchecked_make_edge, redirect_edge_succ,
253         redirect_edge_pred): Use VEC_safe_push instead of
254         VEC_safe_insert.
255         * cfgrtl.c (force_nonfallthru_and_redirect): Likewise.
256
257 2004-10-25  Kazu Hirata  <kazu@cs.umass.edu>
258
259         * cfgloopmanip.c (loopify): Take two more arguments true_edge
260         and false_edge.
261         * cfgloop.h: Adjust the corresponding prototype.
262         * loop-unswitch.c (unswitch_loop): Adjust a call to loopify.
263         * tree-ssa-loop-manip.c (tree_ssa_loop_version): Likewise.
264
265 2004-10-25  Jakub Jelinek  <jakub@redhat.com>
266
267         * dwarf2out.c (rtl_for_decl_location): Avoid segfault if
268         DECL_INCOMING_RTL is NULL.
269
270 2004-10-25  Steven Bosscher  <stevenb@suse.de>
271
272         * timevar.def (TV_FIND_REFERENCED_VARS): New.
273         * tree-dfa.c (pass_referenced_var): Use it.
274
275 2004-10-25  Roger Sayle  <roger@eyesopen.com>
276             John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
277
278         * cse.c: Change encoding of quantity numbers to avoid undefined
279         pointer arithmetic on qty_table.
280         (REGNO_QTY_VALID_P): A quantity is now valid if it isn't negative.
281         (get_cse_reg_info): Initialize reg_qty to a unique negative value.
282         (new_basic_block): Assign "real" quantity numbers from zero.
283         (delete_reg_equiv): Do nothing if quantity is invalid.  Reset the
284         REG_QTY to its unique negative value.
285         (merge_equiv_classes): Calculate need_rehash if quantity is valid.
286         (cse_main): Don't include max_reg when determining max_qty.
287         (cse_basic_block): Avoid subtracting a large offset from qty_table,
288         which causes undefined C99 behaviour.  Only allocate needed memory.
289
290 2004-10-25  Kazu Hirata  <kazu@cs.umass.edu>
291
292         * stmt.c (expand_case): Remove an obsolete comment.
293
294 2004-10-25  Andrew Pinski  <pinskia@physics.uc.edu>
295
296         PR middle-end/17407
297         * c-decl.c (grokdeclarator) <case cdk_array>: Remove the call
298         layout_type as it is already done by build_array_type.
299         * tree.c (build_array_type): Layout the type even
300
301 2004-10-25  Alexandre Oliva  <aoliva@redhat.com>
302
303         * config/frv/linux.h (TARGET_C99_FUNCTIONS): Define to 0.
304
305 2004-10-25  Alexandre Oliva  <aoliva@redhat.com>
306
307         * config/frv/frv.md (movdi, movdf): Handle wide-constant splits
308         with wider-than-32-bit HOST_WIDE_INTs.
309
310 2004-10-25  David Billinghurst <David.Billinghurst@riotinto.com>
311
312         * config/mips/mips.c(mips_output_filename): Remove unused
313         array ltext_label_name
314
315 2004-10-24  Geoffrey Keating  <geoffk@geoffk.org>
316
317         * config/rs6000/darwin.h (BLOCK_REG_PADDING): Define.
318
319 2004-10-25  Ben Elliston  <bje@au.ibm.com>
320
321         * cfgcleanup.c (outgoing_edges_match): Fix typo in dump output.
322
323 2004-10-23  Andrew Pinski  <pinskia@physics.uc.edu>
324
325         * predict.c (predict_loops): Call scev_finalize instead of
326         scev_reset.
327
328 2004-10-24  Kazu Hirata  <kazu@cs.umass.edu>
329
330         * config/dbxcoff.h, config/dbxelf.h, config/libgloss.h,
331         config/openbsd.h, config/mips/r3900.h, config/pdp11/pdp11.md,
332         config/sh/ushmedia.h, config/sparc/elf.h,
333         config/sparc/sp64-elf.h: Update copyright.
334
335 2004-10-24  Kazu Hirata  <kazu@cs.umass.edu>
336
337         * stmt.c (expand_case): Handle the default label outside of
338         the for loop.  Remove code to handle a missing default label.
339
340 2004-10-23  Kazu Hirata  <kazu@cs.umass.edu>
341
342         * dbxout.c (dbxout_function_decl): Don't use
343         DBX_OUTPUT_FUNCTION_END.
344         * system.h: Poison DBX_OUTPUT_FUNCTION_END.
345         * doc/tm.texi (DBX_OUTPUT_FUNCTION_END): Remove.
346
347 2004-10-23  Andrew Pinski  <pinskia@physics.uc.edu>
348
349         PR middle-end/17967
350         * tree-cfg.c (remove_usless_stmts_cond):  Don't Fold statement.
351
352 2004-10-23  Daniel Berlin  <dberlin@dberlin.org>
353
354         * tree-ssa-dom.c (record_equality): Use loop depth to determine
355         which way to record the equality as well.
356         (loop_depth_of_name): New function.
357
358 2004-10-23  Eric Botcazou  <ebotcazou@libertysurf.fr>
359
360         PR middle-end/17793
361         * gimplify.c (gimplify_addr_expr) <VIEW_CONVERT_EXPR>: Look
362         through the operand if it is a useless type conversion.
363
364 2004-10-23  Ben Elliston  <bje@au.ibm.com>
365
366         * cfg.c (remove_edge): Use VEC_unordered_remove.
367         (redirect_edge_succ): Likewise.
368         (redirect_edge_pred): Likewise.
369         * cfgrtl.c (force_nonfallthru_and_redirect): Likewise.
370
371 2004-10-22  Kazu Hirata  <kazu@cs.umass.edu>
372
373         * sbitmap.h (EXECUTE_IF_SET_IN_SBITMAP): Don't access PTR
374         beyond its end.
375
376 2004-10-22  Eric Christopher  <echristo@redhat.com>
377
378         * config/rs6000/rs6000.c (setup_incoming_varargs): Align DFmode
379         saves.
380
381 2004-10-22  Aldy Hernandez  <aldyh@redhat.com>
382
383         * config/rs6000/spe.md (spe_extendsfdf2): New.
384         (movdf_e500_double): New.
385         (spe_truncdfsf2): New.
386         (spe_absdf2): New.
387         (spe_nabsdf2): New.
388         (spe_negdf2): New.
389         (sub_adddf3): New.
390         (spe_subdf3): New.
391         (spe_muldf3): New.
392         (spe_floatsidf2): New.
393         (spe_floatunssidf2): New.
394         (fix_truncdfsi2): New.
395         (spe_fixuns_truncdfsi2): New.
396
397         * config/rs6000/rs6000.md (truncdfsf2): Change to expander.
398         (fpr_truncdfsf2): New.
399         (negdf2): Change to expander.
400         (fpr_negdf2): New.
401         (fpr_nabsdf2): Name pattern.
402         (adddf3): Change to expander.
403         (fpr_adddf3): Nem.
404         (subdf3): Change to expander.
405         (fpr_subdf3): New.
406         (muldf3): Change to expander.
407         (fpr_muldf3): New.
408         (divdf3): Change to expander.
409         (fpr_divdf3): New.
410         (movdf_softfloat32): Change !TARGET_FPRS to TARGET_E500_SINGLE.
411         (cmpdf): Allow for TARGET_E500_DOUBLE.
412
413 2004-10-22  Kazu Hirata  <kazu@cs.umass.edu>
414
415         * c-semantics.c (re_push_stmt_list): Remove.
416         * c-common.h: Remove the corresponding prototype.
417
418 2004-10-22  Kazu Hirata  <kazu@cs.umass.edu>
419
420         * stmt.c (asm_op_is_mem_input): Remove.
421         * tree.h: Remove the corresponding prototype.
422
423 2004-10-22  Kazu Hirata  <kazu@cs.umass.edu>
424
425         * tree-gimple.c (is_gimple_constructor_elt): Remove.
426         * tree-gimple.h: Remove the corresponding prototype.
427
428 2004-10-22  Kazu Hirata  <kazu@cs.umass.edu>
429
430         * varasm.c (get_pool_mode_for_function, get_pool_offset):
431         Remove.
432         * rtl.h: Remove the corresponding prototypes.
433
434 2004-10-22  Kazu Hirata  <kazu@cs.umass.edu>
435
436         * tree-cfg.c (thread_jumps_from_bb): Speed up by extracting
437         edge information when we commit ourselves to threading a
438         particular jump.
439
440 2004-10-22  Kazu Hirata  <kazu@cs.umass.edu>
441
442         * tree-cfg.c (thread_jumps): Speed up by putting basic blocks
443         into worklist instead of their indexes.
444
445 2004-10-22  Kazu Hirata  <kazu@cs.umass.edu>
446
447         * alias.c, basic-block.h, cgraphunit.c, combine.c, domwalk.h,
448         final.c, gengtype.c, genpreds.c, ggc-page.c, insn-notes.def,
449         lambda-code.c, loop-unroll.c, modulo-sched.c, pointer-set.c,
450         pretty-print.c, ra-colorize.c, sbitmap.c, tree-complex.c,
451         tree-data-ref.c, tree-dfa.c, tree-inline.c, tree-into-ssa.c,
452         tree-scalar-evolution.c, tree-ssa-dom.c,
453         tree-ssa-loop-manip.c, tree-ssa-loop-niter.c,
454         tree-ssa-phiopt.c, tree-ssa-pre.c, tree-ssa-threadupdate.c,
455         tree-vectorizer.c, vec.h: Fix comment formatting.
456
457 2004-10-22  Kazu Hirata  <kazu@cs.umass.edu>
458
459         * dwarf.h, gthr-dce.h, gthr-single.h, gthr-solaris.h, gthr.h,
460         libfuncs.h, libgcc2.h, stab.def, tsystem.h: Update copyright.
461
462 2004-10-22  Kazu Hirata  <kazu@cs.umass.edu>
463
464         * config/ptx4.h, config/mcore/mcore-pe.h,
465         config/rs6000/eabi.h, config/vax/elf.h: Update copyright.
466
467 2004-10-22  Peter Barada <peter@the-baradas.com>
468
469         * config/m68k/m68k.h (HARD_REGNO_RENAME_OK): New macro.
470         * config/m68k/m68k.c (m68k_hard regno_rename_ok): Disallow
471         renaming of non-live registers in interrupt functions.
472         * config/m68k/m68k-protos.h (m68k_hard_regno_rename_ok): Add prototype.
473
474 2004-10-22  Zdenek Dvorak  <dvorakz@suse.cz>
475
476         * tree-ssa-loop-niter.c (inverse): Count in HOST_WIDE_INT if possible.
477         Use integer for loop counter.
478         (num_ending_zeros): New function.
479         (number_of_iterations_cond): Use num_ending_zeros.
480
481 2004-10-21  Aldy Hernandez  <aldyh@redhat.com>
482
483         * config.gcc: Add support for --enable-e500_double.
484
485         * config/rs6000/e500-double.h: New file.
486
487         * config/rs6000/rs6000.h: Define TARGET_E500_SINGLE and
488         TARGET_E500_DOUBLE.
489
490         * config/rs6000/eabi.h: Define TARGET_E500_SINGLE and
491         TARGET_E500_DOUBLE.
492
493         * config/rs6000/linuxspe.h: Same.
494
495         * doc/invoke.texi (Option Summary): Document new options for
496         mfloat-gprs.
497         (RS/6000 and PowerPC Options): Same.
498
499         * config/rs6000/rs6000.c (rs6000_parse_float_gprs_option): New
500         function.
501         (rs6000_override_options): Use it.  Use
502         SUB3TARGET_OVERRIDE_OPTIONS.
503         Add 8548 to processor_target_table.
504         (rs6000_legitimate_address): Handle e500 doubles.
505         (rs6000_legitimize_address): Same.
506         (rs6000_legitimize_reload_address): Same.
507         (rs6000_hard_regno_nregs): Same.
508         (spe_func_has_64bit_regs_p): Same.
509         (emit_frame_save): Same.
510         (gen_frame_mem_offset): Same.
511         (rs6000_dwarf_register_span): Same.
512         (rs6000_generate_compare): Same.
513         (easy_fp_constant): Same.
514         (legitimate_offset_address_p): Same.
515
516         * config/rs6000/spe.md: (cmdfeq_gpr): New.
517         (tstdfeq_gpr): New.
518         (cmpdfgt_gpr): New.
519         (tstdfgt_gpr): New.
520         (tstdfgt_gpr): New.
521         (cmpdflt_gpr): New.
522         (tstdflt_gpr): New.
523         Add new constants.
524
525 2004-10-21  Giovanni Bajo  <giovannibajo@gcc.gnu.org>
526
527         * config/arc/lib1funcs.asm (___umulsidi3): Fix typo.
528
529 2004-10-21  Zack Weinberg  <zack@codesourcery.com>
530
531         * dbxout.c: Remove unnecessary #undefs.
532         (GDB_INV_REF_REGPARM_STABS_LETTER, DBX_MEMPARM_STABS_LETTER)
533         (FILE_NAME_JOINER, STABS_GCC_MARKER): Remove; fold sole
534         definition into use sites.
535         (cwd): Make local to dbxout_init.
536         (dbxout_init): Restructure cwd-using logic for clarity.  Use
537         IS_DIR_SEPARATOR.
538         * xcoffout.h (DBX_OUTPUT_GCC_MARKER): Definition of
539         STABS_GCC_MARKER folded in here.
540         * system.h: Poison now-unused macros.
541         * doc/tm.texi: Remove documentation of now-unused macros.
542
543 2004-10-21  Andrew Pinski  <pinskia@physics.uc.edu>
544
545         PR c/17538
546         * c-opts.c (push_command_line_include): Use the current file
547         name instead of the main one.
548
549 2004-10-21  Andrew Pinski  <pinskia@physics.uc.edu>
550
551         PR objc/17923
552         * tree.c (staticp): A CONST_DECL has static storage if either
553         TREE_STATIC or DECL_EXTERNAL is set.
554         * c-decl.c (pushdecl_top_level): Accept CONST_DECLs which can
555         have null names.
556
557 2004-10-21  Kazu Hirata  <kazu@cs.umass.edu>
558
559         * expr.c (store_expr): Remove dont_store_target.
560
561 2004-10-21  Kazu Hirata  <kazu@cs.umass.edu>
562
563         * tree-cfg.c (thread_jumps): Speed up by using a worklist.
564
565 2004-10-21  Kazu Hirata  <kazu@cs.umass.edu>
566
567         * tree-cfg.c (thread_jumps): Move a part of it to ...
568         (thread_jumps_from_bb): ... here.
569
570 2004-10-21  David Edelsohn  <edelsohn@gnu.org>
571
572         * dbxout.c (DBX_FINISH_SYMBOL): Add asm_out_file argument.
573         * xcoffout.h (DBX_FINISH_SYMBOL): Change asmfile to (ASMFILE).
574
575 2004-10-21  Kazu Hirata  <kazu@cs.umass.edu>
576
577         * expr.c (store_expr): Clean up by renaming want_value to
578         call_param_p.
579
580 2004-10-21  Kaz Kojima  <kkojima@gcc.gnu.org>
581
582         * config/sh/linux-unwind.h (sh_fallback_frame_state): Don't
583         fixup pc here.
584
585 2004-10-21  Aldy Hernandez  <aldyh@redhat.com>
586
587         PR 18004.
588         * expmed.c (store_bit_field): Pass original 'value' before
589         recursing.
590
591 2004-10-21  Nicolas Pitre <nico@cam.org>
592
593         * config/arm/ieee754-sf.S: Large speed improvements. Fix NAN handling.
594         * config/arm/ieee754-df.S: Ditto.
595
596 2004-10-20  Zack Weinberg  <zack@codesourcery.com>
597
598         * dbxout.c (asmfile): Delete.  All uses changed to asm_out_file.
599         (DBX_BLOCKS_FUNCTION_RELATIVE, DBX_LINES_FUNCTION_RELATIVE):
600         Default to 0.
601         (dbxout_source_line): Use DBX_OUTPUT_SOURCE_LINE when defined.
602         When it is not, but DBX_LINES_FUNCTION_RELATIVE is true, emit
603         an internal label and an N_SLINE .stabn whose value is the
604         difference between that label and the function entry label.
605         (dbxout_finish): If DBX_OUTPUT_MAIN_SOURCE_FILE_END is not defined,
606         but DBX_OUTPUT_NULL_N_SO_AT_MAIN_SOURCE_FILE_END is, emit a
607         label and an N_SO stab with an empty string referring to it.
608         (dbx_output_lbrac, dbx_output_rbrac): Use if statement instead
609         of #ifdef directive to test DBX_BLOCKS_FUNCTION_RELATIVE.
610         (dbxout_type_methods, dbxout_symbol): Remove #if 0 block.
611         (dbxout_prepare_symbol): Remove #ifdef WINNING_GDB block, this
612         macro is never defined.
613         * sdbout.c (sdbout_source_line_counter): Delete.
614         (PUT_SDB_SRC_FILE): Delete.  Uses replaced with sole definition.
615         (sdbout_source_line): Use SDB_OUTPUT_SOURCE_LINE, which takes
616         only two arguments.
617         * xcoffout.c (ASM_OUTPUT_SOURCE_LINE): Rename ASM_OUTPUT_LINE.
618
619         * config/dbxcoff.h, config/dbxelf.h: Remove unncessary #undefs.
620         * config/c4x/c4x.h, config/pa/pa.h: Remove unnecessary macro
621         definitions (identical to default).
622         * config/darwin.h, config/dbxcoff.h, config/dbxelf.h, config/ptx4.h
623         * config/h8300/coff.h, config/pa/som.h, config/sh/elf.h:
624         Define DBX_OUTPUT_NULL_N_SO_AT_MAIN_SOURCE_FILE_END, not
625         DBX_OUTPUT_MAIN_SOURCE_FILE_END.
626         * config/dbxcoff.h, config/dbxelf.h, config/ptx4.h
627         * config/mcore/mcore-pe.h, config/pa/som.h, config/sh/elf.h:
628         Define DBX_LINES_FUNCTION_RELATIVE, not ASM_OUTPUT_SOURCE_LINE.
629         * config/alpha/alpha-protos.h: Don't prototype alpha_output_lineno.
630         * config/alpha/alpha.c: Move declaration of num_source_filenames up.
631         (alpha_start_function): Use SDB_OUTPUT_SOURCE_LINE.
632         (sym_lineno): Delete.
633         (alpha_output_filename): Do not emit N_SOL stabs here.  Remove
634         now-unused variable.
635         (alpha_output_lineno): Delete.
636         * config/mips/mips-protos.h: Don't prototype mips_output_lineno.
637         * config/mips/mips.c (mips_output_filename): Don't use
638         ASM_OUTPUT_FILENAME. Don't emit N_SOL stabs here.
639         (mips_output_lineno): Delete.
640         (mips_output_function_prologue: Use SDB_OUTPUT_SOURCE_LINE.
641         * config/alpha/alpha.h: Define DBX_OUTPUT_SOURCE_LINE and
642         SDB_OUTPUT_SOURCE_LINE, not ASM_OUTPUT_SOURCE_LINE.
643         * config/mips/mips.h: Likewise.  Don't define ASM_OUTPUT_FILENAME.
644         * config/mips/sdb.h: Use SDB_OUTPUT_SOURCE_LINE.
645         * config/avr/avr.h: Don't define ASM_OUTPUT_SOURCE_LINE.
646         * config/mmix/mmix.h: Likewise.
647         * config/mmix/mmix.c (mmix_asm_output_source_line): Delete.
648         * config/mmix/mmix-protos.h: Don't prototype it.
649         * config/alpha/unicosmk.h: Also #undef PREFERRED_DEBUGGING_TYPE;
650         no need to #undef ASM_OUTPUT_SOURCE_LINE.
651         * config/arm/aout.h: Remove RISCiX-specific definition of
652         DBX_OUTPUT_MAIN_SOURCE_FILENAME.
653         * config/m32r/m32r.h: Define DBX_OUTPUT_SOURCE_LINE, not
654         ASM_OUTPUT_SOURCE_LINE.
655         * config/rs6000/linux64.h (ASM_OUTPUT_SOURCE_LINE): Rename to
656         DBX_OUTPUT_SOURCE_LINE.  Don't use current_function_func_begin_label.
657         * config/vax/elf.h: No need to define DBX_OUTPUT_FUNCTION_END.
658
659         * doc/tm.texi: Update.
660
661 2004-10-20  Richard Henderson  <rth@redhat.com>
662
663         * tree-sra.c (instantiate_element): Copy DECL_IGNORED_P also.
664
665 2004-10-20  Kelley Cook  <kcook@gcc.gnu.org>
666
667         * configure.ac: Revert my previous patch.
668         * configure: Regenerate.
669
670 2004-10-20  Ben Elliston  <bje@au.ibm.com>
671
672         * config/rs6000/rs6000.c
673         (rs6000_va_start): Use build_va_arg_indirect_ref.
674         (rs6000_gimplify_va_arg): Likewise.
675
676 2004-10-20  Bryce McKinlay  <mckinlay@redhat.com>
677
678         PR java/15575
679         * configure.ac: Declare AM_LANGINFO_CODESET.
680         * aclocal.m4: Define AM_LANGINFO_CODESET.
681         * configure, config.in: Rebuilt.
682
683 2004-10-20  Kazu Hirata  <kazu@cs.umass.edu>
684
685         * expr.c (store_expr): Remove code that is run when
686         want_value & 1 is nonzero.
687
688 2004-10-20  Mark Mitchell  <mark@codesourcery.com>
689
690         * gthr-posix.h (__gthread_active_p): Use __extension__ around cast
691         from function pointer to void *.
692
693 2004-10-20  Kaz Kojima  <kkojima@gcc.gnu.org>
694
695         PR target/18032
696         * config/sh/sh.c (sh_expand_epilogue): Emit a blockage insn before
697         the frame pointer adjustment when exception handling is enabled.
698
699 2004-10-20  Kazu Hirata  <kazu@cs.umass.edu>
700
701         * stor-layout.c: Fix a comment typo.
702
703 2004-10-20  Kazu Hirata  <kazu@cs.umass.edu>
704
705         * expr.c (store_field): Remove two arguments value_mode and
706         unsignedp.
707         (expand_assignment, store_constructor_field,
708         expand_expr_real_1): Adjust calls to store_field.
709
710 2004-10-18  Ramana Radhakrishnan  <ramana.radhakrishnan@codito.com>
711
712         * config/arc/lib1funcs.asm (___umulsidi3): Correct usage of flags.
713
714         PR target/17317
715         * config/arc/arc.h (REGNO_OK_FOR_BASE_P,REGNO_OK_FOR_INDEX_P,
716         REG_OK_FOR_BASE, REG_OK_FOR_INDEX): Consider blink(r31) as a valid
717         base and index register for loads.
718
719         * config/arc/t-arc: Fix multilib handling.
720
721 2004-10-20  Hans-Peter Nilsson  <hp@bitrange.com>
722
723         * cfgrtl.c (rtl_verify_flow_info_1): When checking insns in a bb,
724         don't inspect BLOCK_FOR_INSN for barriers.
725         * emit-rtl.c (emit_barrier_before): Revert last change.
726         (emit_barrier_after, emit_barrier): Ditto.
727
728         * doc/extend.texi (Extended Asm): Warn and provide example
729         solution for using a call-clobbered asm register.
730         (Local Reg Vars): Similar.  Cross-reference example.
731
732 2004-10-19  Andrew Pinski  <pinskia@physics.uc.edu>
733
734         * tree-cfg.c (group_case_labels): Look at the second to last
735         case statement for combing with the default case.
736
737 2004-10-19  Richard Hendeson  <rth@redhat.com>
738
739         PR 17962
740         * stor-layout.c (layout_type): Set TYPE_ALIGN for vectors.
741
742 2004-10-19  Richard Hendeson  <rth@redhat.com>
743
744         * builtins.c (expand_builtin_memmove): If fold_builtin_memmove
745         succeeds, only expand the result.
746
747 2004-10-19  Richard Hendeson  <rth@redhat.com>
748
749         PR middle-end/17885
750         * tree.c (recompute_tree_invarant_for_addr_expr): Always poll address
751         of INDIRECT_REF.
752
753 2004-10-19  Kazu Hirata  <kazu@cs.umass.edu>
754
755         * tree-cfg.c (thread_jumps): Use a do-while loop instead of a
756         loop with goto.
757
758 2004-10-19  Kazu Hirata  <kazu@cs.umass.edu>
759
760         * expr.c (expand_assignment): Remove the last argument.
761         Change the return type to void.
762         * expr.h: Update the prototype of expand_assignment.
763         * function.c (assign_parm_setup_reg): Update a call to
764         expand_assignment.
765         * stmt.c (expand_asm_expr): Likewise.
766
767 2004-10-19  Kazu Hirata  <kazu@cs.umass.edu>
768
769         * expr.c (expand_expr_real_1) <MODIFY_EXPR>: Remove
770         unnecessary assignments to temp.  Return const0_rtx.
771
772 2004-10-19  Kaz Kojima  <kkojima@gcc.gnu.org>
773
774         * config/sh/sh.c (sh5_schedule_saves): Fix typo.
775
776 2004-10-18  Kelley Cook  <kcook@gcc.gnu.org>
777
778         * configure.ac (powerpc-*-darwin*): Require assembler to support
779         .machine directive.
780         * configure: Regenerate.
781
782 2004-10-18  Kazu Hirata  <kazu@cs.umass.edu>
783
784         * reload1.c (ior_hard_reg_set): Remove.
785         (finish_spills): Use IOR_HARD_REG_SET instead of
786         ior_hard_reg_set.
787
788 2004-10-18  Kazu Hirata  <kazu@cs.umass.edu>
789
790         * sbitmap.h (EXECUTE_IF_SET_IN_SBITMAP): Speed up by shifting
791         the currently visited word to right.
792
793 2004-10-18  Eric Botcazou  <ebotcazou@libertysurf.fr>
794
795         PR middle-end/18045
796         * expmed.c (expand_smod_pow2): Handle modes whose size
797         is greater than that of HOST_WIDE_INT.
798
799 2004-10-18  Ziemowit Laski  <zlaski@apple.com>
800
801         * c-parse.in (reservedwords): Add OBJC_TYPE_QUAL as alternative.
802
803 2004-10-18  Eric Botcazou  <ebotcazou@libertysurf.fr>
804             Roger Sayle  <roger@eyesopen.com>
805
806         PR middle-end/17813
807         * dojump.c (discard_pending_stack_adjust): New function.
808         (clear_pending_stack_adjust): Call it.
809         * expr.h (discard_pending_stack_adjust): Declare it.
810         * explow.c (emit_stack_save): Emit pending stack adjustments
811         before saving the stack pointer.
812         (emit_stack_restore): Discard pending stack adjustments before
813         restoring the stack pointer.
814
815 2004-10-18  Richard Henderson  <rth@redhat.com>
816
817         * c-common.c (handle_mode_attribute): Allow scalar->vector
818         type changes yet.
819
820 2004-10-18  Kazu Hirata  <kazu@cs.umass.edu>
821
822         * expr.c (expand_expr_real_1) [MODIFY_EXPR]: Don't request a
823         value to expand_assignment.
824
825 2004-10-18  Kazu Hirata  <kazu@cs.umass.edu>
826
827         * tree-cfg.c (cleanup_tree_cfg): Don't iterate on
828         thread_jumps.
829         (thread_jumps): Iterate until no new forwarder block arises.
830
831 2004-10-18  Kazu Hirata  <kazu@cs.umass.edu>
832
833         * tree-cfg.c (tree_forwarder_block_p): Don't set forwardable.
834         (thread_jumps): Use forwardable as cache of
835         tree_forwarder_block_p throughout the function.
836
837 2004-10-18  Andreas Krebbel  <krebbel1@de.ibm.com>
838
839         * cfg.c (dump_flow_info): Remove redundant dump of reg life info.
840
841 2004-10-18  Andrew Pinski  <pinskia@physics.uc.edu>
842
843         PR middle-end/15014
844         PR middle-end/16973
845         * tree-cfg.c (remove_bb): If we have a label expression in the
846         basic block and the label we have taken the address, move the
847         label expression to the basic block which is previous in the
848         linked list.
849         (tree_verify_flow_info): Fix printing out the label name of the
850         problematic label expression.
851
852 2004-10-18  Pat Haugen  <pthaugen@us.ibm.com>
853
854         PR rtl-optimization/18002
855         * simplify-rtx.c (mode_signbit_p): Externalize function...
856         * rtl.h (mode_signbit_p): ... to here.
857         * combine.c (simplify_shift_const): Recognize PLUS signbit as
858         canonical form of XOR signbit and move to outer op.
859
860 2004-10-18  Diego Novillo  <dnovillo@redhat.com>
861
862         * tree-cfg.c (bsi_for_stmt): Rename from stmt_for_bsi.
863         Update all callers.
864         * tree-ssa.c (replace_immediate_uses): Call bsi_for_stmt.
865         Don't call fold_stmt more than once, use bsi_replace.
866
867 2004-10-18  Diego Novillo  <dnovillo@redhat.com>
868
869         PR tree-optimization/17656
870         * tree-ssa.c (replace_immediate_uses): When replacing a
871         constant, if the call to fold_stmt produced a different
872         statement, get an appropriate statement pointer by scanning
873         STMT's basic block.
874
875 2004-10-18  Richard Henderson  <rth@redhat.com>
876
877         * pointer-set.c (hash1): Don't use libm functions in fallback case.
878
879 2004-10-18  H.J. Lu  <hongjiu.lu@intel.com>
880
881         PR bootstrap/17684
882         * Makefile.in (clean): Remove libgcc_s$(SHLIB_EXT).1.stage?.
883         (stage1-start): Remove and copy libunwind.a and
884         libunwind*$(SHLIB_EXT) instead of libunwind*.
885         (stage2-start): Likewise.
886         (stage3-start): Likewise.
887         (stage4-start): Likewise.
888         (stageprofile-start): Likewise.
889         (stagefeedback-start): Likewise.
890
891         * config/alpha/t-osf4 (SHLIB_LINK): Use a temporary file for
892         the shared library to be created and don't remove the existing
893         shared library.
894         * config/arm/t-netbsd (SHLIB_LINK): Likewise.
895         * config/i386/t-nwld (SHLIB_LINK): Likewise.
896         * config/mips/t-slibgcc-irix (SHLIB_LINK): Likewise.
897         * config/pa/t-hpux-shlib (SHLIB_LINK): Likewise.
898         * config/sh/t-linux (SHLIB_LINK): Likewise.
899         * config/t-libunwind-elf (SHLIBUNWIND_LINK): Likewise.
900         * config/t-slibgcc-darwin (SHLIB_LINK): Likewise.
901         * config/t-slibgcc-elf-ver (SHLIB_LINK): Likewise.
902         * config/t-slibgcc-sld (SHLIB_LINK): Likewise.
903
904         * mklibgcc.in (libgcc-stage-start): Also move "*${objext}s"
905         files.
906
907 2004-10-18  Kazu Hirata  <kazu@cs.umass.edu>
908
909         * basic-block.h (reg_set_iterator): New.
910         (EXECUTE_IF_SET_IN_REG_SET): Make it iterator style.
911         (EXECUTE_IF_AND_COMPL_IN_REG_SET): Likewise.
912         (EXECUTE_IF_AND_IN_REG_SET): Likewise.
913         * caller-save.c (save_call_clobbered_regs): Adjust to the new
914         style.
915         * cfgcleanup.c (thread_jump): Likewise.
916         * cfgrtl.c (safe_insert_insn_on_edge): Likewise.
917         * conflict.c (conflict_graph_compute): Likewise.
918         * flow.c (verify_local_live_at_start, update_life_info,
919         initialize_uninitialized_subregs, propagate_one_insn,
920         init_propagate_block_info, free_propagate_block_info,
921         propagate_block, dump_regset): Likewise.
922         * global.c (global_conflicts): Likewise.
923         * graph.c (start_bb): Likewise.
924         * local-alloc.c (update_equiv_regs): Likewise.
925         * loop.c (load_mems): Likewise.
926         * reload1.c (compute_use_by_pseudos, order_regs_for_reload,
927         find_reg, finish_spills): Likewise.
928         * resource.c (mark_target_live_regs): Likewise.
929         * sched-deps.c (sched_analyze_insn): Likewise.
930         * sched-rgn.c (sched-rgn.c): Likewise.
931         * config/frv/frv.c (frv_ifcvt_modify_tests): Likewise.
932
933 2004-10-18  Jakub Jelinek  <jakub@redhat.com>
934
935         * config/i386/i386.md (addqi_1_slp): Test for incdec_operand
936         operand 1 instead of 2
937
938 2004-10-18  Kazu Hirata  <kazu@cs.umass.edu>
939
940         * loop-unroll.c: Fix comment typos.
941
942 2004-10-18  Revital Eres  <eres@il.ibm.com>
943
944         * Makefile.in (loop-unroll.o): Add VARRAY_H dependency.
945         * loop-unroll.c: Include varray.h.
946         (struct var_to_expand, struct opt_info): Rename split_ivs_info to
947         opt_info and expand it to support variable expansion.
948         (analyze_insns_in_loop): Rename analyze_ivs_to_split and
949         expand it to support variable expansion.
950         (pt_info_start_duplication): Rename si_info_start_duplication.
951         (apply_opt_in_copies): Rename split_ivs_in_copies and add support
952         to the variable expansion optimization.
953         (free_opt_info): Rename free_si_info.
954         (analyze_insn_to_expand_var, referenced_in_one_insn_in_loop_p,
955         expand_var_during_unrolling, insert_var_expansion_initialization,
956         combine_var_copies_in_loop_exit, release_var_copies,
957         get_expansion): New functions.
958         (peel_loop_completely, unroll_loop_constant_iterations,
959         unroll_loop_runtime_iterations, peel_loop_simple,
960         unroll_loop_stupid): Change uses of struct si_info
961         to struct opt_info
962         and add uses of fvariable-expansion-in-unroller flag.
963         * params.def: Add parameter to restrict the number of expansions.
964         * params.h: (MAX_VARIABLE_EXPANSIONS): New define to restrict
965         the number of expansions.
966         * common.opt: (fvariable-expansion-in-unroller): New flag.
967         * doc/invoke.texi: (fvariable-expansion-in-unroller): Document.
968
969 2004-10-18  Danny Smith  <dannysmith@users.sourceforge.net>
970
971         * config/i386/cygming.h (TARGET_OS_CPP_BUILTINS): Define
972         __GXX_MERGED_TYPEINFO_NAMES to 0.
973
974 2004-10-17  Hans-Peter Nilsson  <hp@bitrange.com>
975
976         * cfgrtl.c (rtl_verify_flow_info_1): When checking insns in a bb,
977         handle barriers in a bb by checking that it points to a NULL bb.
978         * emit-rtl.c (emit_barrier_before): Set BLOCK_FOR_INSN to NULL.
979         (emit_barrier_after, emit_barrier): Ditto.
980
981 2004-10-18  Joseph S. Myers  <jsm@polyomino.org.uk>
982
983         * doc/extend.texi (Attribute Syntax): Clarify details of
984         attributes on parameters.
985
986 2004-10-17  Zdenek Dvorak  <dvorakz@suse.cz>
987
988         * tree-ssa-loop-ivopts.c (tree_ssa_iv_optimize): Move checking out of
989         loop.
990
991 2004-10-17  Andrew Pinski  <pinskia@physics.uc.edu>
992
993         Revert:
994         2004-10-17  Andrew Pinski  <pinskia@physics.uc.edu>
995
996         * c-typeck.c (default_function_array_conversion): Always create
997         &a[0] for array types.
998         (build_unary_op): Do not fold &a[x] into a + x.
999
1000 2004-10-17  Andrew Pinski  <pinskia@physics.uc.edu>
1001
1002         PR middle-end/17925
1003         * cfgexpand.c (expand_gimple_cond_expr): Emit line notes for next basic
1004         block if there is a goto with a locus.
1005
1006 2004-10-17  Kazu Hirata  <kazu@cs.umass.edu>
1007
1008         * config/elfos.h, config/gofast.h, config/interix.h,
1009         config/netbsd.h, config/svr3.h, config/vxworks.h,
1010         config/alpha/alpha-modes.def, config/alpha/alpha-protos.h,
1011         config/alpha/ev4.md, config/alpha/ev5.md, config/alpha/ev6.md,
1012         config/alpha/netbsd.h, config/arm/arm-modes.def,
1013         config/arm/unknown-elf.h, config/c4x/c4x-modes.def,
1014         config/cris/aout.h, config/frv/frv-modes.def,
1015         config/i386/beos-elf.h, config/i386/gas.h,
1016         config/i386/i386-coff.h, config/i386/i386-modes.def,
1017         config/i386/linux.h, config/i386/linux64.h,
1018         config/i386/mingw32.h, config/i386/netbsd-elf.h,
1019         config/i386/netbsd64.h, config/i386/sco5.h,
1020         config/i386/sol2.h, config/i386/uwin.h, config/i860/i860.md,
1021         config/ia64/ia64-modes.def, config/ia64/itanium1.md,
1022         config/ia64/itanium2.md, config/m68k/m68k-modes.def,
1023         config/mips/mips-modes.def, config/mips/sdb.h,
1024         config/mips/vr.h, config/mips/vxworks.h,
1025         config/pa/pa-hpux10.h, config/pa/pa-hpux11.h,
1026         config/pa/pa32-linux.h, config/rs6000/40x.md,
1027         config/rs6000/7450.md, config/rs6000/8540.md,
1028         config/rs6000/linuxspe.h, config/rs6000/power4.md,
1029         config/rs6000/rs6000-modes.def, config/rs6000/rtems.h,
1030         config/rs6000/spe.h, config/s390/2064.md, config/s390/linux.h,
1031         config/s390/s390-modes.def, config/sh/elf.h,
1032         config/sh/sh-modes.def, config/sh/sh64.h,
1033         config/sparc/ultra1_2.md, config/sparc/ultra3.md,
1034         config/stormy16/stormy16.md, config/v850/v850-protos.h,
1035         config/vax/vax.md: Update copyright.
1036
1037 2004-10-17  Kazu Hirata  <kazu@cs.umass.edu>
1038
1039         * expr.c (expand_expr_real_1): Remove an obsolete comment.
1040
1041 2004-10-17  Andrew Pinski  <pinskia@physics.uc.edu>
1042
1043         * c-typeck.c (default_function_array_conversion): Always create
1044         &a[0] for array types.
1045         (build_unary_op): Do not fold &a[x] into a + x.
1046
1047 2004-10-17  Jakub Jelinek  <jakub@redhat.com>
1048
1049         * pointer-set.c (hash1): Use integer part of 2^64 / phi
1050         instead 2^32 / phi if long is 64-bit.
1051
1052 2004-10-17  Joseph S. Myers  <jsm@polyomino.org.uk>
1053
1054         * c-common.h (enum rid): Remove RID_PTRBASE, RID_PTREXTENT and
1055         RID_PTRVALUE.
1056         * c-parse.in (PTR_VALUE, PTR_BASE, PTR_EXTENT): Remove %token
1057         declarations.
1058         (reswords): Remove __ptrbase, __ptrbase__, __ptrextent,
1059         __ptrextent__, __ptrvalue and __ptrvalue__.
1060         (rid_to_yy): Remove RID_PTRBASE, RID_PTREXTENT and RID_PTRVALUE
1061         entries.
1062
1063 2004-10-16  Dale Johannesen  <dalej@apple.com>
1064
1065         * c-common.c (c_common_get_alias_set):  Use GGC for type_hash_table.
1066
1067 2004-10-16  Zdenek Dvorak  <dvorakz@suse.cz>
1068
1069         PR tree-optimization/17766
1070         * basic-block.h (enum dom_state): DOM_CONS_OK removed.
1071         (dom_info_available_p): Declare.
1072         * cfghooks.c (split_block, make_forwarder_block): Use
1073         dom_info_available_p.
1074         * dominance.c (compute_dom_fast_query, calculate_dominance_info,
1075         free_dominance_info, verify_dominators): Ditto.
1076         (dom_info_available_p): New function.
1077         * tree-cfg.c (cleanup_control_expr_graph): Free dominance information.
1078         (thread_jumps): Use dom_info_available_p.
1079         * tree-complex.c (expand_complex_div_wide): Ditto.
1080         * tree-mudflap.c (mf_build_check_statement_for): Ditto.
1081
1082 2004-10-16  Zdenek Dvorak  <dvorakz@suse.cz>
1083
1084         * tree-ssa-loop-ivopts.c (struct ivopts_data): New field important_candidates.
1085         (find_best_candidate): Take also important candidates into account.
1086         (find_optimal_iv_set): Initialize important_candidates bitmap.
1087
1088 2004-10-16  Zdenek Dvorak  <dvorakz@suse.cz>
1089
1090         PR tree-optimization/17560
1091         * predict.c (tree_estimate_probability): Mark irreducible
1092         loops.
1093
1094 2004-10-16  Zdenek Dvorak  <dvorakz@suse.cz>
1095
1096         PR rtl-optimization/17723
1097         * cfgcleanup.c (merge_memattrs): Handle case when
1098         MEM_SIZE == NULL_RTX.
1099
1100 2004-10-15  Andrew Pinski  <pinskia@physics.uc.edu>
1101
1102         * toplev.c (dump_file_name): Change type to be const.
1103
1104 2004-10-15  Joseph S. Myers  <jsm@polyomino.org.uk>
1105
1106         * c-typeck.c (build_compound_expr, build_c_cast): Don't try to use
1107         non_lvalue to stop something being a null pointer constant.
1108
1109 2004-10-15  Aldy Hernandez  <aldyh@redhat.com>
1110
1111         * config/rs6000/rs6000.h (FUNCTION_ARG_REGNO_P): FPRs are only
1112         available for TARGET_FPRS.
1113         (FUNCTION_VALUE_REGNO_P): Same.
1114
1115 2004-10-15  Geoffrey Keating  <geoffk@apple.com>
1116
1117         * doc/invoke.texi (RS/6000 and PowerPC Options): Document
1118         -maltivec in same style as other ISA options.
1119
1120 2004-10-15  Jon Grimm <jgrimm2@us.ibm.com>
1121
1122         * config/host-linux.c (TRY_EMPTY_VM_SPACE): Add __powerpc__
1123         definition.
1124
1125 2004-10-15  Kazu Hirata  <kazu@cs.umass.edu>
1126
1127         * bitmap.c, bitmap.h, builtin-attrs.def, cfglayout.h,
1128         collect2.h, conflict.c, coretypes.h, coverage.h, errors.h,
1129         gcc.h, gcov-dump.c, gen-protos.c, gencheck.c, gencodes.c,
1130         genconstants.c, gengenrtl.c, genmodes.c, genpeep.c,
1131         gensupport.h, graph.h, gthr-gnat.c, gthr-gnat.h, gthr-posix.c,
1132         gthr-posix.h, hard-reg-set.h, hwint.h, integrate.h, libgcc2.c,
1133         lists.c, machmode.def, mips-tdump.c, opts.h, params.c,
1134         predict.def, predict.h, protoize.c, reload.h, resource.h,
1135         rtl-error.c, sbitmap.c, sbitmap.h, sreal.c, tlink.c,
1136         tree-dump.h, tree-inline.h, unwind-dw2-fde.c, unwind-dw2.c,
1137         unwind-sjlj.c, value-prof.h: Update copyright.
1138
1139 2004-10-15  Kazu Hirata  <kazu@cs.umass.edu>
1140
1141         * pointer-set.c, tree-vectorizer.c: Fix comment typos.
1142
1143 2004-10-15  Diego Novillo  <dnovillo@redhat.com>
1144
1145         * tree-optimize.c (execute_one_pass): Stop timer right after
1146         executing the pass.
1147
1148 2004-10-14  Andrew Pinski  <pinskia@physics.uc.edu>
1149
1150         Revert:
1151         2004-10-14  Andrew Pinski  <pinskia@physics.uc.edu>
1152         PR middle-end/17967
1153         Revert:
1154                 * tree-cfg.c (remove_usless_stmts_cond):  Fold statement.
1155                 (remove_useless_stmts_1):  Fold trees we know how to fold.
1156
1157 2004-10-14  David Edelsohn  <edelsohn@gnu.org>
1158
1159         * configure.ac: Add .machine power4 directive when testing for
1160         mfcr field.
1161         * configure: Regenerate.
1162
1163 2004-10-14  Geoffrey Keating  <geoffk@apple.com>
1164
1165         * config/darwin.h (JUMP_TABLES_IN_TEXT_SECTION): Don't define.
1166
1167 2004-10-14  Andrew Pinski  <pinskia@physics.uc.edu>
1168
1169         * tree-vectorizer.c (vect_transform_loop): Declare vectorization_factor
1170         always.
1171
1172 2004-10-14  Daniel Jacobowitz  <dan@codesourcery.com>
1173
1174         * config/rs6000/rs6000.h (REG_CLASS_FROM_LETTER): Return NO_REGS
1175         for 'f' if !TARGET_FPRS.
1176
1177 2004-10-14  Richard Henderson  <rth@redhat.com>
1178
1179         PR debug/14492
1180         * dwarf2out.c (loc_descriptor_from_tree_1): Handle FIX_*_EXPR.
1181
1182 2004-10-14  Richard Henderson  <rth@redhat.com>
1183
1184         PR c/17023
1185         * c-decl.c (store_parm_decls_oldstyle): Care for parameter type
1186         as error_mark_node.
1187         * c-parse.in (compstmt_primary_start): Check cur_stmt_list non-null
1188         instaed of current_function_decl non-null.
1189
1190 2004-10-14  Matt Austern  <austern@apple.com>
1191
1192         * pointer-set.c: New file, special-purpose hash table.
1193         * pointer-set.h: New file.
1194         * tree.h (struct pointer_set_t): Declare as opaque type.
1195         (tree_walk): Last argument is pointer_set_t* now.
1196         * tree-inline.c (WALK_SUBTREE): Convert from htab to pset.
1197         (walk_type_fields):
1198         (walk_tree): Convert from htab_t to pointer_set_t for keeping
1199         track of which nodes have already been visited.
1200         (walk_tree_without_duplicates): Convert from htab_t to pointer_set_t.
1201         * cgraphunit.c (cgraph_create_edges): Likewise.
1202         (cgraph_characterize_statics_local): Likewise.
1203         * tree-dfa.c (collect_dfa_stats): Likewise.
1204         * langhooks-def.h (lhd_tree_inlining_walk_subtrees): Last arg is
1205         pointer_set_t* now.
1206         * langhooks.c (lhd_tree_inlining_walk_subtrees): Likewise.
1207         * langhooks.h (struct lang_hooks_for_tree_inlining): Last arg type
1208         of walk_subtrees is pointer_set_t* now.
1209         * Makefile.in (OBJS-common): add pointer-set.o
1210         (tree-inline.o): Depends on pointer-set.h
1211         (tree-dfa.o): Likewise
1212         (cgraphunit.o): Likewise
1213
1214 2004-10-14  Geoffrey Keating  <geoffk@apple.com>
1215
1216         * config/rs6000/darwin.h (ASM_SPEC): Delete.
1217         (TARGET_ASM_FILE_START): Define.
1218         * config/darwin.h (ASM_SPEC): Define.
1219         * config/rs6000/t-darwin (TARGET_LIBGCC2_CFLAGS): Don't supply
1220         -mlong-double-128, it's the default.  Update comment about reason
1221         for force_cpusubtype_ALL.
1222         * config/rs6000/darwin-vecsave.asm: Supply .machine.
1223         * config/rs6000/darwin-world.asm: Likewise.
1224         * config/rs6000/rs6000.c (rs6000_darwin_file_start): New.
1225         (symbolic_operand): Delete #if 0ed code.
1226
1227 2004-10-14  Andrew Pinski  <pinskia@physics.uc.edu>
1228
1229         * stmt.c (add_case_node): Make sure that we have integer
1230         constant before calling tree_int_cst_compare.
1231
1232 2004-10-14  Andrew Pinski  <pinskia@physics.uc.edu>
1233
1234         PR middle-end/17967
1235         Revert:
1236                 * tree-cfg.c (remove_usless_stmts_cond):  Fold statement.
1237                 (remove_useless_stmts_1):  Fold trees we know how to fold.
1238
1239 2004-10-14  Joseph S. Myers  <joseph@codesourcery.com>
1240
1241         * config/rs6000/eabispe.h (SUBSUBTARGET_OVERRIDE_OPTIONS),
1242         config/rs6000/linuxspe.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Disallow
1243         -m64.
1244
1245 2004-10-14  Ulrich Weigand  <uweigand@de.ibm.com>
1246
1247         * reload.c (find_reloads): When reloading a PLUS with constant
1248         operand, make sure the constant is pushed to the constant pool
1249         if required.
1250         * config/s390/s390.c (s390_secondary_input_reload_class): Remove
1251         reload bug workaround.
1252         (s390_expand_plus_operand): Likewise.
1253
1254 2004-10-14  David Edelsohn  <edelsohn@gnu.org>
1255
1256         * opts.c (common_handle_option): Do not enable
1257         flag_speculative_prefetching for -fprofile-generate/use.
1258
1259 2004-10-14  Devang Patel  <dpatel@apple.com>
1260
1261         PR 17635
1262         * tree-if-conv.c (process_phi_nodes): Process latch block.
1263         (combine_blocks): Process latch block and update loop structure.
1264
1265 2004-10-14  Olga Golovanevsky  <olga@il.ibm.com>
1266
1267         * tree-vectorizer.c (vect_generate_tmps_on_preheader):
1268         (vect_update_ivs_after_vectorizer):
1269         (vect_transform_for_unknown_loop_bound):
1270         (tree_duplicate_loop_to_edge):
1271         (allocate_new_names):
1272         (rename_use_op):
1273         (rename_def_op):
1274         (rename_variables_in_bb):
1275         (free_new_names):
1276         (rename_variables_in_loop):
1277         (copy_phi_nodes):
1278         (update_phis_for_duplicate_loop):
1279         (update_phi_nodes_for_guard):
1280         (make_loop_iterate_ntimes):
1281         (tree_duplicate_loop_to_edge_cfg):
1282         (add_loop_guard):
1283         (vect_analyze_loop_with_symbolic_num_of_iters):
1284         (verify_loop_for_duplication):
1285         (vect_gen_niters_for_prolog_loop):
1286         (vect_update_niters_after_peeling):
1287         (vect_update_inits_of_dr):
1288         (vect_update_inits_of_drs):
1289         (vect_build_loop_niters):
1290         (vect_do_peeling_for_alignment): New functions.
1291         (vect_transform_loop): Add unknown and known but indivisible loop
1292         bound support; add peeling for unalignment support.
1293         (vect_analyze_loop_form): Support symbolic number of iterations.
1294         (vect_transform_loop_bound): New input parameter.
1295         (vect_get_loop_niters): Change input parameter type.
1296         (new_loop_vec_info): LOOP_VINFO_NITERS is tree now.
1297         (vectorizable_store): Allow unaligned access.
1298         (vectorize_loops): Add rewrite_into_loop_closed_ssa.
1299         (vect_analyze_data_refs_alignment): Allowed one unaligned
1300         store.
1301         * tree-vectorizer.h (LOOP_VINFO_NITERS_KNOWN_P): Redefined
1302         to use tree.
1303         (LOOP_VINFO_INT_NITERS): New macro.
1304         (MAX_NUMBER_OF_UNALIGNED_DATA_REFS): New define.
1305         (do_peeling_for_alignment):
1306         (unaligned_drs): New members of _loop_vec_info.
1307         (LOOP_DO_PEELING_FOR_ALIGNMENT): New macro.
1308
1309 2004-10-14  Ranjit Mathew  <rmathew@hotmail.com>
1310
1311         * tree.h (TREE_STRING_POINTER): Wrap in "const char *".
1312         (struct tree_string): Remove "const" qualifier for "str".
1313
1314 2004-10-14  Ira Rosen  <irar@il.ibm.com>
1315
1316         * tree-vectorizer.c (vect_analyze_data_refs): Call
1317         vect_get_base_and_bit_offset to get memory tag for array ref.
1318         (vect_create_addr_base_for_vector_ref): Remove redundant checks.
1319
1320 2004-10-14  Richard Earnshaw  <rearnsha@arm.com>
1321
1322         * configure.ac: Use $LN_S for creating symlinks (not $LN).
1323         * configure: Regenerate.
1324
1325 2004-10-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1326
1327         * doc/install.texi (*-*-solaris2*): Update with info about kernel
1328         patches to solve spurious testsuite failures.
1329
1330 2004-10-14  Dorit Naishlos  <dorit@il.bim.com>
1331
1332         * tree-vectorizer.c (get_vectype_for_scalar_type): Added debug prinouts.
1333         Added check that vectype is VECTOR_MODE_P, instead of check for BLKmode.
1334         (vect_analyze_operations): Make sure the vectorization factor > 1. Add
1335         gcc_assert under ENABLE_CHECKING.
1336         (vectorizable_operation): Remove check for VECTOR_MODE_P (moved to
1337         get_vectype_for_scalar_type).
1338
1339         (vect_get_vec_def_for_operand): Remove redundant variables.
1340         (vect_transform_loop): Likewise.
1341
1342 2004-10-14  Richard Sandiford  <rsandifo@redhat.com>
1343
1344         * config/arm/arm.h (CONDITIONAL_REGISTER_USAGE): Make r11 fixed and
1345         global for -mcaller-super-interworking.
1346         (CALLER_INTERWORKING_SLOT_SIZE): New macro.
1347         * config/arm/arm.c (thumb_compute_save_reg_mask): Save r11 if
1348         CALLER_INTERWORKING_SLOT_SIZE is nonzero and the function does
1349         not need a frame pointer.
1350         (arm_get_frame_offsets): Add CALLER_INTERWORKING_SLOT_SIZE bytes to
1351         the soft frame pointer offset.
1352         (thumb_expand_prologue): Set up r11 for -mcaller-super-interworking.
1353         * config/arm/arm.md (*call_reg_thumb, *call_value_reg_thumb): Use
1354         _interwork_{r7,r11}_call_via_rN if some arguments are passed on
1355         the stack.  Use frame_pointer_needed to choose between them.
1356         * config/arm/lib1funcs.asm (_arm_return_{r7,r11}): New functions.
1357         (interwork_with_frame): New macro.
1358         (interwork): Add _interwork_{r7,r11}_call_via_rN().
1359
1360 2004-10-14  Ben Elliston  <bje@au.ibm.com>
1361
1362         PR other/17900
1363         * diagnostic.c (trim_filename): Fix logic bug in walking backwards
1364         up the filename looking for a previous directory separator.
1365
1366 2004-10-14  Joseph S. Myers  <jsm@polyomino.org.uk>
1367
1368         * c-tree.h (enum c_typespec_kind, struct c_typespec,
1369         parser_xref_tag): New.
1370         (struct c_declspecs): Add tag_defined_p.  Adjust definition of
1371         typedef_p.
1372         (declspecs_add_type): Adjust prototypes.
1373         * c-parse.in (%union): Add tstype.
1374         (typespec_nonattr, typespec_attr, typespec_reserved_nonattr,
1375         typespec_reserved_attr, typespec_nonreserved_nonattr,
1376         structsp_attr, structsp_nonattr): Change to tstype.  Update
1377         actions.
1378         * c-decl.c (build_null_declspecs): Initialize tag_defined_p.
1379         (declspecs_add_type): Update to take struct c_typespec argument.
1380         Set tag_defined_p and typedef_p as appropriate.
1381         (xref_tag): Rename to parser_xref_tag and replace by wrapper.
1382         Update to return struct c_typespec.
1383         (shadow_tag_warned): Don't let empty declarations with qualifiers
1384         or storage class specifiers redeclare a tag if a previous
1385         declaration is visible.
1386
1387 2004-10-13  Richard Henderson  <rth@redhat.com>
1388
1389         PR debug/15860
1390         * dwarf2out.c (rtl_for_decl_location): Apply big-endian correction
1391         for DECL_INCOMING_RTL.
1392
1393 2004-10-14  Hans-Peter Nilsson  <hp@axis.com>
1394
1395         PR target/17984
1396         * config/cris/cris.md (asrandb, asrandw, lsrandb, lsrandw): Apply
1397         trunc_int_for_mode for constants used in shortened mode.
1398
1399 2004-10-13  Richard Henderson  <rth@redhat.com>
1400
1401         PR c/17384
1402         * c-common.c (handle_mode_attribute): Disallow mode changes that
1403         alter the CODE of the top-level type.
1404
1405         * crtstuff.c (__FRAME_END__): Remove mode attribute.  Find 32-bit
1406         integer from internal limits macros.
1407         * config/i386/mm3dnow.h (__v2sf): Fix base type.
1408
1409 2004-10-13  Richard Henderson  <rth@redhat.com>
1410
1411         PR debug/13841
1412         * function.c (instantiate_decl): Recurse for CONCAT.
1413
1414 2004-10-13  David Edelsohn  <edelsohn@gnu.org>
1415
1416         * config/rs6000/rs6000.md (andsi3): Add attribute "compare" for
1417         andi./andis.
1418         (anddi3): Same.
1419         (extzvdi_internal1): Add attribute "compare".
1420         (extzvdi_internal2): Same.
1421
1422 2004-10-12  Tom Tromey  <tromey@redhat.com>
1423
1424         * doc/md.texi (Insn Canonicalizations): Removed extraneous quote.
1425
1426 2004-10-13  Dale Johannesen  <dalej@apple.com>
1427
1428         * doc/extend.texi (Extended Asm):  Rewrite asm volatile description.
1429
1430 2004-10-13  Frank Ch. Eigler  <fche@redhat.com>
1431
1432         * toplev.c (compile_file): Call mudflap_finish_file from here ...
1433         * c-decl.c (c_write_global_declarations): ... instead of here ...
1434         * cp/decl.c (cp_finish_file): ... and here.
1435         * tree-mudflap.c (mudflap_enqueue_decl): Reword a warning message.
1436
1437 2004-10-13  Andrew Pinski  <pinskia@physics.uc.edu>
1438
1439         * tree-ssa-dom.c (record_range): Free the element if we are not
1440         going to use it.
1441
1442 2004-10-13  Tom Tromey  <tromey@redhat.com>
1443
1444         PR java/15578:
1445         * gcc.c (option_map): Added --extdirs and --encoding.
1446
1447 2004-10-13  Eric Botcazou  <ebotcazou@libertysurf.fr>
1448
1449         PR target/14454
1450         * config/sparc/sparc.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Set to
1451         sparc_can_output_mi_thunk.
1452         (sparc_output_mi_thunk): Simplify handling of delta offset.  Add
1453         handling of vcall offset.
1454         (sparc_can_output_mi_thunk): New predicate.
1455         * doc/tm.texi (TARGET_ASM_OUTPUT_MI_THUNK): Document VCALL_OFFSET.
1456         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Delete.
1457         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New target hook.
1458
1459         * config/sparc/sparc.c (emit_and_preserve): Preserve stack alignment.
1460
1461         * config/sparc/sparc.md (movdi): Remove redundant test.
1462
1463 2004-10-13  Paolo Bonzini  <bonzini@gnu.org>
1464
1465         * tree-dump.c (dump_options): Remove TDF_TREE, TDF_RTL,
1466         TDF_IPA from -fdump-tree-*-all.
1467
1468 2004-10-13  Paul Brook  <paul@codesourcery.com>
1469
1470         * config/arm/arm-protos.h (arm_load_pic_register): Update prototype.
1471         * config/arm/arm.c (thumb_find_work_register): Update comments.
1472         (arm_load_pic_register): Add argument for scratch register.
1473         (arm_expand_prologue, thumb_expand_prologue): Pass extra argument.
1474         * config/arm/arm.md (builtin_setjmp_receiver): Ditto.
1475
1476 2004-10-13  Kazu Hirata  <kazu@cs.umass.edu>
1477
1478         * tree-data-ref.c: Fix comment typos.
1479
1480 2004-10-13  Jakub Jelinek  <jakub@redhat.com>
1481             Zdenek Dvorak  <dvorakz@suse.cz>
1482
1483         PR tree-optimization/17724
1484         * tree-cfg.c (tree_purge_dead_eh_edges): Free dominance info.
1485
1486 2004-10-13  Dorit Naishlos  <dorit@il.ibm.com>
1487
1488         * rs6000.c (altivec_builtin_mask_for_load): Made static GTY(()).
1489         (altivec_builtin_mask_for_store): Likewise.
1490         (altivec_init_builtins): Use lang_hooks.builtin_function to
1491         create the decls for builtin_altivec_mask_for_load/store.
1492
1493 2004-10-13  Nick Clifton  <nickc@redhat.com>
1494
1495         * config/c4x/c4x.c: Remove inclusion of loop.h.
1496
1497 2004-10-12  Ben Elliston  <bje@au.ibm.com>
1498
1499         * basic-block.h (edge_iterator): Keep the address of VEC(edge) *.
1500         (ei_container): New; renamed.
1501         (ei_start, ei_last): New macros.
1502         (ei_start_1, ei_last_1): Renamed from ei_start.
1503         (ei_last_1, ei_end_p): Use ei_container() where applicable.
1504         (ei_one_before_end_p, ei_next, ei_edge): Likewise.
1505         * gcse.c (remove_reachable_equiv_notes): Use ei_container().
1506
1507 2004-10-11  Sebastian Pop  <pop@cri.ensmp.fr>
1508
1509         * Makefile.in (tree-ssa-loop-niter.o): Depends on tree-data-ref.h.
1510         * cfgloop.c (initialize_loops_parallel_p): New.
1511         (flow_loops_find): Initialize the parallel_p field to true for all
1512         the loops.
1513         * tree-ssa-loop-niter.c: Include "tree-data-ref.h".
1514         (estimate_numbers_of_iterations_loop): Infers the loop bounds from
1515         the size of the data accessed in the loop.
1516         (struct nb_iter_bound): Moved...
1517         * cfgloop.h (struct nb_iter_bound): ... here.
1518         (estimated_nb_iterations, parallel_p): New fields in struct loop.
1519         (record_estimate): Declare extern here.
1520         * tree-chrec.c: Fix comments.
1521         (nb_vars_in_chrec): New function.
1522         * tree-chrec.h (nb_vars_in_chrec): Declared here.
1523         * tree-data-ref.c: Don't include lambda.h, that is already included
1524         in tree-data-ref.h.
1525         (tree_fold_divides_p): Don't check for integer_onep.
1526         (tree_fold_bezout): Removed.
1527         (gcd): New static duplicated function.
1528         (int_divides_p, dump_subscript): New.
1529         (dump_data_dependence_relation): Use dump_subscript.
1530         (dump_dist_dir_vectors, dump_ddrs, compute_estimated_nb_iterations,
1531         estimate_niter_from_size_of_data): New.
1532         (analyze_array_indexes, analyze_array): Call
1533         estimate_niter_from_size_of_data during the detection of array
1534         references.  Pass in a pointer to the statement that contains the
1535         array reference.
1536         (all_chrecs_equal_p): New.
1537         (compute_distance_vector): Renamed compute_subscript_distance.
1538         Deal with multivariate conflict functions.
1539         (initialize_data_dependence_relation): Initialize DDR_AFFINE_P,
1540         DDR_SIZE_VECT, DDR_DIST_VECT, and DDR_DIR_VECT.
1541         (non_affine_dependence_relation): New.
1542         (analyze_ziv_subscript, analyze_siv_subscript_cst_affine,
1543         analyze_siv_subscript, analyze_miv_subscript,
1544         analyze_overlapping_iterations, subscript_dependence_tester):
1545         Initialize and return last_conflicts function.
1546         (initialize_matrix_A, FLOOR, compute_overlap_steps_for_affine_univar,
1547         compute_overlap_steps_for_affine_1_2): New.
1548         (analyze_siv_subscript_affine_cst): Removed.
1549         (analyze_subscript_affine_affine): Disprove dependences based on the
1550         iteration domains.  Solve the univariate dependence case as before,
1551         but use lambda_matrix_right_hermite instead of tree_fold_bezout.
1552         Implement the multivariate case of 2 versus 1 variables.
1553         (build_classic_dist_vector, build_classic_dir_vector): Implement some
1554         unhandled cases.
1555         (find_data_references_in_loop): Compute and initialize
1556         loop->estimated_nb_iterations and loop->parallel_p.
1557         (analyze_all_data_dependences): Modify the debug dump order.
1558         * tree-data-ref.h (SUB_LAST_CONFLICT_IN_A, SUB_LAST_CONFLICT_IN_B,
1559         subscript->last_conflict_in_a, subscript->last_conflict_in_b): Removed.
1560         (SUB_LAST_CONFLICT, subscript->last_conflict,
1561         data_dependence_relation->affine_p, data_dependence_relation->size_vect,
1562         DDR_AFFINE_P, DDR_SIZE_VECT): New.
1563         (find_data_references_in_loop, initialize_data_dependence_relation,
1564         dump_subscript, dump_ddrs, dump_dist_dir_vectors): Declared here.
1565
1566 2004-10-12  Kelley Cook  <kcook@gcc.gnu.org>
1567
1568         * configure: Regenerate.
1569
1570 2004-10-12  Fariborz Jahanian <fjahanian@apple.com>
1571
1572         PR 17892
1573         * tree-ssa-dom.c (unsafe_associative_fp_binop): New function.
1574         (simplify_rhs_and_lookup_avail_expr): Disallow associativity
1575         and constant folding of floating point MULT_EXPR/PLUS_EXPR
1576         expressions.
1577
1578 2004-10-12  Ulrich Weigand  <uweigand@de.ibm.com>
1579
1580         * config/s390/s390.c (s390_va_start): Use build_va_arg_indirect_ref.
1581         (s390_gimplify_va_arg): Likewise.
1582
1583 2004-10-12  Daniel Jacobowitz  <dan@debian.org>
1584
1585         * defaults.h (REGNO_MODE_OK_FOR_BASE_P, REG_MODE_OK_FOR_BASE_P)
1586         (MODE_BASE_REG_REG_CLASS, REGNO_MODE_OK_FOR_REG_BASE_P)
1587         (REG_MODE_OK_FOR_REG_BASE_P): Provide default definitions.
1588         * regclass.c (record_address_regs): Remove ifdef.  Use
1589         REG_MODE_OK_FOR_REG_BASE_P and MODE_BASE_REG_REG_CLASS.
1590         * regrename.c (REG_MODE_OK_FOR_BASE_P): Remove unnecessary
1591         definition.
1592         (scan_rtx_address, replace_oldest_value_addr): Use
1593         REG_MODE_OK_FOR_REG_BASE_P and MODE_BASE_REG_REG_CLASS.
1594         * reload.c (REGNO_MODE_OK_FOR_BASE_P, REG_MODE_OK_FOR_BASE_P): Remove
1595         unnecessary definitions.
1596         (find_reloads_address_1): Support REG_MODE_OK_FOR_REG_BASE_P
1597         and MODE_BASE_REG_REG_CLASS.
1598         * config/arm/arm.h (MODE_BASE_REG_CLASS): Don't check reload_completed.
1599         (MODE_BASE_REG_REG_CLASS): Define.
1600         (REGNO_MODE_OK_FOR_REG_BASE_P): Define.
1601         (REG_MODE_OK_FOR_REG_BASE_P): Define.
1602         * doc/tm.texi (Register Classes): Document MODE_BASE_REG_REG_CLASS,
1603         REG_MODE_OK_FOR_REG_BASE_P, and REGNO_MODE_OK_FOR_REG_BASE_P.
1604
1605 2004-10-12  Daniel Berlin <dberlin@dberlin.org>
1606
1607         * tree-ssa-alias.c (verify_name_tags): New function.
1608         (verify_flow_sensitive_alias_info): Remove code that used to check name tags.
1609         (verify_alias_info): Call verify_name_tags.
1610
1611 2004-10-12  Kazu Hirata  <kazu@cs.umass.edu>
1612
1613         PR rtl-optimization/17931
1614         * config/i386/i386.c (ix86_rtx_costs): Handle COMPARE with
1615         ZERO_EXTRACT in it.
1616
1617 2004-10-12  Richard Earnshaw  <rearnsha@arm.com>
1618
1619         * arm.c (arm_print_operand): Use output_operand_lossage where possible
1620         rather than aborting.
1621
1622 2004-10-12  Paul Brook  <paul@coudesourcery.com>
1623
1624         * config.gcc: Add armv6{k,z,zk}
1625         * config/arm/arm-cores.def: Add arm1176 and mpcore.
1626         * config/arm/tune.md: Regenerate.
1627         * config/arm/arm.c (FL_FOR_ARCH6K, FL_FOR_ARCH6Z, FL_FOR_ARCH6ZK):
1628         Define.
1629         (all_architectures): Add armv6k, armv6z, armv6zk.
1630         * config/arm/lib1funcs.asm: Recognise new arm arcitectures.
1631         * doc/invoke.texi: Document new arch and cpu values.
1632
1633 2004-10-12  Paul Brook  <paul@coodesourcery.com>
1634
1635         * config/arm/bpabi.h (SUBTARGET_EXTRA_ASM_SPEC): Change meabi=3 to
1636         meabi=4.
1637
1638 2004-10-12  Paul Brook  <paul@codesourcery.com>
1639
1640         * config/arm/arm.md (addsi3_cbranch_scratch): Correct constraints.
1641         Handle negative constants.
1642
1643 2004-10-12  Joseph S. Myers  <jsm@polyomino.org.uk>
1644
1645         PR c/17301
1646         * c-typeck.c (convert_arguments): Return error_mark_node if there
1647         are too few arguments.
1648         (build_function_call): Handle error_mark_node return from
1649         convert_arguments.
1650
1651 2004-10-06  Paolo Bonzini  <bonzini@gnu.org>
1652
1653         * configure.ac (symbolic_link): Replace with $LN_S.
1654         (Assembler/Linker): Hard link from gas and binutils trees.
1655         * aclocal.m4 (gcc_AC_PROG_LN_S): Try "cp -p" before cp.
1656         * configure: Regenerate.
1657
1658 2004-10-12  Paul Brook  <paul@codesourcery.com>
1659
1660         * configure.ac: Don't look for host assembler when building a canadian
1661         cross.
1662         * configure: Regenerate.
1663
1664 2004-10-11  Roger Sayle  <roger@eyesopen.com>
1665
1666         PR other/17361
1667         * c-opts.c (permit_fortran_options): Delete/obsolete global variable.
1668         (c_common_init_options): Remove #ifdef CL_F77 code.  Scan command
1669         line options for "-lang-asm" and if found allow any of the C-family
1670         front-end options.
1671         (c_common_handle_option): Remove last use of permit_fortran_options.
1672
1673 2004-10-11  Ulrich Weigand  <uweigand@de.ibm.com>
1674
1675         * config/s390/s390.c (print_operand): Support 'S' format flag.
1676         * config/s390/s390.md ("*tmqi_mem"): Use 'S' format flag.
1677         ("*tstsi", "*tstsi_cconly", "*tstsi_cconly2"): Likewise.
1678         ("*tsthiCCT", "*tsthiCCT_cconly", "*tsthi", "*tsthi_cconly"): Likewise.
1679         ("*tstqiCCT", "*tstqiCCT_cconly", "*tstqi", "*tstqi_cconly"): Likewise.
1680         ("*cmphi_ccu", "*cmpqi_ccu", "*clc"): Likewise
1681         ("movti", "*movdi_31", "*movqi", "*movdf_31", "*mvc"): Likewise.
1682         ("*movstricthi"): Likewise.
1683         ("*load_multiple_di", "*load_multiple_si"): Likewise.
1684         ("*store_multiple_di", "*store_multiple_si"): Likewise.
1685         ("*sethiqisi", "*sethihisi"): Likewise.
1686         ("*sethiqidi_64", "*sethiqidi_31"): Likewise.
1687         ("*andqi3_zarch", "*andqi3_esa", "*nc"): Likewise.
1688         ("*iorqi3_zarch", "*iorqi3_esa", "*oc"): Likewise.
1689         ("*xorqi3", "*xc", "*xc_zero"): Likewise.
1690         ("get_tp_64", "get_tp_31", "set_tp_64", "set_tp_31"): Likewise.
1691
1692         ("*tmhi_full"): Fix incorrect op_type attribute.
1693
1694         ("*adddi3_alc_cc", "*adddi3_alc"): Remove double backslash.
1695         ("*subdi3_slb_cc", "*subdi3_slb"): Likewise.
1696         ("*addsi3_alc_cc", "*addsi3_alc"): Likewise.
1697         ("*subsi3_slb_cc", "*subsi3_slb"): Likewise.
1698
1699 2004-10-11  Andrew Pinski  <pinskia@physics.uc.edu
1700
1701         PR middle-end/16266
1702         * function.c (temp_slots_at_level): Fix typo which creates too
1703         many temp stack slots levels.
1704
1705 2004-10-11  Ulrich Weigand  <uweigand@de.ibm.com>
1706
1707         * config/s390/s390.c (s390_trampoline_template): Generate shorter
1708         trampoline code.
1709         (s390_trampoline_instantiate): Adapt.
1710         * config/s390/s390.h (TRAMPOLINE_SIZE): Adapt to new code.
1711
1712 2004-10-11  Roger Sayle  <roger@eyesopen.com>
1713
1714         PR middle-end/17657
1715         * stmt.c (add_case_node): Add additional type argument.  Declare
1716         as static to match prototype.  Convert the upper and lower bounds
1717         to the specified index type.  Optimize away case ranges/values
1718         that are outside the index type's bounds.  Truncate case ranges
1719         that span the index type's bounds.
1720         (expand_case): Avoid unnessary computation and memory allocation
1721         when index type is error_mark_node.  Pass index_type as required
1722         by change to add_case_node API.  No need to convert case range
1723         bounds to index_type, this is now done by add_case_node.
1724
1725 2004-10-11  Ulrich Weigand  <uweigand@de.ibm.com>
1726
1727         * config/s390/s390-protos.h (s390_offset_p): Add prototype.
1728         * config/s390/s390.c (s390_offset_p): New function.
1729         * config/s390/s390.md ("*cmpdi_cct", "*cmpsi_cct", "*cmpdi_ccu",
1730         "*cmpsi_ccu", "*cmphi_ccu", "*cmpqi_ccu"): Use splitter to
1731         transform Q->Q alternatives to *clc pattern.
1732         ("*clc"): Move.
1733         ("movti", "*movdi_64", "*movdi_31", "*movsi_zarch", "*movsi_esa",
1734         "*movhi", "*movqi", "*movdf_64", "*movdf_31", "movsf"): Use splitter
1735         to transform Q->Q alternatives to *mvc pattern.
1736         ("*mvc"): Move.  Add peephole to merge adjacent MVCs.
1737         ("*anddi3", "*andsi3_zarch", "*andsi3_esa", "*andhi3_zarch",
1738         "*andhi3_esa", "*andqi3_zarch", "*andqi3_esa"): Use splitter to
1739         transform Q->Q alternatives to *nc pattern.
1740         ("*nc"): New insn.  New peephole to merge adjacent NCs.
1741         ("*iordi3", "*iorsi3_zarch", "*iorsi3_esa", "*iorhi3_zarch",
1742         "*iorhi3_esa", "*iorqi3_zarch", "*iorqi3_esa"): Use splitter to
1743         transform Q->Q alternatives to *oc pattern.
1744         ("*oc"): New insn.  New peephole to merge adjacent OCs.
1745         ("*xordi3", "*xorsi3", "*xorhi3", "*xorqi3"): Use splitter to
1746         transform Q->Q alternatives to *xc pattern.
1747         ("*xc"): New insn.  New peephole to merge adjacent XCs.
1748         ("*xc_zero"): Move.  Add peephole to merge adjacent XCs.
1749
1750 2004-10-11  Andrew Pinski  <pinskia@physics.uc.edu>
1751
1752         * gimplify.c (gimple_push_condition): Make sure that we don't
1753         have any saved condition cleanup if we were at the top level.
1754
1755 2004-10-11  Richard Sandiford  <rsandifo@redhat.com>
1756
1757         * config/frv/frv.md (*adddi3_internal): Change name to...
1758         (adddi3): ...replacing the exisiting define_expand.  Combine
1759         alternatives.  Fix the range of the constant constraints ('J' instead
1760         of 'NOP').  Remove bogus operands[2] check.  Use simplify_gen_subreg
1761         to extract the lower and upper halves of the DImode operands.
1762         Always use addi3_lower and adddi3_upper, not the subdi3 forms.
1763         (adddi3_lower): Fix the range of the constant constraints and
1764         remove the bogus operands[2] check.
1765         (adddi3_upper): Use gpr_or_int10_operand as the predicate for
1766         operand 2.  Use addxi to handle constant operands.
1767         (subdi3_lower, subdi3_upper): Don't handle constant operands.
1768
1769 2004-10-11  Nathan Sidwell  <nathan@codesourcery.com>
1770
1771         * gengtype-lex.l: Add commented } & ) characters to unconfuse
1772         editor's paren matching. Allow #define inside a struct.
1773
1774 2004-10-10  Andrew Pinski  <pinskia@physics.uc.edu>
1775
1776         PR middle-end/17703
1777         part of PR c++/17657
1778         * fold-const.c (fold_build_cleanup_point_expr): New function.
1779         * tree.h (fold_build_cleanup_point_expr): Prototype.
1780
1781 2004-10-10  Eric Christopher  <echristo@redhat.com>
1782
1783         * dwarf2out.c: Move attribute to subprogram declaration
1784         instead of subroutine type.
1785
1786 2004-10-10  Kazu Hirata  <kazu@cs.umass.edu>
1787
1788         * basic-block.h: Remove the prototypes for can_hoist_insn_p,
1789         hoist_insn_after, and hoist_insn_to_edge.
1790         * rtl.h: Remove the prototypes for reg_referenced_between_p,
1791         no_jumps_between_p, and insn_dependent_p.
1792         * rtlanal.c (no_jumps_between_p, reg_referenced_between_p,
1793         insn_dependent_p, insn_dependent_p_1, hoist_test_store,
1794         can_hoist_insn_p, hoist_update_store, hoist_insn_after,
1795         hoist_insn_to_edge): Remove.
1796
1797 2004-10-10  Joseph S. Myers  <jsm@polyomino.org.uk>
1798
1799         PR c/17881
1800         * c-decl.c (grokparms): Don't warn for parameters of incomplete
1801         type in declarations that are not definitions except for the case
1802         of parameters of void type.
1803
1804 2004-10-10  Kazu Hirata  <kazu@cs.umass.edu>
1805
1806         * tree-cfg.c: Fix comment typos.
1807
1808 2004-10-10  Joseph S. Myers  <jsm@polyomino.org.uk>
1809
1810         PR c/17301
1811         * builtins.c (expand_builtin_va_start): Check for too few
1812         arguments to va_start.
1813
1814 2004-10-10  Joseph S. Myers  <jsm@polyomino.org.uk>
1815
1816         PR c/17189
1817         * c-decl.c (grokfield): Make diagnostic for bad cases of unnamed
1818         fields a pedwarn.  Pedwarn here for unnamed structs/unions if
1819         pedantic.
1820         * c-parse.in (component_decl): Don't pedwarn here for unnamed
1821         fields.
1822
1823 2004-10-09  Zdenek Dvorak  <dvorakz@suse.cz>
1824
1825         PR tree-optimization/17906
1826         * tree-tailcall.c (tree_optimize_tail_calls_1): Do not attempt to
1827         copy non-gimple reg arguments.
1828
1829 2004-10-09  Roger Sayle  <roger@eyesopen.com>
1830
1831         PR rtl-optimization/17853
1832         * simplify-rtx.c (simplify_relational_operation): Correct comment.
1833         Reorganize handling of comparison operations with floating point
1834         results (always return 0.0 even without FLOAT_STORE_FLAG_VALUE).
1835         Likewise, introduce support for comparison operations with vector
1836         result types, introducing a new VECTOR_STORE_FLAG_VALUE target macro.
1837
1838         * doc/rtl.texi: Document new VECTOR_STORE_FLAG_VALUE target macro.
1839         * doc/tm.texi: Likewise.
1840
1841 2004-10-09  Steven Bosscher  <stevenb@suse.de>
1842
1843         * regs.h (struct reg_info_def): Remove the last_node_uid and
1844         changes_mode fields.
1845         (REGNO_LAST_NOTE_UID): Don't define.
1846         * regclass.c (reg_scan_mark_refs): Don't set REGNO_LAST_NOTE_UID.
1847         * regmove.c (copy_src_to_dest): Likewise.
1848
1849 2004-10-09  Roger Sayle  <roger@eyesopen.com>
1850
1851         PR middle-end/17894
1852         * fold-const.c (fold_div_compare): When optimizing X/C1 op C2, the
1853         relational comparison operator op needs to be swapped/reversed when
1854         C1 is negative.  i.e. X/-10 < 1 becomes X >= -9, not X < -9.
1855
1856 2004-10-08  Andrew Pinski  <pinskia@physics.uc.edu>
1857
1858         PR tree-opt/17902
1859         * tree-ssa-phiopt.c (conditional_replacement): Use bsi_after_labels
1860         instead of bsi_start.
1861         (value_replacement): Likewise.
1862         (abs_replacement): Likewise
1863
1864 2004-10-09  Steven Bosscher  <stevenb@suse.de>
1865
1866         * cfgexpand.c (maybe_dump_rtl_for_tree_stmt): New function.
1867         (expand_gimple_cond_expr, expand_gimple_tailcall,
1868         expand_gimple_basic_block): Use it to dump RTL for each stmt.
1869         (tree_expand_cfg): Announce full RTL function dump.
1870         * tree-optimize.c (execute_one_pass): Use normal RTL printing,
1871         not the graph version.
1872         * tree-pretty-print.c (dump_generic_node): Allow empty statements
1873         in the arms of a COND_EXPR for lowered nodes.
1874
1875 2004-10-08  Joseph S. Myers  <joseph@codesourcery.com>
1876
1877         * config/rs6000/spe.h (atosfix16, atosfix32, atosfix64, atoufix16,
1878         atoufix32, atoufix64, strtosfix16, strtosfix32, strtosfix64,
1879         strtoufix16, strtoufix32, strtoufix64): Declare.
1880
1881 2004-10-08  Joseph S. Myers  <jsm@polyomino.org.uk>
1882
1883         * c-lex.c (interpret_float): Give a pedwarn rather than a warning
1884         for an out-of-range floating point constant.
1885         * builtins.c (fold_builtin_inf): Give a pedwarn rather than a
1886         warning if the target format does not support infinities.
1887
1888 2004-10-08  Kazu Hirata  <kazu@cs.umass.edu>
1889
1890         * emit-rtl.c (last_label_num, base_label_num): Remove.
1891         (max_label_num): Always return label_num.
1892         (set_new_last_label_num, restore_emit_status): Remove.
1893         (init_emit): Don't initialize last_label_num.
1894         * function.c (pop_function_context_from): Don't call
1895         restore_emit_status.
1896         * function.h: Remove the prototype for restore_emit_status.
1897         * rtl.h: Remove the prototype for set_new_last_label_num.
1898
1899 2004-10-08  Kazu Hirata  <kazu@cs.umass.edu>
1900
1901         * stmt.c (expand_decl_init): Remove.
1902         * tree.h: Remove the corresponding prototype.
1903
1904 2004-10-08  Kazu Hirata  <kazu@cs.umass.edu>
1905
1906         * integrate.c (try_constants, subst_constants, mark_stores):
1907         Remove.
1908         * integrate.h: Remove the prototype for try_constants.
1909
1910 2004-10-08  Joseph S. Myers  <jsm@polyomino.org.uk>
1911
1912         * c-typeck.c (enum impl_conv): Add ic_argpass_nonproto.
1913         (convert_for_assignment): Handle ic_argpass_nonproto.  Add
1914         comments about its relevance to errors.
1915         (c_convert_parm_for_inlining): Use ic_argpass_nonproto.
1916
1917 2004-10-08  Andrew Pinski  <pinskia@physics.uc.edu>
1918
1919         PR c/16999
1920         * c-ppoutput.c (cb_ident): Don't quote string as it is already
1921         quoted.
1922
1923 2004-10-08  Diego Novillo  <dnovillo@redhat.com>
1924
1925         * tree-ssa-pre.c (init_pre): Use size of ARRAY_REF to allocate
1926         reference_node_pool.
1927
1928 2004-10-08  Kazu Hirata  <kazu@cs.umass.edu>
1929
1930         * tree-cfg.c: Fix a comment typo.
1931
1932 2004-10-08  Andreas Krebbel  <krebbel1@de.ibm.com>
1933
1934         * config/s390/s390.c (s390_register_info): Don't save fprs for
1935         -msoft-float.
1936         (s390_conditional_register_usage): Make fprs 'fixed' for -msoft-float.
1937
1938 2004-10-08  Ulrich Weigand  <uweigand@de.ibm.com>
1939
1940         * config/s390/s390.h (TARGET_DEFAULT_BACKCHAIN): New define.
1941         (TARGET_DEFAULT): Use symbolic values.
1942         * config/s390/tpf.h (TARGET_DEFAULT_BACKCHAIN): Redefine.
1943         (TARGET_DEFAULT): Use symbolic values.
1944         * config/s390/s390.c (s390_backchain_string): Initialize to
1945         TARGET_DEFAULT_BACKCHAIN.
1946
1947 2004-10-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1948
1949         * builtins.c (expand_builtin_mempcpy): Move tree handling code to
1950         fold_builtin_mempcpy.  Accept a type parameter.  Delete duplicate
1951         code.
1952         (expand_builtin_strcat): Accept a type parameter.
1953         (fold_builtin_mempcpy): Accept a type and endp parameter.
1954
1955         * builtins.c (expand_builtin_strncpy): Delete duplicate code.
1956         Accept an `exp' instead of an `arglist'.
1957
1958 2004-10-08  Nathan Sidwell  <nathan@codesourcery.com>
1959
1960         * tree-tailcall.c (tree_optimize_tail_calls_1): Use fold_convert,
1961         reverting my 2004-09-07 patch to use build_int_cst.
1962
1963 2004-10-08  Eric Botcazou  <ebotcazou@libertysurf.fr>
1964
1965         PR target/17245
1966         * config/sparc/sparc.c (input_operand): Remove redundant code
1967         for handling LO_SUM.
1968         (legitimate_address_p) <REG+REG>: Do not recheck TARGET_V9.
1969         <LO_SUM>: If LO_SUM is offsettable, accept it for TFmode on V9.
1970         Otherwise only accept it for TFmode if quad move insns are available.
1971
1972 2004-10-08  Kazu Hirata  <kazu@cs.umass.edu>
1973
1974         * tree-cfg.c (tree_forwarder_block_p): Reorder checks so that
1975         common cases will be caught earlier than others.
1976
1977 2004-10-08  Michael Matz  <matz@suse.de>
1978
1979         * loop-doloop.c (doloop_optimize): Extend count.
1980
1981 2004-10-08  Kaz Kojima  <kkojima@gcc.gnu.org>
1982
1983         * config/sh/sh.md (prefetch_media, prefetch_i4): New insns.
1984         (prefetch): Convert to expander.
1985
1986 2004-10-08  Kaz Kojima  <kkojima@gcc.gnu.org>
1987
1988         * config/sh/sh.md (tls_global_dynamic): Use MEM pattern for the
1989         first argument of CALL.
1990         (tls_local_dynamic): Likewise.
1991
1992 2004-10-08  Joseph S. Myers  <jsm@polyomino.org.uk>
1993
1994         * c-typeck.c (enum impl_conv): New.
1995         (convert_for_assignment): Use it.  Take tree for function called
1996         instead of its name.  Handle ObjC selectors for diagnostics at
1997         start of function.  Select diagnostic text within the function
1998         using full sentences for diagnsotics.  Use %qE to name functions
1999         in diagnostics.
2000         (convert_arguments, build_modify_expr,
2001         c_convert_parm_for_inlining, digest_init, c_finish_return): Update
2002         callers to convert_for_assignment.
2003         (warn_for_assignment): Remove.
2004
2005 2004-10-08  Nick Clifton  <nickc@redhat.com>
2006
2007         * config/sh/symbian.c (symbian_possibly_export_base_class):
2008         Replace use of deleted TYPE_USES_VIRTUAL_BASECLASSES macro with
2009         TYPE_CONTAINS_VPTR_P.
2010
2011 2004-10-08  Kazuhiro Inaoka  <inaoka.kazuhiro@renesas.com>
2012
2013         * config/m32r/m32r.h (CONDITIONAL_REGISTER_USAGE): Don't exclude
2014         fixed registers form all_used_regs. Update call_really_used_regs.
2015         (CALL_REALLY_USED_REGISTERS): Define.
2016         * config/m32r/m32r.c (MUST_SAVE_REGISTER): Replace call_used_regs
2017         with call_really_used_regs.
2018
2019 2004-10-08  Alan Modra  <amodra@bigpond.net.au>
2020
2021         * config/rs6000/sysv4.h (STARTFILE_LINUX_SPEC): Choose gcrt1.o
2022         for -profile as well as -p and -pg.
2023
2024 2004-10-07  Andrew Pinski  <pinskia@physics.uc.edu>
2025
2026         * libgcc2.c (__moddi3): Cast &w to UDWtype*.
2027
2028 2004-10-07  Kazu Hirata  <kazu@cs.umass.edu>
2029
2030         * tree-cfg.c (tree_block_forwards_to): Remove.
2031         * tree-flow.h: Remove the corresponding prototype.
2032
2033 2004-10-07  Kazu Hirata  <kazu@cs.umass.edu>
2034
2035         * tree-flow-inline.h (phi_nodes): Remove an unnecessary check
2036         for ENTRY_BLOCK_PTR and EXIT_BLOCK_PTR.
2037
2038 2004-10-07  Geoffrey Keating  <geoffk@apple.com>
2039
2040         Radar 3813796
2041         * config/rs6000/rs6000.c (rs6000_generate_compare): When
2042         flag_trapping_math is in effect, don't generate subtract
2043         instructions.
2044
2045 2004-10-07  Ulrich Weigand  <uweigand@de.ibm.com>
2046
2047         * config/s390/s390-protos.h (s390_narrow_logical_operator): Add.
2048         * config/s390/s390.c (s390_narrow_logical_operator): New function.
2049         (s390_extra_constraint_str): Add 'A' constraints.
2050         (s390_const_ok_for_constraint_p): Add 'Nx' constraints.
2051         * config/s390/s390.h (EXTRA_MEMORY_CONSTRAINT): Add 'A' constraint.
2052         (CONSTRAINT_LEN): Likewise.
2053         * config/s390/s390.md ("*anddi3"): Add NI alternative and splitter.
2054         ("*andsi3_zarch", "*andsi3_esa"): Likewise.
2055         ("*andhi3_zarch", "*andhi3_esa"): Likewise.
2056         ("*iordi3"): Add OI alternative and splitter.
2057         ("*iorsi3_zarch", "*iorsi3_esa"): Likewise.
2058         ("*iorhi3_zarch", "*iorhi3_esa"): Likewise.
2059         ("*xordi3"): Add XI alternative and splitter.
2060         ("*xorsi3", "*xorhi3"): Likewise.
2061
2062 2004-10-07  Richard Sandiford  <rsandifo@redhat.com>
2063
2064         * config/mips/mips.c (mips_function_rodata_section): New function.
2065         (TARGET_ASM_FUNCTION_RODATA_SECTION): Use it.
2066
2067 2004-10-07  Devang Patel  <dpatel@apple.com>
2068
2069         * rs6000/altivec.md (UNSPEC_VCMPBFP, UNSPEC_VCMPEQUB, UNSPEC_VCMPEQUH,
2070         UNSPEC_VCMPEQUW, UNSPEC_VCMPGEFP, UNSPEC_VCMPGTUB, UNSPEC_VCMPGTSB,
2071         UNSPEC_VCMPGTUH, UNSPEC_VCMPGTSH, UNSPEC_VCMPGTUW, UNSPEC_VCMPGTSW,
2072         UNSPEC_VCMPGTFP, UNSPEC_VSEL4SI, UNSPEC_VSEL4SF, UNSPEC_VSEL8HI,
2073         UNSPEC_VSEL16QI, UNSPEC_VCOND_V4SI, UNSPEC_VCOND_V4SF, UNSPEC_VCOND_V8HI,
2074         UNSPEC_VCOND_V16QI, UNSPEC_VCONDU_V4SI, UNSPEC_VCONDU_V8HI,
2075         UNSPEC_VCONDU_V16QI): New constant defines.
2076         (vcondv4si, vcondv4sf, vcondv8hi, vcondv16qi, vconduv4si, vconduv8hi,
2077         vconduv16qi): New patterns.
2078         * rs6000/rs6000-protos.h (rs6000_emit_vector_cond_expr): New function.
2079         * rs6000/rs6000.c (rs6000_emit_vector_cond_expr): New function.
2080         (get_vec_cmp_insn): Same.
2081         (get_vsel_insn): Same.
2082         (rs6000_emit_vector_compare): Same.
2083         (rs6000_emit_vector_select): Same.
2084         (INSN_NOT_AVAILABLE): New.
2085
2086 2004-10-07  Zdenek Dvorak  <dvorakz@suse.cz>
2087
2088         PR tree-optimization/17749
2089         * tree-tailcall.c (find_tail_calls): Check that parameter is
2090         a gimple_reg.
2091
2092 2004-10-07  Kazu Hirata  <kazu@cs.umass.edu>
2093
2094         * config/ia64/ia64.c: Fix a comment typo.
2095
2096 2004-10-07  Eric Botcazou  <ebotcazou@libertysurf.fr>
2097
2098         * doc/install.texi (*-*-solaris2*): Fix marker for URL.
2099
2100 2004-10-07  Giovanni Bajo  <giovannibajo@gcc.gnu.org>
2101
2102         PR c++/17115
2103         * tree-inline.c (expand_call_inline): Do not warn for functions
2104         marked with attribute noinline.
2105
2106 2004-10-07  Eric Botcazou  <ebotcazou@libertysurf.fr>
2107
2108         PR target/17862
2109         * config/sparc/sparc.c (sparc_output_mi_thunk): Set
2110         current_function_uses_only_leaf_regs as well as sparc_leaf_function_p.
2111
2112         * config/sparc/sparc.c (sparc_gimplify_va_arg): Pass 'false' instead
2113         of 0 as 4th argument to pass_by_reference.
2114         Call build_va_arg_indirect_ref instead of build_fold_indirect_ref.
2115
2116 2004-10-06  Eric Christopher  <echristo@redhat.com>
2117
2118         * config/sh/sh.c (sh_dwarf_calling_convention): Fix renesas dwarf
2119         attribute.
2120
2121 2004-10-07  Richard Sandiford  <rsandifo@redhat.com>
2122
2123         PR target/17770
2124         * config/mips/mips.md (mov_<load>l): Remove hazard=none attribute.
2125
2126 2004-10-07  Zdenek Dvorak  <dvorakz@suse.cz>
2127
2128         PR rtl-optimization/17791
2129         * loop-doloop.c (doloop_modify): Take number of iterations as
2130         argument.
2131         (doloop_optimize): Extend or shorten the number of iterations
2132         when changing mode of counter register.
2133         * loop-iv.c (lowpart_subreg): Export.
2134         * rtl.h (lowpart_subreg): Declare.
2135
2136 2004-10-07  Zdenek Dvorak  <dvorakz@suse.cz>
2137
2138         PR tree-optimization/17806
2139         * cfghooks.c (split_edge): Update IRREDUCIBLE_LOOP flags.
2140         * cfgloopmanip.c (loop_split_edge_with): Updating of IRREDUCIBLE_LOOP
2141         flags moved to split_edge.
2142
2143 2004-10-07  Eric Botcazou  <ebotcazou@libertysurf.fr>
2144
2145         PR middle-end/17835
2146         * expmed.c (expand_sdiv_pow2): Force a stack adjustment
2147         before tentatively building the conditional move sequence.
2148
2149 2004-10-07  Richard Sandiford  <rsandifo@redhat.com>
2150
2151         PR target/16815
2152         * function.c (assign_parm_setup_block_p): Tighten BLOCK_REG_PADDING
2153         check.
2154         * config/pa/pa.h (BLOCK_REG_PADDING): Define in terms of
2155         function_arg_padding.
2156
2157 2004-10-07  Richard Sandiford  <rsandifo@redhat.com>
2158
2159         PR bootstrap/17857
2160         * Makefile.in (stmp-fixproto): Pass FIX_HEADER=build/... to fixproto.
2161
2162 2004-10-07  Kazu Hirata  <kazu@cs.umass.edu>
2163
2164         * hooks.c (hook_int_void_1, hook_void_int): Remove.
2165         * hooks.h: Remove the corresponding prototypes.
2166
2167 2004-10-06  Andrew Pinski  <pinskia@physics.uc.edu>
2168
2169         PR middle-end/17849
2170         * tree-nested.c (walk_stmt_info): Add changed field.
2171         (convert_nonlocal_reference): Set changed to when we
2172         change a decl to unnested decl.
2173         <case ADDR_EXPR>: Instead of checking if the immediate part
2174         of the ADDR_EXPR changed, check the field changed.
2175         Use recompute_tree_invarant_for_addr_expr instead of unsetting
2176         TREE_INVARIANT.
2177         (convert_local_reference):  Set changed to when we
2178         change a decl to unnested decl.
2179         <case ADDR_EXPR>: Instead of checking if the immediate part
2180         of the ADDR_EXPR changed, check the field changed.
2181         Also call recompute_tree_invarant_for_addr_expr on the ADDR_EXPR.
2182
2183 2004-10-06  Kazu Hirata  <kazu@cs.umass.edu>
2184
2185         * defaults.h (DWARF2_GENERATE_TEXT_SECTION_LABEL): Remove.
2186         * dwarf2out.c (dwarf2out_init): Remove references to
2187         DWARF2_GENERATE_TEXT_SECTION_LABEL.
2188         * system.h: Poison DWARF2_GENERATE_TEXT_SECTION_LABEL.
2189         * doc/tm.texi (DWARF2_GENERATE_TEXT_SECTION_LABEL): Remove.
2190
2191 2004-10-06  Joseph S. Myers  <jsm@polyomino.org.uk>
2192
2193         * c-typeck.c (convert_arguments): Take expression for called
2194         function rather than its name.  Handle ObjC selectors directly
2195         rather than relying on warn_for_assignment to do so.  Call warning
2196         directly rather than warn_for_assignment.  Use %qE in diagnostics.
2197         Say "argument" rather than "arg" in diagnostics.
2198         (build_function_call): Update call to convert_arguments.
2199
2200 2004-10-06  Andrew Pinski  <pinskia@physics.uc.edu>
2201
2202         PR debug/17787
2203         * dbxout.c (dbxout_symbol): Really handle RECORD, UNION, and
2204         ENUMs specially instead of just saying we do.
2205
2206 2004-10-06  Eric Christopher  <echristo@redhat.com>
2207
2208         * dwarf2.h: Sync with include/elf/dwarf2.h
2209
2210 2004-10-06  Daniel Berlin  <dberlin@dberlin.org>
2211
2212         * tree-pretty-print.c (dump_generic_node): Fix printing of BINFO
2213         and TREE_VEC nodes.
2214
2215 2004-10-06  Daniel Berlin  <dberlin@dberlin.org>
2216
2217         * lambda-code.c (lambda_loopnest_to_gcc_loopnest): Convert
2218         to use FOR_EACH_SSA_USE_OPERAND iterator, and propagate_value.
2219
2220 2004-10-06  Daniel Berlin  <dberlin@dberlin.org>
2221
2222         * lambda-code.c (compute_nest_using_fourier_motzkin): New
2223         function.
2224         (lambda_compute_auxillary_space): Split from here.
2225
2226 2004-10-06  Daniel Berlin  <dberlin@dberlin.org>
2227
2228         * tree-ssa-loop-ivopts.c (expr_invariant_in_loop): Make non-static.
2229         * tree-flow.h: Add prototype.
2230         * lambda-code.c (invariant_in_loop_and_outer_loops): Use
2231         expr_invariant_in_loop.
2232
2233 2004-10-06  Kazu Hirata  <kazu@cs.umass.edu>
2234
2235         * tree-cfg.c (thread_jumps): Remove a duplicate check for
2236         EXIT_BLOCK_PTR.
2237
2238 2004-10-06  Ulrich Weigand  <uweigand@de.ibm.com>
2239
2240         * config/s390/s390-protos.h (s_imm_operand): Remove.
2241         (s390_pool_operand): Add prototype.
2242         * config/s390/s390.c (general_s_operand): Remove.
2243         (s_imm_operand): Remove.
2244         (s_operand): Merge contents of general_s_operand.
2245         (s390_pool_operand): New function.
2246         * config/s390/s390.h (PREDICATE_CODES): Remove s_imm_operand.
2247         * config/s390/s390.md ("*cmpdi_cct", "*cmpsi_cct"): New insns.
2248         ("*cmpdi_ccu"): Merge Q->Q alternative.
2249         ("*cmpsi_ccu", "*cmphi_ccu"): Likewise.
2250         ("*cmpqi_ccu"): Merge Q->Q, n->Q, n->S alternatives.
2251         ("*cli"): Remove.
2252         ("*cmpdi_ccu_mem", "*cmpsi_ccu_mem"): Likewise.
2253         ("*cmphi_ccu_mem", "*cmpqi_ccu_mem"): Likewise.
2254         ("*movstricthi"): Use memory_operand instead of s_imm_operand.
2255
2256 2004-10-06  Steve Ellcey  <sje@cup.hp.com>
2257
2258         * config/ia64/ia64.h (FUNCTION_ARG_BOUNDARY): Change macro to
2259         call ia64_function_arg_boundary.
2260         * config/ia64/ia64-protos.h (ia64_function_arg_boundary): New.
2261         * config/ia64/ia64.c (ia64_function_arg_boundary): New.
2262         (ia64_function_arg_advance): Do not put 128 bit floats into
2263         FP registers.
2264
2265 2004-10-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2266
2267         * builtins.c (expand_builtin_strcpy): Delete duplicate code.
2268         Accept an expression instead of an arglist.
2269         (expand_builtin_stpcpy): Accept an expression instead of an
2270         arglist.
2271
2272 2004-10-06  Eric Botcazou  <ebotcazou@libertysurf.fr>
2273
2274         PR target/16007
2275         * doc/install.texi (*-*-solaris2*): Mention potential problem
2276         with Sun assembler + GNU linker and C++ programs.
2277         Document status of binutils 2.15 release.
2278
2279 2004-10-06  Jan Hubicka  <jh@suse.cz>
2280
2281         * cse.c (cse_main): Kill push/pop context.
2282
2283 2004-10-05  Zack Weinberg  <zack@codesourcery.com>
2284
2285         * pretty-print.c: Include tree.h.
2286         (pp_base_prepare_to_format): New function, logic from
2287         text_specifies_location.
2288         (pp_base_format_text): Use gcc_assert.
2289         * pretty-print.h (pp_prepare_to_format): New macro.
2290         (pp_base_prepare_to_format): Prototype.
2291         * diagnostic.c (text_specifies_location): Delete.
2292         (bug_report_request): Delete.
2293         (diagnostic_set_info): Don't call text_specifies_location.
2294         (diagnostic_action_after_output): Put text from
2295         bug_report_request inline here.  Use gcc_unreachable.
2296         (diagnostic_report_current_function): Fix comment.
2297         (diagnostic_report_diagnostic): Clarify logic for error recursion.
2298         Call pp_prepare_to_format before diagnostic_starter.
2299         (trim_filename): Use IS_DIR_SEPARATOR.
2300         (fatal_error, internal_error): Use gcc_unreachable.
2301         (error_recursion): Call diagnostic_action_after_output to
2302         issue the bug_report_request message and exit.
2303         * Makefile.in (diagnostic.o, pretty-print.o): Update dependencies.
2304
2305         * c-parse.in: Add list of diagnostic messages to insulate
2306         translation template from version of yacc/bison used to
2307         compile the grammar.
2308
2309 2004-10-06  Alan Modra  <amodra@bigpond.net.au>
2310
2311         PR 16406
2312         * doc/tm.texi (USE_LD_AS_NEEDED, LINK_EH_SPEC): Document.
2313
2314 2004-10-05  Kazu Hirata  <kazu@cs.umass.edu>
2315
2316         * basic-block.h: Remove the prototype for
2317         flow_preorder_transversal_compute.
2318         * cfganal.c (dfst_node): Remove.
2319         (flow_preorder_transversal_compute): Likewise.
2320         * rtl.h: Remove the prototype for get_jump_table_offset.
2321         * rtlanal.c (get_jump_table_offset): Remove.
2322
2323 2004-10-05  Richard Henderson  <rth@redhat.com>
2324
2325         PR 17756
2326         * tree-ssa-operands.c (get_expr_operands): Handle CONST_DECL.
2327
2328 2004-10-05  Kelley Cook  <kcook@gcc.gnu.org>
2329
2330         PR bootstrap/17817
2331         * Makefile.in: Stage the build directory too.
2332
2333 2004-10-05  Aldy Hernandez  <aldyh@redhat.com>
2334
2335         * config/frv/frv.h (LEGITIMIZE_ADDRESS): New.
2336
2337         * config/frv/frv-protos.h (frv_legitimize_address): Protoize.
2338         (frv_emit_move): Same.
2339
2340         * config/frv/frv.c (frv_emit_move): New.
2341         (frv_legitimize_address): New.
2342
2343         * config/frv/frv.md ("movsi"): Call frv_emit_move.
2344         ("movqi"): Same.
2345         ("movhi"): Same.
2346         ("movdi"): Same.
2347         ("movsf"): Same.
2348         ("movdf"): Same.
2349
2350 2004-10-05  Joseph S. Myers  <jsm@polyomino.org.uk>
2351
2352         * c-decl.c (declspecs_add_type): Don't pedwarn for _Complex in
2353         system headers.
2354
2355 2004-10-05  Joseph S. Myers  <jsm@polyomino.org.uk>
2356
2357         * c-decl.c (pushdecl): When an extern declaration at block scope
2358         refers to a visible entity with internal linkage, use the old DECL
2359         rather than the new one.
2360
2361 2004-10-05  Kazu Hirata  <kazu@cs.umass.edu>
2362
2363         * tree-cfg.c (cleanup_tree_cfg): Remove extra parentheses in
2364         comments.
2365
2366 2004-10-05  Kazu Hirata  <kazu@cs.umass.edu>
2367
2368         * tree-cfg.c (thread_jumps): Remove a duplicate check for
2369         an infinite loop.
2370
2371 2004-10-05  Kazu Hirata  <kazu@cs.umass.edu>
2372
2373         * tree-cfg.c (thread_jumps): Iterate with FOR_EACH_BB instead
2374         of FOR_BB_BETWEEN.  Remove a useless check for unreachable
2375         blocks.
2376
2377 2004-10-05  Kazu Hirata  <kazu@cs.umass.edu>
2378
2379         * tree-cfg.c (cleanup_tree_cfg): Don't call
2380         delete_unreachable_blosk() after thread_jumps().
2381         (thread_jumps): Always remove basic blocks as they become
2382         unreachable.
2383
2384 2004-10-05  Kazu Hirata  <kazu@cs.umass.edu>
2385
2386         * tree-cfg.c (cleanup_tree_cfg): Remove variable
2387         something_changed.  Simplify the while loop.
2388
2389 2004-10-05  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2390
2391         * builtins.c (expand_builtin_memmove): Delete duplicate code
2392         and accept a tree type for the result.
2393         (expand_builtin_bcopy): Accept a tree type for the result.
2394         (fold_builtin_memmove): Accept an arglist and tree type for
2395         the result.
2396
2397 2004-10-05  Ulrich Weigand  <uweigand@de.ibm.com>
2398
2399         * config/s390/s390.c (s390_dump_pool): Remove return value.
2400         Use gen_pool_align, gen_pool_section_start/end instead of
2401         gen_pool_start/end_31/64.
2402         * config/s390/s390.md (UNSPECV_POOL_START, UNSPECV_POOL_END): Remove.
2403         (UNSPECV_POOL_SECTION, UNSPECV_POOL_ALIGN): New constants.
2404         ("pool_start_31", "pool_end_31"): Remove.
2405         ("pool_start_64", "pool_end_64"): Likewise.
2406         ("pool_align", "pool_section_start", "pool_section_end": New insns.
2407
2408         * config/s390/s390.c (s390_cannot_copy_insn_p): New function.
2409         (TARGET_CANNOT_COPY_INSN_P): Define.
2410         (s390_cannot_force_const_mem): Handle UNSPEC_INSN.
2411         (struct constant_pool): New member 'execute'.
2412         (s390_add_execute, s390_find_execute): New functions.
2413         (s390_execute_label, s390_execute_target): Likewise.
2414         (s390_dump_pool): Output in-pool execute target templates.
2415         (s390_dump_execute): New function.
2416         (s390_alloc_pool, s390_free_pool): Handle execute templates.
2417         (s390_mainpool_start, s390_mainpool_finish): Likewise.
2418         (s390_chunkify_start, s390_chunkify_finish): Likewise.
2419         * config/s390/s390.md (UNSPEC_INSN, UNSPEC_EXECUTE): New constants.
2420         ("*execute"): New insn pattern.
2421         ("movmem_short", "*movmem_short"): Use splitters to generate
2422         explicit execute pattern, remove embedded execute.
2423         ("clrmem_short", "*clrmem_short"): Likewise.
2424         ("cmpmem_short", "*cmpmem_short"): Likewise.
2425
2426 2004-10-05  Daniel Berlin  <dberlin@dberlin.org>
2427
2428         * tree-ssa.c (verify_ssa): Verify phi arguments only
2429         contain renamed names.
2430
2431 2004-10-05  Alan Modra  <amodra@bigpond.net.au>
2432
2433         * config/rs6000/linux.h: Formatting, whitespace.
2434         * config/rs6000/linux64.h: Likewise.
2435         * config/rs6000/rs6000-protos.h: Likewise.
2436         * config/rs6000/rs6000.c: Likewise.
2437         (easy_vector_splat_const): Add fall thru comments.
2438         (output_vec_const_move): Likewise.
2439
2440 2004-10-05  Kelley Cook  <kcook@gcc.gnu.org>
2441
2442         * Makefile.in: Update -Wno-error exceptions for move to build dir.
2443
2444 2004-10-05  Chao-Ying Fu  <fu@mips.com>
2445             Richard Sandiford  <rsandifo@redhat.com>
2446
2447         * doc/invoke.texi (-mpaired-single): Link to the new description of the
2448         built-in functions.  Document dependencies.
2449         (-mips3d): Add link here too.
2450         * doc/extend.texi (MIPS Paired-Single Support): New section.
2451
2452 2004-10-04  Chao-ying Fu  <fu@mips.com>
2453
2454         * config/mips/mips.h (UNITS_PER_SIMD_WORD): Define.
2455
2456 2004-10-04  Diego Novillo  <dnovillo@redhat.com>
2457
2458         * tree-ssa-dom.c (tree_ssa_dominator_optimize):
2459         Initialize OPT_STATS to 0.
2460
2461 2004-10-04  Kazu Hirata  <kazu@cs.umass.edu>
2462
2463         * tree-data-ref.c: Fix comment typos.
2464
2465 2004-10-04  Sebastian Pop  <pop@cri.ensmp.fr>
2466
2467         * tree-data-ref.c (array_base_name_differ_p): Fix comments.  When
2468         the predicate cannot be computed, don't initialize the result to
2469         false.
2470
2471 2004-10-01  Eric Christopher  <echristo@redhat.com>
2472
2473         * dwarf2.h (dwarf_calling_convention): Add GNU prefix to
2474         locally defined enum.
2475         * dwarf2out.c (add_calling_convention_attribute): Don't
2476         emit DW_CC_normal.
2477
2478 2004-10-03  Andrew Pinski  <pinskia@physics.uc.edu>
2479
2480         PR c/17178, PR c/17820
2481         * c-decl.c (pop_scope): Do not warn about unused static
2482         variables as they warned in the middle-end.
2483
2484 2004-10-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2485
2486         * builtins.c (expand_builtin_memcpy): Delete duplicate code
2487         and make the first parameter the expression not the arglist.
2488
2489 2004-10-03  Ulrich Weigand  <uweigand@de.ibm.com>
2490
2491         * expr.c (expand_expr_addr_expr): Only accept Pmode or ptr_mode
2492         as valid modes to expand address expressions.
2493
2494 2004-10-03  Joseph S. Myers  <jsm@polyomino.org.uk>
2495
2496         * c-aux-info.c, c-common.c, c-common.h, c-cppbuiltin.c, c-decl.c,
2497         c-format.c, c-incpath.c, c-lex.c, c-objc-common.c, c-opts.c,
2498         c-parse.in, c-pch.c, c-ppoutput.c, c-pragma.c, c-typeck.c: Follow
2499         code formatting conventions.
2500
2501 2004-10-03  Richard Sandiford  <rsandifo@redhat.com>
2502
2503         * config/mips/mips.md (<u>mulsidi3_32bit_r4000): Fix unsigned case.
2504
2505 2004-10-03  Kazu Hirata  <kazu@cs.umass.edu>
2506
2507         PR tree-optimization/16632
2508         * fold-const.c (fold) [EQ_EXPR]: When seeing if D & ~C != 0 to
2509         fold (A & C) == D into 0, fold ~C.  Similarly, for the case
2510         where | is used instead of &.
2511
2512 2004-10-03  Kazu Hirata  <kazu@cs.umass.edu>
2513
2514         * ginclude/stddef.h: Fix a comment typo.
2515
2516 2004-10-03  Eric Botcazou  <ebotcazou@libertysurf.fr>
2517
2518         PR target/17443
2519         * config.gcc (i?86-*-solaris2*): Restore correct logic
2520         for --enable-threads option.
2521         (sparc64-*-solaris2*): Likewise.
2522         (sparc-*-solaris2*): Likewise.
2523
2524 2004-10-03  Alan Modra  <amodra@bigpond.net.au>
2525
2526         * config/rs6000/linux.h (TARGET_C99_FUNCTIONS): Define.
2527         (OS_MISSING_POWERPC64): Move, and comment.
2528         * config/rs6000/linux64.h (TARGET_C99_FUNCTIONS): Define.
2529         (OS_MISSING_POWERPC64): Move, and comment.
2530
2531 2004-10-02  Ian Lance Taylor  <ian@wasabisystems.com>
2532
2533         * arm.c (output_call_mem): Add missing \t.
2534
2535 2004-10-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2536
2537         * builtins.c (expand_builtin_memcmp, expand_builtin_strcmp,
2538         expand_builtin_strncmp): Delete duplicate code.
2539
2540 2004-10-02  Frank Ch. Eigler  <fche@redhat.com>
2541
2542         * tree-mudflap.c (mf_build_check_statement_for): Reorganize to
2543         take check-base and -limit arguments.
2544         (mf_xform_derefs_1): Reorganize slightly to pass proper base/limit
2545         check ranges for ARRAY_REF and COMPONENT_REF.
2546         (execute_mudflap_fnction_ops, ..._decls): Limit unnecessary
2547         instrumentation.
2548
2549 2004-10-02  Joseph S. Myers  <jsm@polyomino.org.uk>
2550
2551         * c-objc-common.c (c_tree_printer): Correct description of %E.
2552         Don't fall through after printing an expression.
2553
2554 2004-10-02  Kazu Hirata  <kazu@cs.umass.edu>
2555
2556         * tree-cfg.c, config/s390/tpf-unwind.h: Fix comment typos.
2557
2558 2004-10-02  Kazu Hirata  <kazu@cs.umass.edu>
2559
2560         * tree-cfg.c (cleanup_tree_cfg): Speed up by calling
2561         delete_unrechable_blocks() only when necessary.
2562
2563 2004-10-02  P.J. Darcy  <darcypj@us.ibm.com>
2564
2565         * gthr-tpf.h (__gthread_recursive_mutex_t): New type.
2566         (__GTHREAD_RECURSIVE_MUTEX_INIT): Define.
2567         (__gthread_recursive_mutex_lock, __gthread_recursive_mutex_trylock,
2568         __gthread_recursive_mutex_unlock): New functions.
2569
2570 2004-10-02  P.J. Darcy  <darcypj@us.ibm.com>
2571
2572         * config/s390/t-tpf (LIB2ADDEH): Remove tpf-eh.c.
2573         * config/s390/tpf-eh.c: Remove file.
2574         * config/s390/tpf-unwind.h: New file.
2575         * config/s390/tpf.h (MD_FALLBACK_FRAME_STATE_FOR): Remove.
2576         (MD_UNWIND_SUPPORT): Define.
2577
2578 2004-10-02  Joseph S. Myers  <jsm@polyomino.org.uk>
2579
2580         * c-typeck.c (warn_for_assignment): Don't permit argnum == 0.
2581
2582 2004-10-01  Ulrich Weigand  <uweigand@de.ibm.com>
2583
2584         * config/s390/s390-protos.h (s390_comparison): Add prototype.
2585         * config/s390/s390.c (s390_comparison): New function.
2586         (s390_branch_condition_mask): Return -1 for invalid comparisons.
2587         (s390_branch_condition_mnemonic): Assert valid comparison.
2588         * config/s390/s390.h (PREDICATE_CODES): Add s390_comparison.
2589         * config/s390/s390.md ("*cjump_64", "*cjump_31", "*cjump_long",
2590         "*icjump_64", "*icjump_31", "*icjump_long", "*trap"): Use
2591         s390_comparison instead of comparison_operator.
2592
2593         * config/s390/s390.md (UNSPEC_CMPINT): New constant.
2594         ("cmpmemdi"): Remove.
2595         ("cmpmem_short", "*cmpmem_short"): Use CCUmode instead of CCSmode.
2596         ("cmpmem_long", "*cmpmem_long_64", "*cmpmem_long_31"): Likewise.
2597         ("cmpint_si"): Rename to ...
2598         ("*cmpint_si"): ... this.  Use UNSPEC_CMPINT.
2599         ("cmpint_di", "*cmpint_di"): Likewise.
2600         * config/s390/s390.c (s390_canonicalize_comparison): Remove
2601         redundant UNSPEC_CMPINT conversions.
2602         (s390_expand_cmpmem): Adapt to cmpint pattern changes.
2603
2604 2004-10-01  Kazu Hirata  <kazu@cs.umass.edu>
2605
2606         * collect2.c (COLLECT_PARSE_FLAG): Remove.
2607         (main): Remove a reference to COLLECT_PARSE_FLAG
2608         * system.h: Poison COLLECT_PARSE_FLAG.
2609         * doc/tm.texi (COLLECT_PARSE_FLAG): Remove.
2610
2611 2004-10-01  Paul Brook  <paul@codesourcery.com>
2612
2613         * config/arm/crti.asm: Give _init and _fini function type.
2614
2615 2004-10-01  Zdenek Dvorak  <dvorakz@suse.cz>
2616
2617         * common.opt (ftree-loop-ivcanon): Enable by default.
2618         * tree-ssa-loop-ivcanon.c (try_unroll_loop_completely):
2619         Enable complete loop unrolling.
2620         (canonicalize_induction_variables, tree_unroll_loops_completely):
2621         Reset scev info.
2622
2623 2004-10-01  Paul Brook  <paul@codesourcery.com>
2624
2625         * config/arm/arm.c (thumb_compute_saved_rag_mask): Or with bitmask,
2626         not register number.
2627         (thumb_find_work_register): Search full register range.
2628
2629 2004-10-01  Andrew Pinski  <pinskia@physics.uc.edu>
2630
2631         PR tree-opt/17343
2632         * tree-cfg.c (group_case_labels): Get the label and not
2633         the case expr for the default case.
2634         When the label we looking at is the default, decrement the
2635         new_size.
2636
2637 2004-10-01  Jan Hubicka  <jh@suse.cz>
2638
2639         * c-decl.c (c_expand_body): Update call tree_rest_of_compilation.
2640         * cgraphunit.c (cgraph_build_static_cdtor): Likewise.
2641         * toplev.h (tree_rest_of_compilation): Update prototype.
2642         * tree-optimize.c (tree_rest_of_compilation):  Kill nested_p argument.
2643
2644 2004-10-01  Kazu Hirata  <kazu@cs.umass.edu>
2645
2646         * tree-cfg.c (cleanup_tree_cfg): Pull a call to
2647         cleanup_control_flow() out of the while loop.
2648
2649 2004-10-01  Paolo Bonzini  <bonzini@gnu.org>
2650
2651         * tree-vectorizer.c (vectorizable_operation): Fail unless
2652         the mode for the vector type is indeed a vector mode.
2653
2654 2004-10-01  Zdenek Dvorak  <dvorakz@suse.cz>
2655
2656         * tree-chrec.c (chrec_fold_plus_poly_poly, chrec_fold_plus_1,
2657         chrec_fold_multiply): Use fold_convert or build_int_cst_type instead
2658         of convert.
2659         * tree-scalar-evolution.c (compute_overall_effect_of_inner_loop,
2660         add_to_evolution, set_nb_iterations_in_loop, follow_ssa_edge_in_rhs,
2661         follow_ssa_edge_in_rhs): Ditto.
2662         * tree-ssa-loop-ivopts.c (struct iv): Add base_object field.
2663         (dump_iv): Dump base_object.
2664         (dump_use, dump_cand): Use dump_iv.
2665         (determine_base_object): New function.
2666         (alloc_iv): Initialize base_object field.
2667         (record_use): Clear the ssa_name field of iv.
2668         (get_computation_cost_at): Do not use difference of addresses of
2669         two different objects.
2670         (may_eliminate_iv): Do not require the loop to have just single exit.
2671         * tree-ssa-loop-niter.c (zero_p): Do not check for overflows.
2672         (nonzero_p): New function.
2673         (inverse, number_of_iterations_cond, simplify_using_outer_evolutions,
2674         tree_simplify_using_condition, simplify_using_initial_conditions,
2675         loop_niter_by_eval, find_loop_niter_by_eval,
2676         estimate_numbers_of_iterations_loop, compare_trees,
2677         upper_bound_in_type, lower_bound_in_type,
2678         can_count_iv_in_wider_type_bound): Use buildN instead of build.  Use
2679         fold_convert or build_int_cst_type instead of convert.  Use (non)zero_p
2680         instead of integer_(non)zerop.
2681
2682 2004-10-01  Jakub Jelinek  <jakub@redhat.com>
2683
2684         Revert
2685         2004-09-29  Jakub Jelinek  <jakub@redhat.com>
2686
2687         * tree.h (enum tree_index): Add TI_VA_LIST_GPR_COUNTER_FIELD
2688         and TI_VA_LIST_FPR_COUNTER_FIELD.
2689         (va_list_gpr_counter_field, va_list_fpr_counter_field): Define.
2690         * tree-pass.h (pass_stdarg): Add.
2691         * tree-optimize.c (init_tree_optimization_passes): Add pass_stdarg.
2692         * tree-stdarg.c: New file.
2693         * Makefile.in (OBJS-common): Add tree-stdarg.o.
2694         (tree-stdarg.o): Add dependencies.
2695         * function.h (struct function): Add va_list_gpr_size and
2696         va_list_fpr_size fields.
2697         * function.c (allocate_struct_function): Initialize them.
2698
2699         * config/i386/i386.c (ix86_build_builtin_va_list): Initialize
2700         va_list_{g,f}pr_counter_field.
2701         (ix86_setup_incoming_varargs): Don't do anything if reg_save
2702         area will not be used.  Only save registers that tree-stdarg.c
2703         detected they need saving.
2704         (ix86_va_start): Don't set up fields that won't be used.
2705
2706         * config/rs6000/rs6000.c (rs6000_build_builtin_va_list): Initialize
2707         va_list_{g,f}pr_counter_field.
2708         (setup_incoming_varargs): Don't do anything if reg_save
2709         area will not be used.  Only save registers that tree-stdarg.c
2710         detected they need saving.
2711         (rs6000_va_start): Don't set up fields that won't be used.
2712
2713 2004-09-30  Eric Christopher  <echristo@redhat.com>
2714
2715         * dwarf2.h (dwarf_calling_convention): Add enum for renesas
2716         sh abi.
2717         * dwarf2out.c (add_calling_convention_attribute): New function.
2718         (gen_subroutine_type_die): Use.
2719         * target-def.h (TARGET_DWARF_CALLING_CONVENTION): New hook.
2720         * target.h (gcc_target): Add dwarf_calling_convention.
2721         * hooks.c (hook_int_tree_0): New function.
2722         * hooks.h: Prototype.
2723         * config/sh/sh.c: Include dwarf2.h.
2724         (sh_dwarf_calling_convention): New function.
2725         (TARGET_DWARF_CALLING_CONVENTION): Use.
2726         * doc/tm.texi (TARGET_DWARF_CALLING_CONVENTION): Document.
2727
2728 2004-09-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2729
2730         * builtins.c (expand_builtin_strstr, expand_builtin_strchr,
2731         expand_builtin_strrchr, expand_builtin_strpbrk,
2732         expand_builtin_strncat, expand_builtin_strspn,
2733         expand_builtin_strcspn, expand_builtin_fputs): Eliminate duplicate
2734         code.
2735
2736 2004-09-30  Ulrich Weigand  <uweigand@de.ibm.com>
2737
2738         * config/s390/s390-protos.h (s390_expand_logical_operator): Add
2739         prototype.
2740         (s390_logical_operator_ok_p): Likewise.
2741         * config/s390/s390.c (s390_expand_logical_operator): New function.
2742         (s390_logical_operator_ok_p): Likewise.
2743         * config/s390/s390.md ("anddi3"): New expander.
2744         ("*anddi3"): Rename from old anddi3 pattern, add Q->Q alternative.
2745         ("*anddi3_ss", "*anddi3_ss_inv"): Remove.
2746         ("andsi3"): Use s390_expand_logical_operator.
2747         ("*andsi3_esa", "*andsi3_zarch"): Add Q->Q alternative.
2748         ("*andsi3_ss", "*andsi3_ss_inv"): Remove.
2749         ("andhi3"): New expander.
2750         ("*andhi3_zarch", "*andhi3_esa"): New patterns.
2751         ("andhi3", "*andhi3_ni", "*andhi3_ss", "*andhi3_ss_inv"): Remove.
2752         ("andqi3"): New expander.
2753         ("*andqi3_zarch", "*andqi3_esa"): New patterns.
2754         ("andqi3", "*andqi3_ni", "*andqi3_ss", "*andqi3_ss_inv"): Remove.
2755         ("iordi3"): New expander.
2756         ("*iordi3"): Rename from old iordi3 pattern, add Q->Q alternative.
2757         ("*iordi3_ss", "*iordi3_ss_inv"): Remove.
2758         ("iorsi3"): Use s390_expand_logical_operator.
2759         ("*iorsi3_esa", "*iorsi3_zarch"): Add Q->Q alternative.
2760         ("*iorsi3_ss", "*iorsi3_ss_inv"): Remove.
2761         ("iorhi3"): New expiorer.
2762         ("*iorhi3_zarch", "*iorhi3_esa"): New patterns.
2763         ("iorhi3", "*iorhi3_ni", "*iorhi3_ss", "*iorhi3_ss_inv"): Remove.
2764         ("iorqi3"): New expiorer.
2765         ("*iorqi3_zarch", "*iorqi3_esa"): New patterns.
2766         ("iorqi3", "*iorqi3_ni", "*iorqi3_ss", "*iorqi3_ss_inv"): Remove.
2767         ("xordi3"): New expander.
2768         ("*xordi3"): Rename from old xordi3 pattern, add Q->Q alternative.
2769         ("*xordi3_ss", "*xordi3_ss_inv"): Remove.
2770         ("xorsi3"): New expander.
2771         ("*xorsi3"): Rename from old xorsi3 pattern, add Q->Q alternative.
2772         ("*xorsi3_ss", "*xorsi3_ss_inv"): Remove.
2773         ("xorhi3"): New expander.
2774         ("*xorqi3"): Rename from old xorhi3 pattern, add Q->Q alternative.
2775         ("*xorhi3_ss", "*xorhi3_ss_inv"): Remove.
2776         ("xorqi3"): New expander.
2777         ("*xorqi3"): Rename from old xorqi3 pattern, add Q->Q alternative.
2778         ("*xorqi3_ss", "*xorqi3_ss_inv"): Remove.
2779
2780 2004-09-30  Roger Sayle  <roger@eyesopen.com>
2781
2782         * combine.c (force_to_mode) <NE_EXPR>: Only convert the expression
2783         (AND (NE FOO 0) CONST) into (AND FOO CONST) if FOO has the same
2784         machine mode as the result.
2785
2786 2004-09-30  Ben Elliston  <bje@au.ibm.com>
2787
2788         PR bootstrap/17761
2789         * lcm.c (optimize_mode_switching): Update to use EDGE_SUCC and
2790         FOR_EACH_EDGE macros.
2791
2792 2004-09-30  Joseph S. Myers  <jsm@polyomino.org.uk>
2793
2794         * c-tree.h (readonly_error): Remove.
2795         * c-typeck (enum lvalue_use): New.
2796         (lvalue_or_else, readonly_error): Use it.  All callers changed.
2797         (readonly_error): Make static.
2798
2799 2004-09-30  Jan Hubicka  <jh@suse.cz>
2800
2801         PR debug/13974
2802         * cfgrtl.c (try_redirect_by_replacing_jump,
2803         force_nonfallthru_and_redirect, commit_one_edge_insertion,
2804         cfg_layout_merge_blocks):  Do not attach any line number information
2805         to newly inserted instructions.
2806         * emit-rtl.c (emit_insn*_before, emit_insn*_after): Rename to
2807         emit_insn_*_noloc.
2808         (emit_*insn_before, emit_insn*_after): New.
2809         (emit_*insn_before_setloc, emit_*insn_after_setloc): Do not overwrite
2810         existing locators.
2811         * rtl.h (emit_*insn_before_noloc, emit_*insn_after_noloc): Declare.
2812         (emit_*insn_before_sameloc, emit_*insn_after_sameloc): Kill.
2813
2814 2004-09-30  Ulrich Weigand  <uweigand@de.ibm.com>
2815
2816         * config/s390/s390-protos.h (s390_arg_frame_offset): Remove.
2817         (s390_return_address_offset): Remove.
2818         (s390_can_eliminate): Add prototype.
2819         (s390_initial_elimination_offset): Add prototype.
2820         * config/s390/s390.h (CAN_ELIMINATE): Call s390_can_eliminate.
2821         (INITIAL_ELIMINATION_OFFSET): Call s390_initial_elimination_offset.
2822         * config/s390/s390.c (s390_arg_frame_offset): Remove.
2823         (s390_return_address_offset): Remove.
2824         (s390_can_eliminate, s390_initial_elimination_offset): New functions.
2825         (struct machine_function): New member split_branches_pending_p.
2826         (s390_mainpool_start): Allow nonexistant pool insn for empty pool.
2827         (s390_mainpool_finish): Likewise.  Clear base_reg if pool empty.
2828         (s390_optimize_prologue): Remove base_used argument.  Call
2829         s390_update_frame_layout instead of s390_register_info.  Handle
2830         prologue/epilogue insns that touch only RETURN_REGNUM.
2831         (s390_reorg): Remove base_used.  Clear split_branches_pending_p.
2832         (s390_register_info): Remove base_used and return_addr_used
2833         arguments, compute special register usage inline.  Return live
2834         register data to caller.
2835         (s390_frame_info): Remove arguments, do not call s390_register_info.
2836         (s390_init_frame_layout): New function.
2837         (s390_update_frame_layout): Likewise.
2838         (s390_emit_prologue): Call s390_update_frame_layout; some code
2839         move to there.  Do not emit pool placeholder insn if unnecessary.
2840
2841 2004-09-30  Ulrich Weigand  <uweigand@de.ibm.com>
2842
2843         * config/s390/s390.c (legitimate_reload_constant_p): Remove
2844         floating point constant workaround.
2845         (s390_secondary_input_reload_class): Handle PLUS reloads
2846         with too-large constant.
2847         (s390_expand_plus_operand): Likewise.
2848         * config/s390/s390.md ("movdi"): Do not call force_const_mem.
2849         ("movsi"): Likewise.  Also, remove workaround for non-general
2850         operands.
2851         ("movdf"): Do not call force_const_mem.
2852         ("movsf"): Likewise.  Merge expander with *movsf insn.
2853         ("*movsf"): Remove, merge with movsf expander.
2854
2855 2004-09-30  Paul Brook  <paul@codesourcery.com>
2856
2857         * config/arm/symbian.h (STARTFILE_SPEC): Remove crt*.o.
2858         (ENDFILE_SPEC): Define.
2859         * config/arm/t-symbian.h (EXTRA_MULTILIB_PARTS): Set.
2860
2861 2004-09-30  Richard Henderson  <rth@redhat.com>
2862
2863         * config/alpha/qrnnd.asm: Mark for noexecstack.
2864
2865 2004-09-30  Kazu Hirata  <kazu@cs.umass.edu>
2866
2867         * protoize.c, tree-cfg.c: Fix comment typos.
2868
2869 2004-09-30  Joseph S. Myers  <jsm@polyomino.org.uk>
2870
2871         PR c/17730
2872         * c-typeck.c (lvalue_or_else): Pass msgid directly to error.
2873
2874 2004-09-30  Diego Novillo  <dnovillo@redhat.com>
2875
2876         * tree-ssa-alias.c (collect_points_to_info_r): Move analysis of
2877         expressions...
2878         (add_pointed_to_expr): ... here.
2879         Call add_pointed_to_expr for variables with DECL_INITIAL set.
2880         * tree-dfa.c (add_referenced_var): Scan DECL_INITIAL of any
2881         pointer variable, if set.
2882
2883 2004-09-30  Kazu Hirata  <kazu@cs.umass.edu>
2884
2885         * config/sh/sh.c: Follow spelling conventions.
2886
2887 2004-09-29  Richard Henderson  <rth@redhat.com>
2888
2889         * unwind-dw2.c (_Unwind_GetGR): Honor DWARF_ZERO_REG.
2890         * doc/tm.texi (DWARF_ZERO_REG): New.
2891
2892         * config/alpha/alpha.c (alpha_sa_mask, alpha_expand_prologue,
2893         alpha_expand_epilogue): Revert 2003-09-30 change to store zero.
2894         * config/alpha/alpha.h (DWARF_ZERO_REG): New.
2895
2896 2004-09-29  Ulrich Weigand  <uweigand@de.ibm.com>
2897
2898         * builtins.c (expand_builtin_strlen): Do not call emit_move_insn
2899         with a PLUS as source operand.
2900         (expand_movstr): Likewise.
2901         (expand_builtin_stpcpy): Likewise.
2902
2903 2004-09-29  Richard Henderson  <rth@redhat.com>
2904
2905         PR 17739
2906         * tree-gimple.c (is_gimple_reg): Reject hard registers.
2907         (is_gimple_asm_val): New.
2908         * tree-gimple.h (is_gimple_asm_val): Declare.
2909         * gimplify.c (gimplify_asm_expr): Use it.
2910         * tree-pretty-print.c (print_declaration): Dump hard regs.
2911         * tree-outof-ssa.c (check_replaceable): Don't check for hard regs.
2912         * tree-ssa-copyrename.c (copy_rename_partition_coalesce): Likewise.
2913         * tree-ssa-pre.c (is_undefined_value): Likewise.
2914         * tree-ssa-copy.c (may_propagate_copy): Likewise.
2915         (may_propagate_copy_into_asm): Protect DECL_HARD_REGISTER.
2916         * tree-ssa.c (warn_uninit): Likewise.
2917         * tree.h (DECL_HARD_REGISTER): Check for VAR_DECL.
2918
2919 2004-09-29  Fariborz Jahanian <fjahanian@apple.com>
2920
2921         * c-decl.c (merge_decls): Use comptype when comparing
2922         types to decide on DECL_SIZE save of olddecl.
2923
2924 2004-09-29  Daniel Berlin  <dberlin@dberlin.org>
2925
2926         * tree.h (INDIRECT_REF_P): New macro.
2927         * alias.c (get_alias_set): Use it
2928         (nonoverlapping_memrefs_p): Ditto.
2929         * emit-rtl.c (mem_expr_equal_p): Ditto.
2930         (set_mem_attributes_minus_bitpos): Ditto.
2931         (is_gimple_addressable): Ditto.
2932         (get_base_address): Ditto.
2933         * tree-ssa-alias.c (find_ptr_derefernece): Ditto.
2934         * tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Ditto.
2935         * tree-ssa-dom.c (record_equivalences_from_stmt): Ditto.
2936         * tree-ssa-loop-im.c (is_call_clobbered_ref): Ditto.
2937         * tree-ssa-loop-ivopts.c (find_interesting_uses_address): Ditto.
2938         (add_address_candidates): Ditto.
2939         (rewrite_address_base): Ditto.
2940
2941 2004-09-30  Ben Elliston  <bje@au.ibm.com>
2942
2943         * tree-flow.h (struct bb_ann_d): Remove num_preds member.
2944         * tree-into-ssa.c (rewrite_into_ssa): Don't set it.
2945         (rewrite_ssa_into_ssa): Likewise.
2946         * tree-phinodes.c (create_phi_node): Access the number of
2947         predecessor edges using EDGE_COUNT() and not num_preds.
2948
2949 2004-09-29  Joseph S. Myers  <jsm@polyomino.org.uk>
2950
2951         PR c/7425
2952         * c-decl.c (merge_decls): Merge TREE_DEPRECATED.
2953
2954 2004-09-29  Eric Christopher  <echristo@redhat.com>
2955
2956         * fold-const.c (tree_swap_operands_p): Remove duplicated code.
2957
2958 2004-09-29  Hans-Peter Nilsson  <hp@axis.com>
2959
2960         * config/cris/cris.md (moverside, movemside): With MEM, make sure
2961         the address is (plus reg mem).
2962
2963 2004-09-29  David Edelsohn  <edelsohn@gnu.org>
2964
2965         * config/rs6000/linux64.h (PROCESSOR_DEFAULT): Define.
2966
2967 2004-09-29  Nathan Sidwell  <nathan@codesourcery.com>
2968
2969         * tree.c (make_node_stat): Fix uninitialized warning.  Replace
2970         cascaded if ... else if with a switch.
2971
2972 2004-09-29  Aaron W. LaFramboise  <aaronavay62@aaronwl.com>
2973
2974         * read-rtl.c (apply_macro_to_string): Replace index with strchr.
2975
2976 2004-09-29  Jakub Jelinek  <jakub@redhat.com>
2977
2978         * tree.h (enum tree_index): Add TI_VA_LIST_GPR_COUNTER_FIELD
2979         and TI_VA_LIST_FPR_COUNTER_FIELD.
2980         (va_list_gpr_counter_field, va_list_fpr_counter_field): Define.
2981         * tree-pass.h (pass_stdarg): Add.
2982         * tree-optimize.c (init_tree_optimization_passes): Add pass_stdarg.
2983         * tree-stdarg.c: New file.
2984         * Makefile.in (OBJS-common): Add tree-stdarg.o.
2985         (tree-stdarg.o): Add dependencies.
2986         * function.h (struct function): Add va_list_gpr_size and
2987         va_list_fpr_size fields.
2988         * function.c (allocate_struct_function): Initialize them.
2989
2990         * config/i386/i386.c (ix86_build_builtin_va_list): Initialize
2991         va_list_{g,f}pr_counter_field.
2992         (ix86_setup_incoming_varargs): Don't do anything if reg_save
2993         area will not be used.  Only save registers that tree-stdarg.c
2994         detected they need saving.
2995         (ix86_va_start): Don't set up fields that won't be used.
2996
2997         * config/rs6000/rs6000.c (rs6000_build_builtin_va_list): Initialize
2998         va_list_{g,f}pr_counter_field.
2999         (setup_incoming_varargs): Don't do anything if reg_save
3000         area will not be used.  Only save registers that tree-stdarg.c
3001         detected they need saving.
3002         (rs6000_va_start): Don't set up fields that won't be used.
3003
3004 2004-09-29  Jakub Jelinek  <jakub@redhat.com>
3005
3006         * builtins.def (BUILT_IN_FPUTC, BUILT_IN_FPUTC_UNLOCKED,
3007         BUILT_IN_FPUTS, BUILT_IN_FPUTS_UNLOCKED, BUILT_IN_FWRITE,
3008         BUILT_IN_FWRITE_UNLOCKED, BUILT_IN_PUTCHAR, BUILT_IN_PUTCHAR_UNLOCKED,
3009         BUILT_IN_PUTS, BUILT_IN_PUTS_UNLOCKED): Remove nothrow attribute.
3010         * builtin-attrs.def (ATTR_NONNULL_1, ATTR_NONNULL_2, ATTR_NONNULL_1_2,
3011         ATTR_NONNULL_1_4): New.
3012
3013 2004-09-29  Jakub Jelinek  <jakub@redhat.com>
3014
3015         PR tree-optimization/17697
3016         * tree-ssa-ccp.c (execute_fold_all_builtins): Update eh and cleanup
3017         cfg if needed.
3018
3019 2004-09-28  Per Bothner  <per@bothner.com>
3020
3021         * profile.c (branch_prob): Pass correct value to output_location,
3022         even when USE_MAPPED_LOCATION.  Fixes bug from 09-11.
3023
3024 2004-09-28  Richard Henderson  <rth@redhat.com>
3025
3026         PR 15089
3027         * tree-ssa-copy.c (may_propagate_copy_into_asm): New.
3028         * tree-flow.h (may_propagate_copy_into_asm): Declare.
3029         * tree-ssa-ccp.c (replace_uses_in): Use it.
3030         * tree-ssa-dom.c (cprop_operand): Likewise.
3031
3032 2004-09-28 Jeff Law  <law@redhat.com>
3033
3034         * tree-ssa-threadupdate.c (create_block_for_threading):  Request
3035         that no outgoing edges be left in the duplicate block.  Do no
3036         update information on outgoing edges or PHI nodes in target
3037         blocks here.
3038         (remove_ctrl_stmt_and_useless_edges): Renamed from
3039         remove_last_stmt_and_useless_edges.  Handle case where the
3040         block is empty or has no control statements.  Do not update edge
3041         flags here.
3042         (thread_block): Create a template block rather than copying the
3043         original block every time.  Create outgoing edges from the
3044         duplicate blocks and update PHIs at the target of the outgoing
3045         edges here.  Fix edge flags for the original block if necessary.
3046         * cfghooks (duplicate_block): No longer assert that the original
3047         block has incoming edges.
3048
3049 2004-09-29  Hans-Peter Nilsson  <hp@bitrange.com>
3050
3051         * doc/extend.texi (Extended Asm): Add blurb about using Explicit
3052         Reg Vars to enforce register allocation with general constraints.
3053         (Explicit Reg Vars): Clarify relation to asm statements.
3054         (Local Reg Vars): Similar.
3055
3056 2004-09-28  Ulrich Weigand  <uweigand@de.ibm.com>
3057
3058         * sched-rgn.c (haifa_edge, edge_table, NEXT_IN, NEXT_OUT, FROM_BLOCK,
3059         TO_BLOCK, nr_edges, in_edges, out_edges, IN_EDGES, OUT_EDGES,
3060         build_control_flow, new_edge): Remove.
3061         (schedule_insns): Remove edge_table/in_edges/out_edges cleanup.
3062         (bitlst, bitlst_table_last, bitlst_table): Remove.
3063         (bblst): Store basic_block pointer instead of block index.
3064         (bblst_table): Likewise.
3065         (edgelst): Store edge pointer instead of edge index.
3066         (edgelst_table, edgelst_last): New variables.
3067         (extract_bitlst): Rename to ...
3068         (extract_edgelst): ... this.  Return edge pointers, not indices.
3069         (split_edges): Update call.
3070         (rgn_edges): Store edge pointers instead of indices.
3071         (edge_to_bit): Remove.
3072         (EDGE_TO_BIT): Store per-region edge index in edge->aux.
3073         (SET_EDGE_TO_BIT): New macro.
3074         (is_cfg_nonregular): Check for simple cases of unreachable blocks.
3075         (find_rgns): Remove edge_list parameter.  Traverse standard CFG
3076         data structures instead of haifa_edge et al.  Use edge pointers
3077         instead of edge indices everywhere.
3078         (compute_dom_prob_ps): Use standard CFG data structures.  Account
3079         for exit edges.
3080         (compute_trg_info): Likewise.
3081         (propagate_deps): Likewise.
3082         (debug_candidate): Account for bblst data structure change.
3083         (check_live_1, update_live_1, is_pfree): Likewise.
3084         (IS_REACHABLE): Use standard CFG data structures.
3085         (init_ready_list): Update bblst_table/edgelst_table allocation.
3086         (schedule_region): Update alloc/cleanup code to data structure
3087         changes.  Use edge->aux to store per-region edge index.
3088         (init_regions): No longer call build_control_flow.  Do not
3089         create edge list any more.
3090
3091 2004-09-28  Ulrich Weigand  <uweigand@de.ibm.com>
3092
3093         * cse.c (cse_insn): Avoid creating direct non-local jumps.
3094         * combine.c (can_combine_p): Likewise.
3095         * local-alloc. (update_equiv_regs): Likewise.
3096
3097 2004-09-28  Richard Henderson  <rth@redhat.com>
3098
3099         PR 17531
3100         * expr.c (expand_expr_addr_expr_1): Only assemble_external for decls.
3101         Don't check VOIDmode here.  Force PLUS operands to common type.
3102         (expand_expr_addr_expr): Do VOIDmode check earlier.  Force use of
3103         Pmode if given a non pointer type.
3104
3105 2004-09-28  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
3106
3107         PR 17531
3108         * optabs.c (expand_binop): Force constants to the correct mode.
3109
3110 2004-09-28  Ulrich Weigand  <uweigand@de.ibm.com>
3111
3112         * config/s390/s390.c (s390_adjust_cost): Remove.
3113         (TARGET_SCHED_ADJUST_COST): Do not redefine.
3114         (s390_adjust_priority): Handle TYPE_STM like TYPE_STORE.
3115         * config/s390/s390.md ("main_pool"): Use "larl" type
3116         attribute if TARGET_CPU_ZARCH.
3117
3118 2004-09-28  Jakub Jelinek  <jakub@redhat.com>
3119
3120         * config/ia64/ia64.c (ia64_expand_prologue): Declare ei
3121         variable.
3122
3123 2004-09-28  Diego Novillo  <dnovillo@redhat.com>
3124
3125         * tree-ssa-loop.c (pass_record_bounds): Do not assign a
3126         name to the pass.
3127
3128 2004-09-28  Steven Bosscher  <stevenb@suse.de>
3129
3130         * common.opt (flag_gcse_sm): Disable by default.
3131         (flag_gcse_las): Likewise.
3132         (flag_web): Likewise.  Create from this file.
3133         * flags.h: Remove flag_web declaration.
3134         * toplev.c (flag_web): Likewise.
3135         (process_options): Never set flag_web.
3136
3137 2004-09-28  Steven Bosscher  <stevenb@suse.de>
3138
3139         * Makefile.in (tree-ssa-propagate.o): Depend on vec.h.
3140         * tree-ssa-propagate.c: Include vec.h.
3141         (interesting_ssa_edges, varying_ssa_edges): Make these VECs
3142         instead of varrays.
3143         (cfg_blocks_add): Assert the block is not already in the worklist.
3144         Update uses of interesting_ssa_edges and varying_ssa_edges.
3145         (process_ssa_edge_worklist, ssa_prop_init, ssa_prop_fini,
3146         ssa_propagate): Likewise.
3147
3148 2004-09-28  Joseph S. Myers  <jsm@polyomino.org.uk>
3149
3150         PR c/16409
3151         * c-decl.c (start_decl): Check for initializing incomplete array
3152         of VLAs.
3153         (build_compound_literal): Check for TYPE being error_mark_node.
3154         * c-parse.in (primary): Check for VLA compound literals.
3155
3156 2004-09-28  Diego Novillo  <dnovillo@redhat.com>
3157
3158         * tree-ssa-live.c (calculate_live_on_entry): Fix warnings
3159         with --disable-checking.
3160
3161 2004-09-28  Devang Patel  <dpatel@apple.com>
3162
3163         * tree-pretty-print.c (dump_generic_node): Print vector types.
3164
3165 2004-09-28  Nick Clifton  <nickc@redhat.com>
3166
3167         * config/sh/sh.h (INIT_CUMULATIVE_ARGS): Replace with an
3168         invocation of the function sh_init_cumulative_args.
3169         (INIT_CUMULATIVE_LIBCALL_ARGS): Likewise.
3170         (INIT_CUMULATIVE_INCOMING_ARGS): Delete.
3171         * config/sh/sh-protos.h: Prototype sh_init_cumulative_args.
3172         * config/sh/sh.c (sh_init_cumulative_args): New function based
3173         on the contents of the old INIT_CUMULATIVE_ARGS macro but with a
3174         heuristic added to determine the setting of force_mem when a
3175         library function is being called.
3176
3177 2004-09-28  Diego Novillo  <dnovillo@redhat.com>
3178
3179         * tree-ssa-loop-im.c (single_reachable_address) <PHI_NODE>:
3180         Skip constant arguments.
3181
3182 2004-09-28  Diego Novillo  <dnovillo@redhat.com>
3183
3184         * tree-ssa-alias.c (create_name_tags): If PTR points to a
3185         volatile type, mark the tag volatile.
3186         (get_tmt_for): If TAG_TYPE is a volatile type, mark the tag
3187         volatile.
3188
3189 2004-09-28  Andrew Pinski  <pinskia@physics.uc.edu>
3190
3191         * tree.def (vec_cond_expr): Fix. Change 'e'
3192         to tcc_expression.
3193
3194 2004-09-28  Kazu Hirata  <kazu@cs.umass.edu>
3195
3196         * basic-block.h: Fix a comment typo.
3197
3198 2004-09-28  Kazu Hirata  <kazu@cs.umass.edu>
3199
3200         * optabs.c, optabs.h: Fix comment typos.
3201
3202 2004-09-28  Eric Botcazou  <ebotcazou@act-europe.fr>
3203
3204         * config/sparc/sparc.md (call_address_struct_value_sp32):
3205         Properly mask the immediate field of the 'unimp' instruction.
3206         (call_symbolic_struct_value_sp32): Likewise.
3207
3208 2004-09-28  Ben Elliston  <bje@au.ibm.com>
3209             Steven Bosscher  <stevenb@suse.de>
3210             Andrew Pinski  <pinskia@physics.uc.edu>
3211
3212         Merge from edge-vector-branch:
3213         * basic-block.h: Include vec.h, errors.h. Instantiate a VEC(edge).
3214         (struct edge_def): Remove pred_next, succ_next members.
3215         (struct basic_block_def): Remove pred, succ members.  Add preds
3216         and succs members of type VEC(edge).
3217         (FALLTHRU_EDGE): Redefine using EDGE_SUCC.
3218         (BRANCH_EDGE): Likewise.
3219         (EDGE_CRITICAL_P): Redefine using EDGE_COUNT.
3220         (EDGE_COUNT, EDGE_I, EDGE_PRED, EDGE_SUCC): New.
3221         (edge_iterator): New.
3222         (ei_start, ei_last, ei_end_p, ei_one_before_end_p): New.
3223         (ei_next, ei_prev, ei_edge, ei_safe_edge): Likewise.
3224         (FOR_EACH_EDGE): New.
3225         * bb-reorder.c (find_traces): Use FOR_EACH_EDGE and EDGE_* macros
3226         where applicable.
3227         (rotate_loop): Likewise.
3228         (find_traces_1_route): Likewise.
3229         (bb_to_key): Likewise.
3230         (connect_traces): Likewise.
3231         (copy_bb_p): Likewise.
3232         (find_rarely_executed_basic_blocks_and_crossing_edges): Likewise.
3233         (add_labels_and_missing_jumps): Likewise.
3234         (fix_up_fall_thru_edges): Likewise.
3235         (find_jump_block): Likewise.
3236         (fix_crossing_conditional_branches): Likewise.
3237         (fix_crossing_unconditional_branches): Likewise.
3238         (add_reg_crossing_jump_notes): Likewise.
3239         * bt-load.c (augment_live_range): Likewise.
3240         * cfg.c (clear_edges): Likewise.
3241         (unchecked_make_edge): Likewise.
3242         (cached_make_edge): Likewise.
3243         (make_single_succ_edge): Likewise.
3244         (remove_edge): Likewise.
3245         (redirect_edge_succ_nodup): Likewise.
3246         (check_bb_profile): Likewise.
3247         (dump_flow_info): Likewise.
3248         (alloc_aux_for_edges): Likewise.
3249         (clear_aux_for_edges): Likewise.
3250         (dump_cfg_bb_info): Likewise.
3251         * cfganal.c (forwarder_block_p): Likewise.
3252         (can_fallthru): Likewise.
3253         (could_fall_through): Likewise.
3254         (mark_dfs_back_edges): Likewise.
3255         (set_edge_can_fallthru_flag): Likewise.
3256         (find_unreachable_blocks): Likewise.
3257         (create_edge_list): Likewise.
3258         (verify_edge_list): Likewise.
3259         (add_noreturn_fake_exit_edges): Likewise.
3260         (connect_infinite_loops_to_exit): Likewise.
3261         (flow_reverse_top_sort_order_compute): Likewise.
3262         (flow_depth_first_order_compute): Likewise.
3263         (flow_preorder_transversal_compute): Likewise.
3264         (flow_dfs_compute_reverse_execute): Likewise.
3265         (dfs_enumerate_from): Likewise.
3266         (compute_dominance_frontiers_1): Likewise.
3267         * cfgbuild.c (make_edges): Likewise.
3268         (compute_outgoing_frequencies): Likewise.
3269         (find_many_sub_basic_blocks): Likewise.
3270         (find_sub_basic_blocks): Likewise.
3271         * cfgcleanup.c (try_simplify_condjump): Likewise.
3272         (thread_jump): Likewise.
3273         (try_forward_edges): Likewise.
3274         (merge_blocks_move): Likewise.
3275         (outgoing_edges_match): Likewise.
3276         (try_crossjump_to_edge): Likewise.
3277         (try_crossjump_bb): Likewise.
3278         (try_optimize_cfg): Likewise.
3279         (merge_seq_blocks): Likewise.
3280         * cfgexpand.c (expand_gimple_tailcall): Likewise.
3281         (expand_gimple_basic_block): Likewise.
3282         (construct_init_block): Likewise.
3283         (construct_exit_block): Likewise.
3284         * cfghooks.c (verify_flow_info): Likewise.
3285         (dump_bb): Likewise.
3286         (delete_basic_block): Likewise.
3287         (split_edge): Likewise.
3288         (merge_blocks): Likewise.
3289         (make_forwarder_block): Likewise.
3290         (tidy_fallthru_edges): Likewise.
3291         (can_duplicate_block_p): Likewise.
3292         (duplicate_block): Likewise.
3293         * cfglayout.c (fixup_reorder_chain): Likewise.
3294         (fixup_fallthru_exit_predecessor): Likewise.
3295         (can_copy_bbs_p): Likewise.
3296         (copy_bbs): Likewise.
3297         * cfgloop.c (flow_loops_cfg_dump): Likewise.
3298         (flow_loop_entry_edges_find): Likewise.
3299         (flow_loop_exit_edges_find): Likewise.
3300         (flow_loop_nodes_find): Likewise.
3301         (mark_single_exit_loops): Likewise.
3302         (flow_loop_pre_header_scan): Likewise.
3303         (flow_loop_pre_header_find): Likewise.
3304         (update_latch_info): Likewise.
3305         (canonicalize_loop_headers): Likewise.
3306         (flow_loops_find): Likewise.
3307         (get_loop_body_in_bfs_order): Likewise.
3308         (get_loop_exit_edges): Likewise.
3309         (num_loop_branches): Likewise.
3310         (verify_loop_structure): Likewise.
3311         (loop_latch_edge): Likewise.
3312         (loop_preheader_edge): Likewise.
3313         * cfgloopanal.c (mark_irreducible_loops): Likewise.
3314         (expected_loop_iterations): Likewise.
3315         * cfgloopmanip.c (remove_bbs): Likewise.
3316         (fix_bb_placement): Likewise.
3317         (fix_irreducible_loops): Likewise.
3318         (remove_path): Likewise.
3319         (scale_bbs_frequencies): Likewise.
3320         (loopify): Likewise.
3321         (unloop): Likewise.
3322         (fix_loop_placement): Likewise.
3323         (loop_delete_branch_edge): Likewise.
3324         (duplicate_loop_to_header_edge): Likewise.
3325         (mfb_keep_just): Likewise.
3326         (create_preheader): Likewise.
3327         (force_single_succ_latches): Likewise.
3328         (loop_split_edge_with): Likewise.
3329         (create_loop_notes): Likewise.
3330         * cfgrtl.c (rtl_split_block): Likewise.
3331         (rtl_merge_blocks): Likewise.
3332         (rtl_can_merge_blocks): Likewise.
3333         (try_redirect_by_replacing_jump): Likewise.
3334         (force_nonfallthru_and_redirect): Likewise.
3335         (rtl_tidy_fallthru_edge): Likewise.
3336         (commit_one_edge_insertion): Likewise.
3337         (commit_edge_insertions): Likewise.
3338         (commit_edge_insertions_watch_calls): Likewise.
3339         (rtl_verify_flow_info_1): Likewise.
3340         (rtl_verify_flow_info): Likewise.
3341         (purge_dead_edges): Likewise.
3342         (cfg_layout_redirect_edge_and_branch): Likewise.
3343         (cfg_layout_can_merge_blocks_p): Likewise.
3344         (rtl_flow_call_edges_add): Likewise.
3345         * cse.c (cse_cc_succs): Likewise.
3346         * df.c (hybrid_search): Likewise.
3347         * dominance.c (calc_dfs_tree_nonrec): Likewise.
3348         (calc_dfs_tree): Likewise.
3349         (calc_idoms): Likewise.
3350         (recount_dominator): Likewise.
3351         * domwalk.c (walk_dominator_tree): Likewise.
3352         * except.c (emit_to_new_bb_before): Likewise.
3353         (connect_post_landing_pads): Likewise.
3354         (sjlj_emit_function_enter): Likewise.
3355         (sjlj_emit_function_exit): Likewise.
3356         (finish_eh_generation): Likewise.
3357         * final.c (compute_alignments): Likewise.
3358         * flow.c (calculate_global_regs_live): Likewise.
3359         (initialize_uninitialized_subregs): Likewise.
3360         (init_propagate_block_info): Likewise.
3361         * function.c (thread_prologue_and_epilogue_insns): Likewise.
3362         * gcse.c (find_implicit_sets): Likewise.
3363         (bypass_block): Likewise.
3364         (bypass_conditional_jumps): Likewise.
3365         (compute_pre_data): Likewise.
3366         (insert_insn_end_bb): Likewise.
3367         (insert_store): Likewise.
3368         (remove_reachable_equiv_notes): Likewise.
3369         * global.c (global_conflicts): Likewise.
3370         (calculate_reg_pav): Likewise.
3371         * graph.c (print_rtl_graph_with_bb): Likewise.
3372         * ifcvt.c (mark_loop_exit_edges): Likewise.
3373         (merge_if_block): Likewise.
3374         (find_if_header): Likewise.
3375         (block_jumps_and_fallthru_p): Likewise.
3376         (find_if_block): Likewise.
3377         (find_cond_trap): Likewise.
3378         (block_has_only_trap): Likewise.
3379         (find_if_case1): Likewise.
3380         (find_if_case_2): Likewise.
3381         * lambda-code.c (lambda_loopnest_to_gcc_loopnest): Likewise.
3382         (perfect_nestify): Likewise.
3383         * lcm.c (compute_antinout_edge): Likewise.
3384         (compute_laterin): Likewise.
3385         (compute_available): Likewise.
3386         (compute_nearerout): Likewise.
3387         * loop-doloop.c (doloop_modify): Likewise.
3388         * loop-init.c (loop_optimizer_init): Likewise.
3389         * loop-invariant.c (find_exits): Likewise.
3390         * loop-iv.c (simplify_using_initial_values): Likewise.
3391         (check_simple_exit): Likewise.
3392         (find_simple_exit): Likewise.
3393         * loop-unroll.c (peel_loop_completely): Likewise.
3394         (unroll_loop_constant_iterations): Likewise.
3395         (unroll_loop_runtime_iterations): Likewise.
3396         * loop-unswitch.c (may_unswitch_on): Likewise.
3397         (unswitch_loop): Likewise.
3398         * modulo-sched.c (generate_prolog_epilog): Likewise.
3399         (sms_schedule): Likewise.
3400         * postreload-gcse.c (eliminate_partially_redundant_load):
3401         Likewise.
3402         * predict.c (can_predict_insn_p): Likewise.
3403         (set_even_probabilities): Likewise.
3404         (combine_predictions_for_bb): Likewise.
3405         (predict_loops): Likewise.
3406         (estimate_probability): Likewise.
3407         (tree_predict_by_opcode): Likewise.
3408         (tree_estimate_probability): Likewise.
3409         (last_basic_block_p): Likewise.
3410         (propagate_freq): Likewise.
3411         (estimate_loops_at_level): Likewise.
3412         (estimate_bb_frequencies): Likewise.
3413         * profile.c (instrument_edges): Likewise.
3414         (get_exec_counts): Likewise.
3415         (compute_branch_probabilities): Likewise.
3416         (branch_prob): Likewise.
3417         * ra-build.c (live_in): Likewise.
3418         * ra-rewrite.c (rewrite_program2): Likewise.
3419         * ra.c (reg_alloc): Likewise.
3420         * reg-stack.c (reg_to_stack): Likewise.
3421         (convert_regs_entry): Likewise.
3422         (compensate_edge): Likewise.
3423         (convert_regs_1): Likewise,
3424         (convert_regs_2): Likewise.
3425         (convert_regs): Likewise.
3426         * regrename.c (copyprop_hardreg_forward): Likewise.
3427         * reload1.c (fixup_abnormal_edges): Likewise.
3428         * sbitmap.c (sbitmap_intersection_of_succs): Likewise.
3429         (sbitmap_insersection_of_preds): Likewise.
3430         (sbitmap_union_of_succs): Likewise.
3431         (sbitmap_union_of_preds): Likewise.
3432         * sched-ebb.c (compute_jump_reg_dependencies): Likewise.
3433         (fix_basic_block_boundaries): Likewise.
3434         (sched_ebbs): Likewise.
3435         * sched-rgn.c (build_control_flow): Likewise.
3436         (find_rgns): Likewise.
3437         * tracer.c (find_best_successor): Likewise.
3438         (find_best_predecessor): Likewise.
3439         (tail_duplicate): Likewise.
3440         * tree-cfg.c (make_edges): Likewise.
3441         (make_ctrl_stmt_edges): Likewise.
3442         (make_goto_expr_edges): Likewise.
3443         (tree_can_merge_blocks_p): Likewise.
3444         (tree_merge_blocks): Likewise.
3445         (cfg_remove_useless_stmts_bb): Likewise.
3446         (remove_phi_nodes_and_edges_for_unreachable_block): Likewise.
3447         (tree_block_forwards_to): Likewise.
3448         (cleanup_control_expr_graph): Likewise.
3449         (find_taken_edge): Likewise.
3450         (dump_cfg_stats): Likewise.
3451         (tree_cfg2vcg): Likewise.
3452         (disband_implicit_edges): Likewise.
3453         (tree_find_edge_insert_loc): Likewise.
3454         (bsi_commit_edge_inserts): Likewise.
3455         (tree_split_edge): Likewise.
3456         (tree_verify_flow_info): Likewise.
3457         (tree_make_forwarder_block): Likewise.
3458         (tree_forwarder_block_p): Likewise.
3459         (thread_jumps): Likewise.
3460         (tree_try_redirect_by_replacing_jump): Likewise.
3461         (tree_split_block): Likewise.
3462         (add_phi_args_after_copy_bb): Likewise.
3463         (rewrite_to_new_ssa_names_bb): Likewise.
3464         (dump_function_to_file): Likewise.
3465         (print_pred_bbs): Likewise.
3466         (print_loop): Likewise.
3467         (tree_flow_call_edges_add): Likewise.
3468         (split_critical_edges): Likewise.
3469         (execute_warn_function_return): L