summaryrefslogtreecommitdiff
path: root/include/llvm/CodeGen
diff options
context:
space:
mode:
authorAndrew Trick <atrick@apple.com>2013-04-27 03:54:20 +0000
committerAndrew Trick <atrick@apple.com>2013-04-27 03:54:20 +0000
commit3aa5394e5bbf267824e9d789ec8b1c27b85a8671 (patch)
tree7b59c4c4dcaa1431d5331be121d311a794a3b5d9 /include/llvm/CodeGen
parent29f198c9bfa4a122259f5e92853fbf4b5b2ab2bc (diff)
downloadllvm-3aa5394e5bbf267824e9d789ec8b1c27b85a8671.tar.gz
llvm-3aa5394e5bbf267824e9d789ec8b1c27b85a8671.tar.bz2
llvm-3aa5394e5bbf267824e9d789ec8b1c27b85a8671.tar.xz
Generalize the MachineTraceMetrics public API.
Naturally, we should be able to pass in extra instructions, not just extra blocks. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@180667 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/CodeGen')
-rw-r--r--include/llvm/CodeGen/MachineTraceMetrics.h8
1 files changed, 6 insertions, 2 deletions
diff --git a/include/llvm/CodeGen/MachineTraceMetrics.h b/include/llvm/CodeGen/MachineTraceMetrics.h
index 2775a04858..4e087fc62d 100644
--- a/include/llvm/CodeGen/MachineTraceMetrics.h
+++ b/include/llvm/CodeGen/MachineTraceMetrics.h
@@ -260,9 +260,13 @@ public:
/// independent, exposing the maximum instruction-level parallelism.
///
/// Any blocks in Extrablocks are included as if they were part of the
- /// trace.
+ /// trace. Likewise, extra resources required by the specified scheduling
+ /// classes are included. For the caller to account for extra machine
+ /// instructions, it must first resolve each instruction's scheduling class.
unsigned getResourceLength(ArrayRef<const MachineBasicBlock*> Extrablocks =
- ArrayRef<const MachineBasicBlock*>()) const;
+ ArrayRef<const MachineBasicBlock*>(),
+ ArrayRef<const MCSchedClassDesc*> ExtraInstrs =
+ ArrayRef<const MCSchedClassDesc*>()) const;
/// Return the length of the (data dependency) critical path through the
/// trace.