* rtl.h (enum reg_note): Add REG_MAYBE_DEAD.
* rtl.c (reg_note_name): Add REG_MAYBE_DEAD.
* flow.c (propagate_one_insn): Allow deletion of prologue/epilogue
insns if they have a REG_MAYBE_DEAD note attached.
* config/rs6000/rs6000.c (rs6000_maybe_dead): New function.
(rs6000_emit_load_toc_table): TOC loads may go dead.
From-SVN: r35414
* config/ia64/ia64.c (ia64_function_arg): Fix last change. Verify
type exists before using it. Use number of words as alignment
otherwise.
(ia64_function_arg_partial_nregs, ia64_function_arg_advance,
ia64_va_arg): Propagate ia64_function_args changes here.
From-SVN: r35413
* sh.h (CPP_SPEC, TARGET_SWITCHES): Add m4-nofpu.
* sh.md (udivsi3, divsi3): Don't use libcalls that use the FPU
unless TARGET_SH3E is set.
* t-sh (MULTILIB_MATCHES): Add m2=m4-nofpu.
* sh.md (ashlsi3_d, ashlsi3_k): Remove, replace with
(ashlsi3_std): New pattern.
(ashlsi3 expander): Use it for TARGET_SH3.
* sh.c (gen_ashift): Use it instead of ashlsi3_k.
From-SVN: r35411
2000-08-01 Benjamin Kosnik <bkoz@purist.soma.redhat.com>
* docs/install.html: Edit bits about requiring a special version
of the autotools.
From-SVN: r35410
* ltconfig, ltmain.sh: Update from libtool multi-language branch.
* ltcf-c.sh (need_lc): Fix test message. Set wl for archive_cmds.
(ac_cv_prog_cc_pic): Don't print `cached' without `checking'.
* ltcf-cxx.sh (need_lc): Set based on postdeps.
From-SVN: r35405
* loop.c (check_dbra_loop): Make change from July 17, 2000 work
on targets which need more than one insn for a compare/cbranch
operation.
From-SVN: r35404
* flow.c (clear_log_links): Nuke global_live_at_start and
global_live_at_end data, since if the log_links stuff is invalid
so is global_live_at_*.
From-SVN: r35396
2000-07-31 Jakub Jelinek <jakub@redhat.com>
* cpplex.c (_cpp_get_line): If index is 0, return line 0 col 0.
(_cpp_get_token): Don't macro expand a just pasted token if it
was pasted at no_expand_level.
* testsuite/gcc.dg/cpp/paste7.c: New test.
2000-07-31 Zack Weinberg <zack@wolery.cumb.org>
* cppmacro.c (find_param, count_params, save_expansion):
Permit 'defined' as a macro parameter name.
From-SVN: r35394
* gcc.dg/c90-digraph-1.c: Restore { dg-do run } marker.
* gcc.dg/noncompile/990416-1.c: Do not expect an implicit-
declaration warning for __builtin_dwarf_reg_size.
From-SVN: r35387
* c-decl.c (mesg_implicit_function_declaration): Init to -1.
(implicit_decl_warning): New function.
(implicitly_declare): Use it.
* c-typeck.c (build_external_ref): Use implicit_decl_warning
to complain about implicit decls of builtins.
* c-lang.c (lang_init): Set mesg_implicit_function_declaration
based on pedantic && flag_isoc99, if not already set.
* c-tree.h: Declare mesg_implicit_function_declaration.
Prototype implicit_decl_warning.
* gcc.dg/c99-impl-decl-1.c: No longer XFAIL.
From-SVN: r35385
* Makefile.in (ssa.o): Updated header files in dependences.
* basic-block.h: Added compute_immediate_postdominators declaration.
* config/i386/i386.h (CONVERT_HARD_REGISTER_TO_SSA_P): Added
definition.
* flow.c (compute_immediate_dominators): Updated comment.
(compute_immediate_postdominators): Added definition.
* rtl.h (HARD_REGISTER_P): Added definition.
* ssa.c: Include additional header files.
(assert): Added definition.
(ssa_rename_to_lookup): Added to reimplement ssa_rename_to to
include select hard registers.
(ssa_rename_to_insert): Likewise.
(ssa_rename_from_initialize): Likewise.
(ssa_rename_from_lookup): Likewise.
(original_register): Likewise.
(ssa_rename_from_insert): Added to reimplement ssa_rename_from to
include select hard reigsters.
(ssa_rename_from_traverse): Likewise.
(ssa_rename_from_free): Likewise.
(ssa_rename_from_print): Likewise.
(ssa_rename_from_print_1): Likewise.
(ssa_rename_from_hash_function): Likewise.
(ssa_rename_from_equal): Likewise.
(ssa_rename_from_delete): Likewise.
(simplify_to_immediate_dominators): Removed in favor of
flow.c:compute_immediate_dominators.
(find_evaluations_1): Modified to work with hard registers.
(insert_phi_node): Likewise.
(insert_phi_nodes): Likewise.
(struct rename_set_data): Updated prev_reg comment.
(create_delayed_rename): Modified to work with hard registers.
(RENAME_NO_RTX): Updated comment.
(apply_delayed_renames): Modified to work with hard registers.
(rename_insn_1): Likewise and added handling of CLOBBER rtls.
(rename_block): Updated to use revised ssa_rename_to interface.
(rename_registers): Updated to use revised ssa_rename_to and
ssa_rename_from interface.
(convert_to_ssa): Revised to use compute_immediate_dominators and
deal with hard registers.
(make_regs_equivalent_over_bad_edges): Modified to work with hard
registers. Added check for illegal unification of hard register.
(make_equivalent_phi_alternatives_equivalent): Modified to work
with hard registers.
(compute_conservative_reg_partition): Likewise.
(coalesce_if_unconflicting): Modified to work with hard registers
and check for conflicting hard registers.
(mark_phi_and_copy_regs): Revised loop to work only on pseudo
registers.
(rename_equivalent_regs_in_insn): Modified to work with hard
registers.
(record_canonical_element_1): Added definition.
(check_hard_regs_in_partition): Added definition.
(convert_from_ssa): Added data structure deallocation and check
for illegal hard register unification.
(conflict_hard_regs_p): Added definition.
* toplev.c (rest_of_compilation): Added comment.
From-SVN: r35384
* c-decl.c (get_parm_info): Don't treat 'const void', 'volatile
void' or 'register void' as being the special case of 'void' alone
in a parameter list.
From-SVN: r35377
* h8300.h (MODES_TIEABLE_P): Accept a combination of QImode and
HImode on all architectures and a combination of HImode and SImode
on H8/300H and H8/S.
From-SVN: r35372