From e51c6661ff575384cb5e180eacf0b14e6f6d079e Mon Sep 17 00:00:00 2001 From: Richard Kenner Date: Fri, 6 May 1994 17:40:25 -0400 Subject: [PATCH] (CALL_INSN_FUNCTION_USAGE): New macro. (find_reg{,no}_fusage): Prototype for new function. From-SVN: r7234 --- gcc/rtl.h | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/gcc/rtl.h b/gcc/rtl.h index 489f7d62e81..b0eb1c521fc 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)); -- 2.30.2