From: Richard Kenner Date: Fri, 6 May 1994 21:40:25 +0000 (-0400) Subject: (CALL_INSN_FUNCTION_USAGE): New macro. X-Git-Tag: misc/cutover-egcs-0~6709 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e51c6661ff575384cb5e180eacf0b14e6f6d079e;p=thirdparty%2Fgcc.git (CALL_INSN_FUNCTION_USAGE): New macro. (find_reg{,no}_fusage): Prototype for new function. From-SVN: r7234 --- diff --git a/gcc/rtl.h b/gcc/rtl.h index 489f7d62e818..b0eb1c521fca 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));