Lines Matching defs:IC

542                                  InstCombiner &IC) {
618 IC.replaceInstUsesWith(*cast<Instruction>(Val), NewVal);
621 IC.addToWorklist(cast<Instruction>(Val));
633 InstCombiner &IC) {
662 Value *NewRHS = rewriteGEPAsOffset(RHS, PtrBase, DL, Nodes, IC);
669 IC.Builder.getInt(Offset), NewRHS);
1067 InstCombinerImpl &IC) {
1097 if (IC.ComputeMaxSignificantBits(A, 0, &I) > NewWidth ||
1098 IC.ComputeMaxSignificantBits(B, 0, &I) > NewWidth)
1127 InstCombiner::BuilderTy &Builder = IC.Builder;
1141 IC.replaceInstUsesWith(*OrigAdd, ZExt);
1142 IC.eraseInstFromFunction(*OrigAdd);
4291 InstCombiner &IC) {
4371 IC.getFreelyInverted(X, X->hasOneUse(), &IC.Builder)) {
4389 IC.getFreelyInverted(M, M->hasOneUse(), &IC.Builder)) {
4407 return IC.Builder.CreateICmp(DstPred, X, M);
4770 InstCombinerImpl &IC) {
4796 IC.getFreelyInverted(Op1, !Op1->hasNUsesOrMore(3), &IC.Builder))
4797 return new ICmpInst(Pred, IC.Builder.CreateOr(A, NotOp1),
4800 if (auto *NotA = IC.getFreelyInverted(A, A->hasOneUse(), &IC.Builder))
4801 return new ICmpInst(Pred, IC.Builder.CreateAnd(Op1, NotA),
4808 KnownBits KnownY = IC.computeKnownBits(A, /*Depth=*/0, &I);
4822 if (isKnownNegative(Op1, IC.getSimplifyQuery().getWithInstruction(&I)))
4832 InstCombinerImpl &IC) {
4855 IC.getFreelyInverted(Op1, !Op1->hasNUsesOrMore(3), &IC.Builder))
4856 return new ICmpInst(Pred, IC.Builder.CreateAnd(A, NotOp1),
4859 if (Value *NotA = IC.getFreelyInverted(A, A->hasOneUse(), &IC.Builder))
4860 return new ICmpInst(Pred, IC.Builder.CreateOr(Op1, NotA),
4867 InstCombinerImpl &IC) {
6147 InstCombinerImpl &IC) {
6237 InstCombiner::BuilderTy &Builder = IC.Builder;
6249 IC.addToWorklist(MulInstr);
6261 IC.replaceInstUsesWith(*TI, Mul);
6271 IC.replaceInstUsesWith(*BO, Zext);
6275 IC.addToWorklist(cast<Instruction>(U));
6360 auto *IC = dyn_cast<ICmpInst>(BI->getCondition());
6361 if (!IC || (IC->getOperand(0) != SI && IC->getOperand(1) != SI))
7886 static Instruction *foldFabsWithFcmpZero(FCmpInst &I, InstCombinerImpl &IC) {
7930 auto replacePredAndOp0 = [&IC](FCmpInst *I, FCmpInst::Predicate P, Value *X) {
7932 return IC.replaceOperand(*I, 0, X);