summaryrefslogtreecommitdiffstats
path: root/llvm/unittests/tools
diff options
context:
space:
mode:
authorGuillaume Chatelet <gchatelet@google.com>2018-10-15 09:09:19 +0000
committerGuillaume Chatelet <gchatelet@google.com>2018-10-15 09:09:19 +0000
commit296a862cbeb34eeacd340a130962256d99bd06bc (patch)
treeba622b1ea13e32716f115f9f52d62493ec242c9b /llvm/unittests/tools
parent064944352e6433e24cd2fd55148583d43a99904b (diff)
downloadbcm5719-llvm-296a862cbeb34eeacd340a130962256d99bd06bc.tar.gz
bcm5719-llvm-296a862cbeb34eeacd340a130962256d99bd06bc.zip
[llvm-exegesis][NFC] Return many CodeTemplates instead of one.
Summary: This is part one of the change where I simply changed the signature of the functions. More work need to be done to actually produce more than one CodeTemplate per instruction. Reviewers: courbet Subscribers: tschuett, llvm-commits Differential Revision: https://reviews.llvm.org/D53209 llvm-svn: 344493
Diffstat (limited to 'llvm/unittests/tools')
-rw-r--r--llvm/unittests/tools/llvm-exegesis/X86/SnippetGeneratorTest.cpp12
1 files changed, 7 insertions, 5 deletions
diff --git a/llvm/unittests/tools/llvm-exegesis/X86/SnippetGeneratorTest.cpp b/llvm/unittests/tools/llvm-exegesis/X86/SnippetGeneratorTest.cpp
index 4df489df06f..6cc24a02cfc 100644
--- a/llvm/unittests/tools/llvm-exegesis/X86/SnippetGeneratorTest.cpp
+++ b/llvm/unittests/tools/llvm-exegesis/X86/SnippetGeneratorTest.cpp
@@ -60,9 +60,11 @@ protected:
CodeTemplate checkAndGetCodeTemplate(unsigned Opcode) {
randomGenerator().seed(0); // Initialize seed.
const Instruction Instr(State, Opcode);
- auto CodeTemplateOrError = Generator.generateCodeTemplate(Instr);
+ auto CodeTemplateOrError = Generator.generateCodeTemplates(Instr);
EXPECT_FALSE(CodeTemplateOrError.takeError()); // Valid configuration.
- return std::move(CodeTemplateOrError.get());
+ auto &CodeTemplate = CodeTemplateOrError.get();
+ EXPECT_EQ(CodeTemplate.size(), 1U);
+ return std::move(CodeTemplate.front());
}
SnippetGeneratorT Generator;
@@ -240,7 +242,7 @@ TEST_F(UopsSnippetGeneratorTest, MemoryUse_Movsb) {
// MOVSB writes to scratch memory register.
const unsigned Opcode = llvm::X86::MOVSB;
const Instruction Instr(State, Opcode);
- auto Error = Generator.generateCodeTemplate(Instr).takeError();
+ auto Error = Generator.generateCodeTemplates(Instr).takeError();
EXPECT_TRUE((bool)Error);
llvm::consumeError(std::move(Error));
}
@@ -254,8 +256,8 @@ public:
}
private:
- llvm::Expected<CodeTemplate>
- generateCodeTemplate(const Instruction &Instr) const override {
+ llvm::Expected<std::vector<CodeTemplate>>
+ generateCodeTemplates(const Instruction &Instr) const override {
return llvm::make_error<llvm::StringError>("not implemented",
llvm::inconvertibleErrorCode());
}
OpenPOWER on IntegriCloud