diff options
Diffstat (limited to 'llvm/lib/CodeGen/MachineFunctionPass.cpp')
-rw-r--r-- | llvm/lib/CodeGen/MachineFunctionPass.cpp | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/llvm/lib/CodeGen/MachineFunctionPass.cpp b/llvm/lib/CodeGen/MachineFunctionPass.cpp index bd0b11a8cb5..f6cb36e1a20 100644 --- a/llvm/lib/CodeGen/MachineFunctionPass.cpp +++ b/llvm/lib/CodeGen/MachineFunctionPass.cpp @@ -44,8 +44,18 @@ bool MachineFunctionPass::runOnFunction(Function &F) { MachineFunction &MF = getAnalysis<MachineFunctionAnalysis>().getMF(); MachineFunctionProperties &MFProps = MF.getProperties(); - assert(MFProps.verifyRequiredProperties(RequiredProperties) && - "Properties required by the pass are not met by the function"); +#ifndef NDEBUG + if (!MFProps.verifyRequiredProperties(RequiredProperties)) { + errs() << "MachineFunctionProperties required by " << getPassName() + << " pass are not met by function " << F.getName() << ".\n" + << "Required properties: "; + RequiredProperties.print(errs()); + errs() << "\nCurrent properties: "; + MFProps.print(errs()); + errs() << "\n"; + llvm_unreachable("MachineFunctionProperties check failed"); + } +#endif bool RV = runOnMachineFunction(MF); |