aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Kenner <kenner@gcc.gnu.org>1994-05-06 17:40:25 -0400
committerRichard Kenner <kenner@gcc.gnu.org>1994-05-06 17:40:25 -0400
commite51c6661ff575384cb5e180eacf0b14e6f6d079e (patch)
tree741957b98622d1b9b033594b1efa1a453b7c6003 /gcc
parentcc8677043873e50d6e7f507e4fb9b6ea514913f5 (diff)
downloadgcc-e51c6661ff575384cb5e180eacf0b14e6f6d079e.zip
gcc-e51c6661ff575384cb5e180eacf0b14e6f6d079e.tar.gz
gcc-e51c6661ff575384cb5e180eacf0b14e6f6d079e.tar.bz2
(CALL_INSN_FUNCTION_USAGE): New macro.
(find_reg{,no}_fusage): Prototype for new function. From-SVN: r7234
Diffstat (limited to 'gcc')
-rw-r--r--gcc/rtl.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/gcc/rtl.h b/gcc/rtl.h
index 489f7d6..b0eb1c5 100644
--- a/gcc/rtl.h
+++ b/gcc/rtl.h
@@ -358,6 +358,15 @@ enum reg_note { REG_DEAD = 1, REG_INC = 2, REG_EQUIV = 3, REG_WAS_0 = 4,
extern char *reg_note_name[];
#define GET_REG_NOTE_NAME(MODE) (reg_note_name[(int)(MODE)])
+/* This field is only present on CALL_INSNs. It holds a chain of EXPR_LIST of
+ USE and CLOBBER expressions.
+ USE expressions list the registers filled with arguments that
+ are passed to the function.
+ CLOBBER expressions document the registers explicitly clobbered
+ by this CALL_INSN.
+ Pseudo registers can not be mentioned in this list. */
+#define CALL_INSN_FUNCTION_USAGE(INSN) ((INSN)->fld[7].rtx)
+
/* The label-number of a code-label. The assembler label
is made from `L' and the label-number printed in decimal.
Label numbers are unique in a compilation. */
@@ -693,6 +702,8 @@ extern rtx rtx_alloc PROTO((RTX_CODE));
extern rtvec rtvec_alloc PROTO((int));
extern rtx find_reg_note PROTO((rtx, enum reg_note, rtx));
extern rtx find_regno_note PROTO((rtx, enum reg_note, int));
+extern int find_reg_fusage PROTO((rtx, enum rtx_code, rtx));
+extern int find_regno_fusage PROTO((rtx, enum rtx_code, int));
extern HOST_WIDE_INT get_integer_term PROTO((rtx));
extern rtx get_related_value PROTO((rtx));
extern rtx single_set PROTO((rtx));