summaryrefslogtreecommitdiffstats
path: root/llvm/tools/llvm-exegesis/llvm-exegesis.cpp
diff options
context:
space:
mode:
authorClement Courbet <courbet@google.com>2018-11-08 11:45:14 +0000
committerClement Courbet <courbet@google.com>2018-11-08 11:45:14 +0000
commitc0950ae99090d13515328eb2f6714fe0e86c28b0 (patch)
tree0f5ff0d4c85b6d5379eb1e72d61b6673c229b7c9 /llvm/tools/llvm-exegesis/llvm-exegesis.cpp
parent797004d2ea98342aa9a5e6d458f44a4e2e8f18cd (diff)
downloadbcm5719-llvm-c0950ae99090d13515328eb2f6714fe0e86c28b0.tar.gz
bcm5719-llvm-c0950ae99090d13515328eb2f6714fe0e86c28b0.zip
[llvm-exegesis] Add a snippet generator to generate snippets to compute ROB sizes.
llvm-svn: 346394
Diffstat (limited to 'llvm/tools/llvm-exegesis/llvm-exegesis.cpp')
-rw-r--r--llvm/tools/llvm-exegesis/llvm-exegesis.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/llvm/tools/llvm-exegesis/llvm-exegesis.cpp b/llvm/tools/llvm-exegesis/llvm-exegesis.cpp
index a28e68ec006..6d15fcfef4e 100644
--- a/llvm/tools/llvm-exegesis/llvm-exegesis.cpp
+++ b/llvm/tools/llvm-exegesis/llvm-exegesis.cpp
@@ -63,6 +63,8 @@ static cl::opt<exegesis::InstructionBenchmark::ModeE>
"latency", "Instruction Latency"),
clEnumValN(exegesis::InstructionBenchmark::Uops,
"uops", "Uop Decomposition"),
+ clEnumValN(exegesis::InstructionBenchmark::ROBSize,
+ "rob_size", "ROB Size"),
// When not asking for a specific benchmark mode,
// we'll analyse the results.
clEnumValN(exegesis::InstructionBenchmark::Unknown,
@@ -201,7 +203,6 @@ public:
return;
if (CommentText.consume_front("DEFREG")) {
// LLVM-EXEGESIS-DEFREF <reg> <hex_value>
- RegisterValue RegVal;
llvm::SmallVector<llvm::StringRef, 2> Parts;
CommentText.split(Parts, ' ', /*unlimited splits*/ -1,
/*do not keep empty strings*/ false);
@@ -210,6 +211,7 @@ public:
<< "\n";
++InvalidComments;
}
+ RegisterValue RegVal;
if (!(RegVal.Register = findRegisterByName(Parts[0].trim()))) {
llvm::errs() << "unknown register in 'LLVM-EXEGESIS-DEFREG "
<< CommentText << "\n";
OpenPOWER on IntegriCloud