aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Wood <wood@gnu.org>1992-08-25 20:21:53 +0000
committerTom Wood <wood@gnu.org>1992-08-25 20:21:53 +0000
commitc376c05b38ddd5763372e1946f4705ec2437391a (patch)
tree0a48ce926a0f30b038f72c7d5222b4f874e2b213
parent84ef5060e2d1b86df5bb722e4eda45c82f7b0d23 (diff)
downloadgcc-c376c05b38ddd5763372e1946f4705ec2437391a.zip
gcc-c376c05b38ddd5763372e1946f4705ec2437391a.tar.gz
gcc-c376c05b38ddd5763372e1946f4705ec2437391a.tar.bz2
(LINK_COST_ZERO, LINK_COST_FREE): New macros.
From-SVN: r1949
-rw-r--r--gcc/rtl.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/gcc/rtl.h b/gcc/rtl.h
index 7c7edbe..7f2bee9 100644
--- a/gcc/rtl.h
+++ b/gcc/rtl.h
@@ -481,6 +481,16 @@ extern char *note_insn_name[];
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) ((RTX)->fld[0].rtx)