diff options
-rw-r--r-- | gcc/regs.h | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/gcc/regs.h b/gcc/regs.h index daa012e95b5..17293d68497 100644 --- a/gcc/regs.h +++ b/gcc/regs.h @@ -1,5 +1,5 @@ /* Define per-register tables for data flow info and register allocation. - Copyright (C) 1987, 1993, 1994 Free Software Foundation, Inc. + Copyright (C) 1987, 1993, 1994, 1995 Free Software Foundation, Inc. This file is part of GNU CC. @@ -136,12 +136,23 @@ extern int *regno_last_uid; extern int *regno_last_note_uid; +/* This is reset to LAST_VIRTUAL_REGISTER + 1 at the start of each function. + After rtl generation, it is 1 plus the largest register number used. */ + +extern int reg_rtx_no; + /* Vector indexed by regno; contains 1 for a register is considered a pointer. Reloading, etc. will use a pointer register rather than a non-pointer as the base register in an address, when there is a choice of two regs. */ extern char *regno_pointer_flag; #define REGNO_POINTER_FLAG(REGNO) regno_pointer_flag[REGNO] +extern int regno_pointer_flag_length; + +/* Similarly, contains the alignment in bytes for a register that contains + a pointer, if known. */ +extern char *regno_pointer_align; +#define REGNO_POINTER_ALIGN(REGNO) regno_pointer_align[REGNO] /* List made of EXPR_LIST rtx's which gives pairs of pseudo registers that have to go in the same hard reg. */ |