OSDN Git Service

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