2
请让我知道如何检测在LLVM IR中设置了nsw和nuw标志的指令。在LLVM IR中检测nuw和nsw
请让我知道如何检测在LLVM IR中设置了nsw和nuw标志的指令。在LLVM IR中检测nuw和nsw
OverflowingBinaryOperator
为此具有hasNoUnsignedWrap
和hasNoSignedWrap
谓词。
更具体地,给定的一些指令ii
:
if (OverflowingBinaryOperator *op = dyn_cast<OverflowingBinaryOperator>(ii)) {
if (op->hasNoUnsignedWrap())
errs() << " has nuw\n";
else if (op->hasNoSignedWrap())
errs() << " has nsw\n";
}
}