From 40f954f62b05c18cec23e155d43e9cc717f1e7d0 Mon Sep 17 00:00:00 2001 From: Richard Kenner Date: Wed, 27 Dec 1995 15:21:34 -0500 Subject: (reg_rtx_no, regno_pointer_{flag_length,align): New decls. (REGNO_POINTER_ALIGN): New macro. From-SVN: r10866 --- gcc/regs.h | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) (limited to 'gcc/regs.h') diff --git a/gcc/regs.h b/gcc/regs.h index daa012e..17293d6 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. */ -- cgit v1.1