diff --git a/llvm/tools/llvm-exegesis/lib/LlvmState.cpp b/llvm/tools/llvm-exegesis/lib/LlvmState.cpp index 2c6f5d275cf00..d7bf9c1f77b89 100644 --- a/llvm/tools/llvm-exegesis/lib/LlvmState.cpp +++ b/llvm/tools/llvm-exegesis/lib/LlvmState.cpp @@ -56,6 +56,11 @@ Expected LLVMState::Create(std::string TripleName, std::unique_ptr STI( TheTarget->createMCSubtargetInfo(TheTriple, CpuName, "")); + if (!STI) { + return make_error("unable to create subtarget info", + inconvertibleErrorCode()); + } + assert(STI && "Unable to create subtarget info!"); if (!STI->isCPUStringValid(CpuName)) { return make_error(Twine("invalid CPU name (")