diff --git a/lib/ExecutionEngine/Orc/ExecutionUtils.cpp b/lib/ExecutionEngine/Orc/ExecutionUtils.cpp index 95f039a9762..6157677ce35 100644 --- a/lib/ExecutionEngine/Orc/ExecutionUtils.cpp +++ b/lib/ExecutionEngine/Orc/ExecutionUtils.cpp @@ -109,7 +109,7 @@ CtorDtorIterator::Element CtorDtorIterator::operator*() const { ConstantInt *Priority = dyn_cast(CS->getOperand(0)); Value *Data = CS->getNumOperands() == 3 ? CS->getOperand(2) : nullptr; - if (!isa(Data)) + if (Data && !isa(Data)) Data = nullptr; return Element(Priority->getZExtValue(), Func, Data); }