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

References

gen/tools/clang/include/clang/Basic/arm_mve_builtin_cg.inc
  331   return Builder.CreateSub(Val0, Val1);
include/llvm/IR/IRBuilder.h
 1160     return CreateSub(LHS, RHS, Name, false, true);
 1164     return CreateSub(LHS, RHS, Name, true, false);
 2423     Value *Difference = CreateSub(LHS_int, RHS_int);
 2616         PtrIntValue = CreateSub(PtrIntValue, OffsetValue, "offsetptr");
 2679     Value *Mask = CreateSub(Alignment, ConstantInt::get(IntPtrTy, 1), "mask");
lib/Analysis/MemoryBuiltins.cpp
  544           Builder.CreateSub(SizeOffsetPair.first, SizeOffsetPair.second);
lib/Analysis/ScalarEvolutionExpander.cpp
 1071       Builder.CreateSub(PN, StepV, Twine(IVName) + ".iv.next") :
 1450       Result = Builder.CreateSub(expandCodeFor(Normalized->getStart(), TruncTy),
 1900       V = Builder.CreateSub(V, VO.second);
 2304     Sub = Builder.CreateSub(StartValue, MulV);
lib/CodeGen/AtomicExpandPass.cpp
  534     return Builder.CreateSub(Loaded, Inc, "new");
lib/CodeGen/ExpandMemCmp.cpp
  292   Value *Diff = Builder.CreateSub(LoadSrc1, LoadSrc2);
  592     return Builder.CreateSub(LoadSrc1, LoadSrc2);
  605   return Builder.CreateSub(ZextUGT, ZextULT);
lib/CodeGen/IntrinsicLowering.cpp
  303     SrcM1 = Builder.CreateSub(Src, SrcM1);
lib/CodeGen/SafeStack.cpp
  657     SP = IRB.CreateSub(SP, Size);
lib/IR/AutoUpgrade.cpp
 2722       Rep = Builder.CreateSub(CI->getArgOperand(0), CI->getArgOperand(1));
lib/IR/Core.cpp
 3281   return wrap(unwrap(B)->CreateSub(unwrap(LHS), unwrap(RHS), Name));
lib/Target/AMDGPU/AMDGPUCodeGenPrepare.cpp
  724     Res = Builder.CreateSub(Num, Rem);
  821   Value *RCP_S_E = Builder.CreateSub(RCP, E);
  833   Value *Remainder = Builder.CreateSub(Num, Num_S_Remainder);
  854     Value *Quotient_S_One = Builder.CreateSub(Quotient, One);
  863     Value *Remainder_S_Den = Builder.CreateSub(Remainder, Den);
  877     Res = Builder.CreateSub(Res, Sign);
lib/Target/ARM/ARMCodeGenPrepare.cpp
  490     Value *NewVal = Builder.CreateSub(I->getOperand(0), NewConst);
lib/Target/ARM/MVETailPredication.cpp
  500     Value *Remaining = Builder.CreateSub(Processed, Factor);
lib/Target/Hexagon/HexagonLoopIdiomRecognition.cpp
 2207     Value *Dist = Builder.CreateSub(LowA, HighA);
lib/Target/RISCV/RISCVISelLowering.cpp
 2834         Builder.CreateSub(Builder.getIntN(XLen, XLen - ValWidth), ShiftAmt);
lib/Transforms/IPO/LowerTypeTests.cpp
  749   Value *PtrOffset = B.CreateSub(PtrAsInt, OffsetedGlobalAsInt);
lib/Transforms/InstCombine/InstCombineAddSub.cpp
  795         return Builder.CreateSub(RHS, NewAnd, "sub");
  800         return Builder.CreateSub(RHS, NewOr, "sub");
  820         return Builder.CreateSub(RHS, NewOr, "sub");
 1662     Result = Builder.CreateSub(Result, Offset);
 1891                                       Builder.CreateSub(Z, Y, Op1->getName()));
lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
  183       Builder.CreateSub(V, ConstantInt::get(Ty, Lo), V->getName() + ".off");
lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
   63     A = IC.Builder.CreateSub(A, B);
  245             Sub = Builder.CreateSub(X, Y, "suba");
  247             Sub = Builder.CreateSub(Builder.CreateNeg(C1), Y, "subc");
 1377     Value *Sub = Builder.CreateSub(Op0, Op1);
lib/Transforms/InstCombine/InstructionCombining.cpp
 1943           Value *NewSub = Builder.CreateSub(PtrToInt, Index->getOperand(1));
