aboutsummaryrefslogtreecommitdiff
path: root/contrib/gcc/regs.h
diff options
context:
space:
mode:
authorAlexander Kabaev <kan@FreeBSD.org>2006-08-26 21:29:10 +0000
committerAlexander Kabaev <kan@FreeBSD.org>2006-08-26 21:29:10 +0000
commite35cf0a56c70d1de4d2f6c4f4eadcb71e773050a (patch)
tree843ffc6140f66bf60562adb1bf8d3d82b9739b5e /contrib/gcc/regs.h
parent502dfb0aa3c7ce8d7a4946a8bdde8e79e48248ef (diff)
downloadsrc-e35cf0a56c70d1de4d2f6c4f4eadcb71e773050a.tar.gz
src-e35cf0a56c70d1de4d2f6c4f4eadcb71e773050a.zip
Gcc 3.4.6 as of 2006/08/25 #116475.
Notes
Notes: svn path=/vendor/gcc/dist/; revision=161651
Diffstat (limited to 'contrib/gcc/regs.h')
-rw-r--r--contrib/gcc/regs.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/contrib/gcc/regs.h b/contrib/gcc/regs.h
index bb1f43d0dedd..e9ab2d808643 100644
--- a/contrib/gcc/regs.h
+++ b/contrib/gcc/regs.h
@@ -59,6 +59,7 @@ typedef struct reg_info_def
int deaths; /* # of times (REG n) dies */
int live_length; /* # of instructions (REG n) is live */
int calls_crossed; /* # of calls (REG n) is live across */
+ int throw_calls_crossed; /* # of calls that may throw (REG n) is live across */
int basic_block; /* # of basic blocks (REG n) is used in */
char changes_mode; /* whether (SUBREG (REG n)) exists and
is illegal. */
@@ -125,6 +126,12 @@ extern varray_type reg_n_info;
#define REG_N_CALLS_CROSSED(N) (VARRAY_REG (reg_n_info, N)->calls_crossed)
+/* Indexed by N, gives number of CALL_INSNS that may throw, across which
+ (REG n) is live. */
+
+#define REG_N_THROWING_CALLS_CROSSED(N) \
+ (VARRAY_REG (reg_n_info, N)->throw_calls_crossed)
+
/* Total number of instructions at which (REG n) is live.
The larger this is, the less priority (REG n) gets for
allocation in a hard register (in global-alloc).