diff options
author | Clement Courbet <courbet@google.com> | 2018-07-03 06:17:05 +0000 |
---|---|---|
committer | Clement Courbet <courbet@google.com> | 2018-07-03 06:17:05 +0000 |
commit | e785169fcedb9a7ec001df295d5c019b1de51994 (patch) | |
tree | b528ed3c0d4e43f7ac5cbd6593c28cf0edb33ee8 /llvm/tools/llvm-exegesis/lib/Assembler.cpp | |
parent | 83e5f81d264fa927e7f0388535b31f707b1d9bea (diff) | |
download | bcm5719-llvm-e785169fcedb9a7ec001df295d5c019b1de51994.tar.gz bcm5719-llvm-e785169fcedb9a7ec001df295d5c019b1de51994.zip |
[llvm-exegesis] ExegisX86Target::setRegToConstant() should depend on the subtarget features.
Summary: This fixes PR38008.
Reviewers: gchatelet, RKSimon
Subscribers: tschuett, craig.topper, llvm-commits
Differential Revision: https://reviews.llvm.org/D48820
llvm-svn: 336171
Diffstat (limited to 'llvm/tools/llvm-exegesis/lib/Assembler.cpp')
-rw-r--r-- | llvm/tools/llvm-exegesis/lib/Assembler.cpp | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/llvm/tools/llvm-exegesis/lib/Assembler.cpp b/llvm/tools/llvm-exegesis/lib/Assembler.cpp index c7fc6bd9ee9..d2be7f4829a 100644 --- a/llvm/tools/llvm-exegesis/lib/Assembler.cpp +++ b/llvm/tools/llvm-exegesis/lib/Assembler.cpp @@ -30,12 +30,13 @@ static constexpr const char FunctionID[] = "foo"; static std::vector<llvm::MCInst> generateSnippetSetupCode(const llvm::ArrayRef<unsigned> RegsToDef, - const ExegesisTarget &ET, bool &IsComplete) { + const ExegesisTarget &ET, + const llvm::LLVMTargetMachine &TM, bool &IsComplete) { IsComplete = true; std::vector<llvm::MCInst> Result; for (const unsigned Reg : RegsToDef) { // Load a constant in the register. - const auto Code = ET.setRegToConstant(Reg); + const auto Code = ET.setRegToConstant(*TM.getMCSubtargetInfo(), Reg); if (Code.empty()) IsComplete = false; Result.insert(Result.end(), Code.begin(), Code.end()); @@ -159,7 +160,7 @@ void assembleToStream(const ExegesisTarget &ET, Properties.reset(llvm::MachineFunctionProperties::Property::IsSSA); bool IsSnippetSetupComplete = false; std::vector<llvm::MCInst> SnippetWithSetup = - generateSnippetSetupCode(RegsToDef, ET, IsSnippetSetupComplete); + generateSnippetSetupCode(RegsToDef, ET, *TM, IsSnippetSetupComplete); if (!SnippetWithSetup.empty()) { SnippetWithSetup.insert(SnippetWithSetup.end(), Instructions.begin(), Instructions.end()); |