lib/Transforms/Instrumentation/AddressSanitizer.cpp
 3284   Value *Misalign = IRB.CreateSub(AllocaRzSize, PartialSize);
lib/Transforms/Instrumentation/BoundsChecking.cpp
   89   Value *ObjSize = IRB.CreateSub(Size, Offset);
lib/Transforms/Instrumentation/MemorySanitizer.cpp
 4342       Value *GrCopySize = IRB.CreateSub(GrArgSize, GrRegSaveAreaShadowPtrOff);
 4360       Value *VrCopySize = IRB.CreateSub(VrArgSize, VrRegSaveAreaShadowPtrOff);
lib/Transforms/Scalar/InductiveRangeCheckElimination.cpp
  999         RightValue = B.CreateSub(RightValue, One);
lib/Transforms/Scalar/LoopIdiomRecognize.cpp
 1721   Count = Builder.CreateSub(
 1759       Builder.CreateSub(TcPhi, ConstantInt::get(Ty, 1),
 1866         Builder.CreateSub(TcPhi, ConstantInt::get(Ty, 1),
lib/Transforms/Scalar/LowerAtomic.cpp
   59     Res = Builder.CreateSub(Orig, Val);
lib/Transforms/Scalar/MemCpyOptimizer.cpp
 1054   Value *SizeDiff = Builder.CreateSub(DestSize, SrcSize);
lib/Transforms/Scalar/StraightLineStrengthReduce.cpp
  647       Reduced = Builder.CreateSub(Basis.Ins, NegBump);
lib/Transforms/Utils/IntegerDivision.cpp
   61   Value *UDividend    = Builder.CreateSub(DvdXor, DividendSign);
   62   Value *UDivisor     = Builder.CreateSub(DvsXor, DivisorSign);
   65   Value *SRem         = Builder.CreateSub(Xored, DividendSign);
   90   Value *Remainder = Builder.CreateSub(Dividend, Product);
  133   Value *U_Dvnd = Builder.CreateSub(Tmp2, Tmp);
  135   Value *U_Dvsr = Builder.CreateSub(Tmp3, Tmp1);
  139   Value *Q      = Builder.CreateSub(Tmp4, Q_Sgn);
  256   Value *SR          = Builder.CreateSub(Tmp0, Tmp1);
  272   Value *Tmp2     = Builder.CreateSub(MSB, SR);
  314   Value *Tmp9  = Builder.CreateSub(Tmp4, Tmp7);
  318   Value *R     = Builder.CreateSub(Tmp7, Tmp11);
lib/Transforms/Utils/LoopUnrollRuntime.cpp
  361             Builder.CreateSub(NewIdx, ConstantInt::get(NewIdx->getType(), 1),
  895     Value *TestVal = B2.CreateSub(TripCount, ModVal, "unroll_iter");
  901         B2.CreateSub(NewIdx, ConstantInt::get(NewIdx->getType(), 1),
lib/Transforms/Utils/LowerMemIntrinsics.cpp
  195    Value *RuntimeBytesCopied = PLBuilder.CreateSub(CopyLen, RuntimeResidual);
  332   Value *IndexPtr = LoopBuilder.CreateSub(
lib/Transforms/Utils/SimplifyCFG.cpp
 5401     TableIndex = Builder.CreateSub(SI->getCondition(), MinCaseVal,
 5618   auto *Sub = Builder.CreateSub(SI->getCondition(), ConstantInt::get(Ty, Base));
lib/Transforms/Utils/SimplifyLibCalls.cpp
  704         return B.CreateSub(ConstantInt::get(CI->getType(), NullTermIdx),
 1001     return B.CreateSub(LHSV, RHSV, "chardiff");
 2221   V = B.CreateSub(ConstantInt::get(V->getType(), ArgType->getIntegerBitWidth()),
 2238   Op = B.CreateSub(Op, B.getInt32('0'), "isdigittmp");
lib/Transforms/Vectorize/LoopVectorize.cpp
 2642   VectorTripCount = Builder.CreateSub(TC, R, "n.vec");
 2838       return B.CreateSub(StartValue, Index);
 3140       Value *CountMinusOne = B.CreateSub(
lib/Transforms/Vectorize/VPlan.cpp
  378     auto *TCMO = Builder.CreateSub(TC, ConstantInt::get(TC->getType(), 1),
tools/clang/lib/CodeGen/CGBuiltin.cpp
  318   return CGF.Builder.CreateSub(Result, ConstantInt::get(IntTy, 1));
 1340   llvm::Value *AbsOfNegative = CGF.Builder.CreateSub(Zero, Signed);
 1910     Value *Result = Builder.CreateSub(Ctlz, llvm::ConstantInt::get(ArgType, 1));
 2534     Value *NextSize = Builder.CreateSub(SizePhi, ConstantInt::get(SizeTy, 1));
 5688     Ops[0] = Builder.CreateSub(Ops[0], Ops[1], "vsubhn");
 8009     return Builder.CreateSub(Ops[0], EmitScalarExpr(E->getArg(1)), "vsubd");
 9768   Value *Sub = CGF.Builder.CreateSub(Zero, Ops[0]);
tools/clang/lib/CodeGen/CGExpr.cpp
 2008       llvm::Value *BytesBetween = Builder.CreateSub(LHS, RHS, "ivar.offset");
 3706           Idx = Builder.CreateSub(
 3729         Idx = Builder.CreateSub(
tools/clang/lib/CodeGen/CGExprCXX.cpp
 1004       RemainingSize = Builder.CreateSub(RemainingSize, InitializedSize);
 1153       NumElements = Builder.CreateSub(
tools/clang/lib/CodeGen/CGExprComplex.cpp
  606     ResR = Builder.CreateSub(Op.LHS.first, Op.RHS.first, "sub.r");
  609     ResI = Builder.CreateSub(Op.LHS.second, Op.RHS.second, "sub.i");
  767     ResR = Builder.CreateSub(ResRl, ResRr, "mul.r");
  852     llvm::Value *Tmp9 = Builder.CreateSub(Tmp7, Tmp8); // bc-ad
tools/clang/lib/CodeGen/CGExprScalar.cpp
 3430       Result = Builder.CreateSub(FullLHS, FullRHS);
 3493         return Builder.CreateSub(op.LHS, op.RHS, "sub");
 3521     return Builder.CreateSub(op.LHS, op.RHS, "sub");
 3536   Value *diffInChars = Builder.CreateSub(LHS, RHS, "sub.ptr.sub");
 3631           Ops.LHS, Builder.CreateSub(PromotedWidthMinusOne, RHS, "shl.zeros",
 4573     TotalOffset = Builder.CreateSub(GEPVal_int, BasePtr_int);
tools/clang/lib/CodeGen/CGStmt.cpp
 1228     Builder.CreateSub(SwitchInsn->getCondition(), Builder.getInt(LHS));
tools/clang/lib/CodeGen/ItaniumCXXABI.cpp
  642     VTableOffset = Builder.CreateSub(VTableOffset, ptrdiff_1);
tools/clang/lib/CodeGen/MicrosoftCXXABI.cpp
 1189     llvm::Value *VtorDispValue = Builder.CreateSub(
tools/polly/lib/CodeGen/LoopGeneratorsGOMP.cpp
  150   UB = Builder.CreateSub(UB, ConstantInt::get(LongType, 1),
tools/polly/lib/CodeGen/PerfMonitor.cpp
  145   Value *CyclesTotal = Builder.CreateSub(CurrentCycles, CyclesStart);
  283   Value *CyclesInScop = Builder.CreateSub(CurrentCycles, CyclesStart);
unittests/ExecutionEngine/MCJIT/MCJITTestBase.h
  180     Value *RecursiveParam = Builder.CreateSub(Param, One);
unittests/IR/BasicBlockTest.cpp
  118   Instruction *SubInst = cast<Instruction>(Builder1.CreateSub(MulInst, V));
unittests/IR/PatternMatch.cpp
  829   EXPECT_FALSE(m_NSWSub(m_Value(), m_Value()).match(IRB.CreateSub(L, R)));
  843   EXPECT_FALSE(m_NUWSub(m_Value(), m_Value()).match(IRB.CreateSub(L, R)));
unittests/Transforms/Utils/CloningTest.cpp
  226   Instruction *SubInst = cast<Instruction>(Builder2.CreateSub(MulInst, V));
  275   Instruction *SubInst = cast<Instruction>(Builder2.CreateSub(MulInst, V));
  328   Instruction *SubInst = cast<Instruction>(Builder2.CreateSub(MulInst, V));
unittests/Transforms/Utils/SSAUpdaterBulkTest.cpp
   57   Value *SubOp1 = B.CreateSub(FirstArg, ConstantInt::get(I32Ty, 2));
   62   Value *SubOp2 = B.CreateSub(FirstArg, ConstantInt::get(I32Ty, 4));
   69   auto *I4 = cast<Instruction>(B.CreateSub(SubOp1, SubOp2));