OSDN Git Service

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