summaryrefslogtreecommitdiff
path: root/include/llvm/MC
diff options
context:
space:
mode:
authorAndrew Trick <atrick@apple.com>2012-10-10 05:43:04 +0000
committerAndrew Trick <atrick@apple.com>2012-10-10 05:43:04 +0000
commit6312cb099734263f348f36a31b8892b1373a7076 (patch)
tree759e190d768565f53e67d098221be24cda89cbb4 /include/llvm/MC
parent2d15d641aa8aa9e48c268170f1a9825bb9926fc7 (diff)
downloadllvm-6312cb099734263f348f36a31b8892b1373a7076.tar.gz
llvm-6312cb099734263f348f36a31b8892b1373a7076.tar.bz2
llvm-6312cb099734263f348f36a31b8892b1373a7076.tar.xz
misched: Generate IsBuffered flag for machine resources.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165602 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/MC')
-rw-r--r--include/llvm/MC/MCSchedule.h11
1 files changed, 9 insertions, 2 deletions
diff --git a/include/llvm/MC/MCSchedule.h b/include/llvm/MC/MCSchedule.h
index 41bdb02f61..0504dc13c8 100644
--- a/include/llvm/MC/MCSchedule.h
+++ b/include/llvm/MC/MCSchedule.h
@@ -27,11 +27,18 @@ struct MCProcResourceDesc {
#ifndef NDEBUG
const char *Name;
#endif
- unsigned Count; // Number of resource of this kind
+ unsigned NumUnits; // Number of resource of this kind
unsigned SuperIdx; // Index of the resources kind that contains this kind.
+ // Buffered resources may be consumed at some indeterminate cycle after
+ // dispatch (e.g. for instructions that may issue out-of-order). Unbuffered
+ // resources always consume their resource some fixed number of cycles after
+ // dispatch (e.g. for instruction interlocking that may stall the pipeline).
+ bool IsBuffered;
+
bool operator==(const MCProcResourceDesc &Other) const {
- return Count == Other.Count && SuperIdx == Other.SuperIdx;
+ return NumUnits == Other.NumUnits && SuperIdx == Other.SuperIdx
+ && IsBuffered == Other.IsBuffered;
}
};