Type* TargetIntegerType =
IntegerType::get(UsageInst->getContext(),
BB->getModule()->getDataLayout().getPointerSizeInBits());
- if (UsageInst->getType() == TargetIntegerType) {
- AndTarget = UsageInst;
- } else {
- IRBuilder<true, NoFolder> Builder(InsertPoint);
- AndTarget = createCast(Builder, UsageInst, TargetIntegerType);
- }
// Check whether InsertPoint is a added fake conditional branch.
BranchInst* BI = nullptr;
// Now we have a previously added fake cond branch.
auto* Op00 = Op0->getOperand(0);
IRBuilder<true, NoFolder> Builder(CmpInst);
+ if (UsageInst->getType() == TargetIntegerType) {
+ AndTarget = UsageInst;
+ } else {
+ AndTarget = createCast(Builder, UsageInst, TargetIntegerType);
+ }
AndTarget = Builder.CreateAnd(Op00, AndTarget);
auto* AndZero = dyn_cast<Instruction>(Builder.CreateAnd(
AndTarget, Constant::getNullValue(AndTarget->getType())));
}
IRBuilder<true, NoFolder> Builder(InsertPoint);
+ if (UsageInst->getType() == TargetIntegerType) {
+ AndTarget = UsageInst;
+ } else {
+ AndTarget = createCast(Builder, UsageInst, TargetIntegerType);
+ }
auto* AndZero = dyn_cast<Instruction>(
Builder.CreateAnd(AndTarget, Constant::getNullValue(AndTarget->getType())));
auto* FakeCondition = dyn_cast<Instruction>(Builder.CreateICmp(