• Home
  • Raw
  • Download

Lines Matching refs:BBI

457   bool solveBlockValueBinaryOp(LVILatticeVal &BBLV, Instruction *BBI,
459 bool solveBlockValueCast(LVILatticeVal &BBLV, Instruction *BBI,
462 Instruction *BBI);
607 static LVILatticeVal getFromRangeMetadata(Instruction *BBI) { in getFromRangeMetadata() argument
608 switch (BBI->getOpcode()) { in getFromRangeMetadata()
613 if (MDNode *Ranges = BBI->getMetadata(LLVMContext::MD_range)) in getFromRangeMetadata()
614 if (isa<IntegerType>(BBI->getType())) { in getFromRangeMetadata()
642 Instruction *BBI = dyn_cast<Instruction>(Val); in solveBlockValue() local
643 if (!BBI || BBI->getParent() != BB) { in solveBlockValue()
650 if (PHINode *PN = dyn_cast<PHINode>(BBI)) { in solveBlockValue()
657 if (auto *SI = dyn_cast<SelectInst>(BBI)) { in solveBlockValue()
673 PointerType *PT = dyn_cast<PointerType>(BBI->getType()); in solveBlockValue()
674 if (PT && isKnownNonNull(BBI)) { in solveBlockValue()
679 if (BBI->getType()->isIntegerTy()) { in solveBlockValue()
680 if (isa<CastInst>(BBI)) { in solveBlockValue()
681 if (!solveBlockValueCast(Res, BBI, BB)) in solveBlockValue()
686 BinaryOperator *BO = dyn_cast<BinaryOperator>(BBI); in solveBlockValue()
688 if (!solveBlockValueBinaryOp(Res, BBI, BB)) in solveBlockValue()
697 Res = getFromRangeMetadata(BBI); in solveBlockValue()
856 Instruction *BBI) { in intersectAssumeBlockValueConstantRange() argument
857 BBI = BBI ? BBI : dyn_cast<Instruction>(Val); in intersectAssumeBlockValueConstantRange()
858 if (!BBI) in intersectAssumeBlockValueConstantRange()
865 if (!isValidAssumeForContext(I, BBI, DT)) in intersectAssumeBlockValueConstantRange()
1005 Instruction *BBI, in solveBlockValueCast() argument
1007 if (!BBI->getOperand(0)->getType()->isSized()) { in solveBlockValueCast()
1017 switch (BBI->getOpcode()) { in solveBlockValueCast()
1034 if (!hasBlockValue(BBI->getOperand(0), BB)) in solveBlockValueCast()
1035 if (pushBlockValue(std::make_pair(BB, BBI->getOperand(0)))) in solveBlockValueCast()
1040 DL.getTypeSizeInBits(BBI->getOperand(0)->getType()); in solveBlockValueCast()
1042 if (hasBlockValue(BBI->getOperand(0), BB)) { in solveBlockValueCast()
1043 LVILatticeVal LHSVal = getBlockValue(BBI->getOperand(0), BB); in solveBlockValueCast()
1044 intersectAssumeBlockValueConstantRange(BBI->getOperand(0), LHSVal, BBI); in solveBlockValueCast()
1050 cast<IntegerType>(BBI->getType())->getBitWidth(); in solveBlockValueCast()
1056 switch (BBI->getOpcode()) { in solveBlockValueCast()
1080 Instruction *BBI, in solveBlockValueBinaryOp() argument
1083 assert(BBI->getOperand(0)->getType()->isSized() && in solveBlockValueBinaryOp()
1089 switch (BBI->getOpcode()) { in solveBlockValueBinaryOp()
1111 if (!hasBlockValue(BBI->getOperand(0), BB)) in solveBlockValueBinaryOp()
1112 if (pushBlockValue(std::make_pair(BB, BBI->getOperand(0)))) in solveBlockValueBinaryOp()
1117 DL.getTypeSizeInBits(BBI->getOperand(0)->getType()); in solveBlockValueBinaryOp()
1119 if (hasBlockValue(BBI->getOperand(0), BB)) { in solveBlockValueBinaryOp()
1120 LVILatticeVal LHSVal = getBlockValue(BBI->getOperand(0), BB); in solveBlockValueBinaryOp()
1121 intersectAssumeBlockValueConstantRange(BBI->getOperand(0), LHSVal, BBI); in solveBlockValueBinaryOp()
1126 ConstantInt *RHS = cast<ConstantInt>(BBI->getOperand(1)); in solveBlockValueBinaryOp()
1133 switch (BBI->getOpcode()) { in solveBlockValueBinaryOp()