reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

References

lib/Transforms/InstCombine/InstCombineCompares.cpp
  316     if (Idx->getType()->getPrimitiveSizeInBits() > PtrSize)
  317       Idx = Builder.CreateTrunc(Idx, IntPtrTy);
  317       Idx = Builder.CreateTrunc(Idx, IntPtrTy);
  327     Value *FirstTrueIdx = ConstantInt::get(Idx->getType(), FirstTrueElement);
  331       return new ICmpInst(ICmpInst::ICMP_EQ, Idx, FirstTrueIdx);
  334     Value *C1 = Builder.CreateICmpEQ(Idx, FirstTrueIdx);
  335     Value *SecondTrueIdx = ConstantInt::get(Idx->getType(), SecondTrueElement);
  336     Value *C2 = Builder.CreateICmpEQ(Idx, SecondTrueIdx);
  347     Value *FirstFalseIdx = ConstantInt::get(Idx->getType(), FirstFalseElement);
  351       return new ICmpInst(ICmpInst::ICMP_NE, Idx, FirstFalseIdx);
  354     Value *C1 = Builder.CreateICmpNE(Idx, FirstFalseIdx);
  355     Value *SecondFalseIdx = ConstantInt::get(Idx->getType(),SecondFalseElement);
  356     Value *C2 = Builder.CreateICmpNE(Idx, SecondFalseIdx);
  367       Value *Offs = ConstantInt::get(Idx->getType(), -FirstTrueElement);
  368       Idx = Builder.CreateAdd(Idx, Offs);
  368       Idx = Builder.CreateAdd(Idx, Offs);
  371     Value *End = ConstantInt::get(Idx->getType(),
  373     return new ICmpInst(ICmpInst::ICMP_ULT, Idx, End);
  381       Value *Offs = ConstantInt::get(Idx->getType(), -FirstFalseElement);
  382       Idx = Builder.CreateAdd(Idx, Offs);
  382       Idx = Builder.CreateAdd(Idx, Offs);
  385     Value *End = ConstantInt::get(Idx->getType(),
  387     return new ICmpInst(ICmpInst::ICMP_UGT, Idx, End);
  399     if (ArrayElementCount <= Idx->getType()->getIntegerBitWidth())
  400       Ty = Idx->getType();
  405       Value *V = Builder.CreateIntCast(Idx, Ty, false);