[NFC] Change MemIntrinsicInst::setAlignment() to take an unsigned instead of a Constant
Summary:
In preparation for https://reviews.llvm.org/D41675 this NFC changes this
prototype of MemIntrinsicInst::setAlignment() to accept an unsigned instead
of a Constant.
llvm-svn: 322403
diff --git a/llvm/lib/IR/Verifier.cpp b/llvm/lib/IR/Verifier.cpp
index 1a964df..42fec7e 100644
--- a/llvm/lib/IR/Verifier.cpp
+++ b/llvm/lib/IR/Verifier.cpp
@@ -4048,9 +4048,13 @@
Assert(AlignCI,
"alignment argument of memory intrinsics must be a constant int",
CS);
- const APInt &AlignVal = AlignCI->getValue();
- Assert(AlignCI->isZero() || AlignVal.isPowerOf2(),
- "alignment argument of memory intrinsics must be a power of 2", CS);
+ const auto *MI = cast<MemIntrinsic>(CS.getInstruction());
+ auto IsValidAlignment = [&](unsigned Alignment) -> bool {
+ return Alignment == 0 || isPowerOf2_32(Alignment);
+ };
+ Assert(IsValidAlignment(MI->getAlignment()),
+ "alignment argument of memory intrinsics must be 0 or a power of 2",
+ CS);
Assert(isa<ConstantInt>(CS.getArgOperand(4)),
"isvolatile argument of memory intrinsics must be a constant int",
CS);