aboutsummaryrefslogtreecommitdiff
path: root/llvm/tools/llvm-exegesis/lib/Assembler.cpp
diff options
context:
space:
mode:
authorMatthias Braun <matze@braunis.de>2018-11-05 23:49:13 +0000
committerMatthias Braun <matze@braunis.de>2018-11-05 23:49:13 +0000
commit3d849f67cbae5807f18fb2d46dfccd3aeae3c39b (patch)
tree13aea93a9d4c1fc050701454d6be0ee2435fc369 /llvm/tools/llvm-exegesis/lib/Assembler.cpp
parent54d23a8eb7eac3445450bacbe7a6336197ccdbf5 (diff)
downloadllvm-3d849f67cbae5807f18fb2d46dfccd3aeae3c39b.zip
llvm-3d849f67cbae5807f18fb2d46dfccd3aeae3c39b.tar.gz
llvm-3d849f67cbae5807f18fb2d46dfccd3aeae3c39b.tar.bz2
MachineModuleInfo: Store more specific reference to LLVMTargetMachine; NFC
MachineModuleInfo can only be used in code using lib/CodeGen, hence we can keep a more specific reference to LLVMTargetMachine rather than just TargetMachine around. llvm-svn: 346182
Diffstat (limited to 'llvm/tools/llvm-exegesis/lib/Assembler.cpp')
-rw-r--r--llvm/tools/llvm-exegesis/lib/Assembler.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/llvm/tools/llvm-exegesis/lib/Assembler.cpp b/llvm/tools/llvm-exegesis/lib/Assembler.cpp
index 771a6e9..2e3712c 100644
--- a/llvm/tools/llvm-exegesis/lib/Assembler.cpp
+++ b/llvm/tools/llvm-exegesis/lib/Assembler.cpp
@@ -142,8 +142,10 @@ llvm::BitVector getFunctionReservedRegs(const llvm::TargetMachine &TM) {
llvm::make_unique<llvm::LLVMContext>();
std::unique_ptr<llvm::Module> Module =
createModule(Context, TM.createDataLayout());
+ // TODO: This only works for targets implementing LLVMTargetMachine.
+ const LLVMTargetMachine &LLVMTM = static_cast<const LLVMTargetMachine&>(TM);
std::unique_ptr<llvm::MachineModuleInfo> MMI =
- llvm::make_unique<llvm::MachineModuleInfo>(&TM);
+ llvm::make_unique<llvm::MachineModuleInfo>(&LLVMTM);
llvm::MachineFunction &MF =
createVoidVoidPtrMachineFunction(FunctionID, Module.get(), MMI.get());
// Saving reserved registers for client.