summaryrefslogtreecommitdiff
path: root/gcc/rtl.h
diff options
context:
space:
mode:
authorvmakarov <vmakarov@138bc75d-0d04-0410-961f-82ee72b054a4>2001-08-30 20:44:51 +0000
committervmakarov <vmakarov@138bc75d-0d04-0410-961f-82ee72b054a4>2001-08-30 20:44:51 +0000
commit17c7a04d1c73b837492a822490fa59ee17db094f (patch)
tree9cc1dc4a63e4c3af0ab3e68c017e773ea05dec6f /gcc/rtl.h
parente025bbe7bf73c4adaa7edeec9158db8f8438295f (diff)
downloadgcc-17c7a04d1c73b837492a822490fa59ee17db094f.tar.gz
2001-08-30 Vladimir Makarov <vmakarov@redhat.com>
* rtl.def: Undo my patch commited 2001-08-27. * genattrtab.c: Ditto. * rtl.h: Ditto. * sched-int.h: Ditto. * target-def.h: Ditto. * target.h: Ditto. * haifa-sched.c: Ditto. * sched-rgn.c: Ditto. * sched-vis.c: Ditto. * Makefile.in: Ditto. * doc/md.texi: Ditto. * doc/tm.texi: Ditto. * doc/contrib.texi: Ditto. * doc/gcc.texi: Ditto. * genattrtab.h: Remove it. * genautomata.c: Remove it. * genattr.c: Undo my patch and Richard Henderson's patch commited 2001-08-27. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@45297 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/rtl.h')
-rw-r--r--gcc/rtl.h16
1 files changed, 14 insertions, 2 deletions
diff --git a/gcc/rtl.h b/gcc/rtl.h
index b40ac725f16..3a0a019f0f0 100644
--- a/gcc/rtl.h
+++ b/gcc/rtl.h
@@ -110,9 +110,11 @@ struct rtx_def
ENUM_BITFIELD(machine_mode) mode : 8;
/* 1 in an INSN if it can alter flow of control
- within this function. */
+ within this function.
+ LINK_COST_ZERO in an INSN_LIST. */
unsigned int jump : 1;
- /* 1 in an INSN if it can call another function. */
+ /* 1 in an INSN if it can call another function.
+ LINK_COST_FREE in an INSN_LIST. */
unsigned int call : 1;
/* 1 in a REG if value of this expression will never change during
the current function, even though it is not manifestly constant.
@@ -897,6 +899,16 @@ extern unsigned int subreg_regno PARAMS ((rtx));
with the preceding insn. */
#define SCHED_GROUP_P(INSN) ((INSN)->in_struct)
+/* During sched, for the LOG_LINKS of an insn, these cache the adjusted
+ cost of the dependence link. The cost of executing an instruction
+ may vary based on how the results are used. LINK_COST_ZERO is 1 when
+ the cost through the link varies and is unchanged (i.e., the link has
+ zero additional cost). LINK_COST_FREE is 1 when the cost through the
+ link is zero (i.e., the link makes the cost free). In other cases,
+ the adjustment to the cost is recomputed each time it is needed. */
+#define LINK_COST_ZERO(X) ((X)->jump)
+#define LINK_COST_FREE(X) ((X)->call)
+
/* For a SET rtx, SET_DEST is the place that is set
and SET_SRC is the value it is set to. */
#define SET_DEST(RTX) XC2EXP(RTX, 0, SET, CLOBBER)