diff --git a/llvm/tools/llvm-exegesis/lib/Assembler.cpp b/llvm/tools/llvm-exegesis/lib/Assembler.cpp --- a/llvm/tools/llvm-exegesis/lib/Assembler.cpp +++ b/llvm/tools/llvm-exegesis/lib/Assembler.cpp @@ -21,6 +21,8 @@ #include "llvm/CodeGen/TargetPassConfig.h" #include "llvm/CodeGen/TargetSubtargetInfo.h" #include "llvm/ExecutionEngine/SectionMemoryManager.h" +#include "llvm/IR/BasicBlock.h" +#include "llvm/IR/Instructions.h" #include "llvm/IR/LegacyPassManager.h" #include "llvm/MC/MCInstrInfo.h" #include "llvm/Support/Alignment.h" @@ -84,6 +86,8 @@ // Making sure we can create a MachineFunction out of this Function even if it // contains no IR. F->setIsMaterializable(true); + BasicBlock *BB = BasicBlock::Create(Module->getContext(), "", F); + new UnreachableInst(Module->getContext(), BB); return MMI->getOrCreateMachineFunction(*F); }