diff options
author | Jeffrey D. Oldham <oldham@codesourcery.com> | 2000-07-31 17:33:28 +0000 |
---|---|---|
committer | Mark Mitchell <mmitchel@gcc.gnu.org> | 2000-07-31 17:33:28 +0000 |
commit | cdbca1727ce8d428964efcb2f20ee82142a2c762 (patch) | |
tree | 83e57a212d3697073b5085968a2756f1ce420f82 /gcc/rtl.h | |
parent | ca47b7399421f0f36255d95f50953444b6812e11 (diff) | |
download | gcc-cdbca1727ce8d428964efcb2f20ee82142a2c762.zip gcc-cdbca1727ce8d428964efcb2f20ee82142a2c762.tar.gz gcc-cdbca1727ce8d428964efcb2f20ee82142a2c762.tar.bz2 |
Makefile.in (ssa.o): Updated header files in dependences.
* 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
Diffstat (limited to 'gcc/rtl.h')
-rw-r--r-- | gcc/rtl.h | 6 |
1 files changed, 6 insertions, 0 deletions
@@ -716,6 +716,12 @@ extern const char * const note_insn_name[NOTE_INSN_MAX - NOTE_INSN_BIAS]; /* 1 in a REG rtx if it corresponds to a variable declared by the user. */ #define REG_USERVAR_P(RTX) ((RTX)->volatil) +/* 1 if the given register REG corresponds to a hard register. */ +#define HARD_REGISTER_P(REG) (HARD_REGISTER_NUM_P (REGNO (REG))) + +/* 1 if the given register number REG_NO corresponds to a hard register. */ +#define HARD_REGISTER_NUM_P(REG_NO) (REG_NO < FIRST_PSEUDO_REGISTER) + /* For a CONST_INT rtx, INTVAL extracts the integer. */ #define INTVAL(RTX) XCWINT(RTX, 0, CONST_INT) |