diff options
author | Guillaume Chatelet <gchatelet@google.com> | 2018-10-15 09:09:19 +0000 |
---|---|---|
committer | Guillaume Chatelet <gchatelet@google.com> | 2018-10-15 09:09:19 +0000 |
commit | 296a862cbeb34eeacd340a130962256d99bd06bc (patch) | |
tree | ba622b1ea13e32716f115f9f52d62493ec242c9b /llvm/unittests/tools | |
parent | 064944352e6433e24cd2fd55148583d43a99904b (diff) | |
download | bcm5719-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.cpp | 12 |
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()); } |