aboutsummaryrefslogtreecommitdiff
path: root/gcc/rtl.h
diff options
context:
space:
mode:
authorDoug Evans <dje@gnu.org>1997-03-28 22:39:00 +0000
committerDoug Evans <dje@gnu.org>1997-03-28 22:39:00 +0000
commit7ae21caf59b4508e509eb1bfe47a3b272449253a (patch)
treeb88b8fe8ae89d93b944b5f32d9a608040a8be070 /gcc/rtl.h
parenta6c383b0d8a2819e3cfaa7ea900e9244acacb666 (diff)
downloadgcc-7ae21caf59b4508e509eb1bfe47a3b272449253a.zip
gcc-7ae21caf59b4508e509eb1bfe47a3b272449253a.tar.gz
gcc-7ae21caf59b4508e509eb1bfe47a3b272449253a.tar.bz2
rtl.h (enum reg_note): Add REG_BR_PROB and REG_EXEC_COUNT.
* rtl.h (enum reg_note): Add REG_BR_PROB and REG_EXEC_COUNT. (REG_BR_PROB_BASE): Define. (NOTE_REPEATED_LINE_NUMBER): Define. From-SVN: r13820
Diffstat (limited to 'gcc/rtl.h')
-rw-r--r--gcc/rtl.h16
1 files changed, 15 insertions, 1 deletions
diff --git a/gcc/rtl.h b/gcc/rtl.h
index 2025339..3ae3982 100644
--- a/gcc/rtl.h
+++ b/gcc/rtl.h
@@ -301,6 +301,13 @@ typedef struct rtvec_def{
dependencies. REG_DEP_OUTPUT is used in LOG_LINKS which represent output
(write after write) dependencies. Data dependencies, which are the only
type of LOG_LINK created by flow, are represented by a 0 reg note kind. */
+/* REG_BR_PROB is attached to JUMP_INSNs and CALL_INSNs when the flag
+ -fbranch-probabilities is given. It has an integer value. For jumps,
+ it is the probability that this is a taken branch. For calls, it is the
+ probability that this call won't return.
+ REG_EXEC_COUNT is attached to the first insn of each basic block, and
+ the first insn after each CALL_INSN. It indicates how many times this
+ block was executed. */
#define REG_NOTES(INSN) ((INSN)->fld[6].rtx)
@@ -309,7 +316,10 @@ enum reg_note { REG_DEAD = 1, REG_INC = 2, REG_EQUIV = 3, REG_WAS_0 = 4,
REG_EQUAL = 5, REG_RETVAL = 6, REG_LIBCALL = 7,
REG_NONNEG = 8, REG_NO_CONFLICT = 9, REG_UNUSED = 10,
REG_CC_SETTER = 11, REG_CC_USER = 12, REG_LABEL = 13,
- REG_DEP_ANTI = 14, REG_DEP_OUTPUT = 15 };
+ REG_DEP_ANTI = 14, REG_DEP_OUTPUT = 15, REG_BR_PROB = 16,
+ REG_EXEC_COUNT = 17 };
+/* The base value for branch probability notes. */
+#define REG_BR_PROB_BASE 10000
/* Define macros to extract and insert the reg-note kind in an EXPR_LIST. */
#define REG_NOTE_KIND(LINK) ((enum reg_note) GET_MODE (LINK))
@@ -394,6 +404,10 @@ extern char *reg_note_name[];
/* These note where exception handling regions begin and end. */
#define NOTE_INSN_EH_REGION_BEG -14
#define NOTE_INSN_EH_REGION_END -15
+/* Generated whenever a duplicate line number note is output. For example,
+ one is output after the end of an inline function, in order to prevent
+ the line containing the inline call from being counted twice in gcov. */
+#define NOTE_REPEATED_LINE_NUMBER -16
#if 0 /* These are not used, and I don't know what they were for. --rms. */