diff options
author | John David Anglin <dave@hiauly1.hia.nrc.ca> | 2000-11-30 06:31:19 +0000 |
---|---|---|
committer | Jeff Law <law@gcc.gnu.org> | 2000-11-29 23:31:19 -0700 |
commit | 3502dc9cd31f1497d7190c96e67311c6fef33476 (patch) | |
tree | 57bdfffd7bcfb818e479c3703a8cea6288458407 /gcc/rtl.h | |
parent | 31a7659bfda8246f1ac518cab9fe920842de292f (diff) | |
download | gcc-3502dc9cd31f1497d7190c96e67311c6fef33476.zip gcc-3502dc9cd31f1497d7190c96e67311c6fef33476.tar.gz gcc-3502dc9cd31f1497d7190c96e67311c6fef33476.tar.bz2 |
function.h (emit_status): Delete member regno_pointer_flag and rename regno_pointer_flag_length to...
* function.h (emit_status): Delete member regno_pointer_flag and
rename regno_pointer_flag_length to regno_pointer_align_length.
Delete define for REGNO_POINTER_FLAG.
* integrate.h (inline_remap): Delete member regno_pointer_flag.
Add member x_regno_reg_rtx.
* rtl.h (rtx_def): Use frame_related bit to indicate register is
a pointer in REG expressions. Define REG_POINTER macro.
* alias.c (find_base_value, find_base_term): Use REG_POINTER
instead of REGNO_POINTER_FLAG.
* combine.c (nonzero_bits, num_sign_bit_copies): Likewise.
* emit-rtl.c (gen_reg_rtx): Use regno_pointer_align_length instead
of regno_pointer_flag_length. Remove code which refers to
regno_pointer_flag.
(mark_reg_pointer): Use REG_POINTER.
(free_emit_status): Remove code which refers to regno_pointer_flag.
(init_emit, mark_emit_status): Likewise.
* flow.c (dump_flow_info): Likewise.
* function.c (preserve_temp_slots): Likewise.
* integrate.c (expand_inline_function, copy_rtx_and_substitute):
Use x_regno_reg_rtx instead of regno_pointer_flag for function
pointer determination in map.
* loop.c (strength_reduce, maybe_eliminate_biv_1): Use REG_POINTER.
* predict.c (estimate_probability): Likewise.
* regclass.c (record_address_regs, reg_scan_mark_refs): Likewise.
* unroll.c (unroll_loop): Use x_regno_reg_rtx instead of
regno_pointer_flag for function pointer determination in map.
* convex.h (RTX_COSTS): Don't test regno_pointer_flag and use
REG_POINTER.
* pa.c (hppa_legitimize_address, emit_move_sequence, basereg_operand):
Use REG_POINTER.
(restore_unscaled_index_insn_codes): Revise comment.
From-SVN: r37863
Diffstat (limited to 'gcc/rtl.h')
-rw-r--r-- | gcc/rtl.h | 4 |
1 files changed, 4 insertions, 0 deletions
@@ -169,6 +169,7 @@ typedef struct rtx_def restoring registers in the prologue and epilogue. 1 in a MEM if the MEM refers to a scalar, rather than a member of an aggregate. + 1 in a REG if the register is a pointer. 1 in a SYMBOL_REF if it addresses something in the per-function constant string pool. */ unsigned frame_related : 1; @@ -749,6 +750,9 @@ 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 in a REG rtx if the register is a pointer. */ +#define REG_POINTER(RTX) ((RTX)->frame_related) + /* 1 if the given register REG corresponds to a hard register. */ #define HARD_REGISTER_P(REG) (HARD_REGISTER_NUM_P (REGNO (REG))) |