Lines Matching refs:CallInst
118 static bool callHasFloatingPointArgument(const CallInst *CI) { in callHasFloatingPointArgument()
124 static bool callHasFP128Argument(const CallInst *CI) { in callHasFP128Argument()
137 static Value *convertStrToInt(CallInst *CI, StringRef &Str, Value *EndPtr, in convertStrToInt()
251 static bool canTransformToMemCmp(CallInst *CI, Value *Str, uint64_t Len, in canTransformToMemCmp()
265 static void annotateDereferenceableBytes(CallInst *CI, in annotateDereferenceableBytes()
290 static void annotateNonNullNoUndefBasedOnAccess(CallInst *CI, in annotateNonNullNoUndefBasedOnAccess()
312 static void annotateNonNullAndDereferenceable(CallInst *CI, ArrayRef<unsigned> ArgNos, in annotateNonNullAndDereferenceable()
333 static Value *copyFlags(const CallInst &Old, Value *New) { in copyFlags()
336 if (auto *NewCI = dyn_cast_or_null<CallInst>(New)) in copyFlags()
341 static Value *mergeAttributesAndFlags(CallInst *NewCI, const CallInst &Old) { in mergeAttributesAndFlags()
357 Value *LibCallSimplifier::optimizeStrCat(CallInst *CI, IRBuilderBase &B) { in optimizeStrCat()
399 Value *LibCallSimplifier::optimizeStrNCat(CallInst *CI, IRBuilderBase &B) { in optimizeStrNCat()
445 static Value* memChrToCharCompare(CallInst *CI, Value *NBytes, in memChrToCharCompare()
467 Value *LibCallSimplifier::optimizeStrChr(CallInst *CI, IRBuilderBase &B) { in optimizeStrChr()
529 Value *LibCallSimplifier::optimizeStrRChr(CallInst *CI, IRBuilderBase &B) { in optimizeStrRChr()
553 Value *LibCallSimplifier::optimizeStrCmp(CallInst *CI, IRBuilderBase &B) { in optimizeStrCmp()
614 static Value *optimizeMemCmpVarSize(CallInst *CI, Value *LHS, Value *RHS,
618 Value *LibCallSimplifier::optimizeStrNCmp(CallInst *CI, IRBuilderBase &B) { in optimizeStrNCmp()
690 Value *LibCallSimplifier::optimizeStrNDup(CallInst *CI, IRBuilderBase &B) { in optimizeStrNDup()
703 Value *LibCallSimplifier::optimizeStrCpy(CallInst *CI, IRBuilderBase &B) { in optimizeStrCpy()
718 CallInst *NewCI = in optimizeStrCpy()
725 Value *LibCallSimplifier::optimizeStpCpy(CallInst *CI, IRBuilderBase &B) { in optimizeStpCpy()
752 CallInst *NewCI = B.CreateMemCpy(Dst, Align(1), Src, Align(1), LenV); in optimizeStpCpy()
759 Value *LibCallSimplifier::optimizeStrLCpy(CallInst *CI, IRBuilderBase &B) { in optimizeStrLCpy()
820 CallInst *NewCI = B.CreateMemCpy(Dst, Align(1), Src, Align(1), in optimizeStrLCpy()
838 Value *LibCallSimplifier::optimizeStringNCpy(CallInst *CI, bool RetEnd, in optimizeStringNCpy()
892 CallInst *NewCI = B.CreateMemSet(Dst, B.getInt8('\0'), Size, MemSetAlign); in optimizeStringNCpy()
919 CallInst *NewCI = B.CreateMemCpy(Dst, Align(1), Src, Align(1), in optimizeStringNCpy()
931 Value *LibCallSimplifier::optimizeStringLength(CallInst *CI, IRBuilderBase &B, in optimizeStringLength()
1047 Value *LibCallSimplifier::optimizeStrLen(CallInst *CI, IRBuilderBase &B) { in optimizeStrLen()
1054 Value *LibCallSimplifier::optimizeStrNLen(CallInst *CI, IRBuilderBase &B) { in optimizeStrNLen()
1064 Value *LibCallSimplifier::optimizeWcslen(CallInst *CI, IRBuilderBase &B) { in optimizeWcslen()
1074 Value *LibCallSimplifier::optimizeStrPBrk(CallInst *CI, IRBuilderBase &B) { in optimizeStrPBrk()
1101 Value *LibCallSimplifier::optimizeStrTo(CallInst *CI, IRBuilderBase &B) { in optimizeStrTo()
1112 Value *LibCallSimplifier::optimizeStrSpn(CallInst *CI, IRBuilderBase &B) { in optimizeStrSpn()
1133 Value *LibCallSimplifier::optimizeStrCSpn(CallInst *CI, IRBuilderBase &B) { in optimizeStrCSpn()
1157 Value *LibCallSimplifier::optimizeStrStr(CallInst *CI, IRBuilderBase &B) { in optimizeStrStr()
1211 Value *LibCallSimplifier::optimizeMemRChr(CallInst *CI, IRBuilderBase &B) { in optimizeMemRChr()
1299 Value *LibCallSimplifier::optimizeMemChr(CallInst *CI, IRBuilderBase &B) { in optimizeMemChr()
1493 static Value *optimizeMemCmpVarSize(CallInst *CI, Value *LHS, Value *RHS, in optimizeMemCmpVarSize()
1535 static Value *optimizeMemCmpConstantSize(CallInst *CI, Value *LHS, Value *RHS, in optimizeMemCmpConstantSize()
1582 Value *LibCallSimplifier::optimizeMemCmpBCmpCommon(CallInst *CI, in optimizeMemCmpBCmpCommon()
1600 Value *LibCallSimplifier::optimizeMemCmp(CallInst *CI, IRBuilderBase &B) { in optimizeMemCmp()
1619 Value *LibCallSimplifier::optimizeBCmp(CallInst *CI, IRBuilderBase &B) { in optimizeBCmp()
1623 Value *LibCallSimplifier::optimizeMemCpy(CallInst *CI, IRBuilderBase &B) { in optimizeMemCpy()
1630 CallInst *NewCI = B.CreateMemCpy(CI->getArgOperand(0), Align(1), in optimizeMemCpy()
1636 Value *LibCallSimplifier::optimizeMemCCpy(CallInst *CI, IRBuilderBase &B) { in optimizeMemCCpy()
1676 Value *LibCallSimplifier::optimizeMemPCpy(CallInst *CI, IRBuilderBase &B) { in optimizeMemPCpy()
1680 CallInst *NewCI = in optimizeMemPCpy()
1689 Value *LibCallSimplifier::optimizeMemMove(CallInst *CI, IRBuilderBase &B) { in optimizeMemMove()
1696 CallInst *NewCI = B.CreateMemMove(CI->getArgOperand(0), Align(1), in optimizeMemMove()
1702 Value *LibCallSimplifier::optimizeMemSet(CallInst *CI, IRBuilderBase &B) { in optimizeMemSet()
1710 CallInst *NewCI = B.CreateMemSet(CI->getArgOperand(0), Val, Size, Align(1)); in optimizeMemSet()
1715 Value *LibCallSimplifier::optimizeRealloc(CallInst *CI, IRBuilderBase &B) { in optimizeRealloc()
1726 Value *LibCallSimplifier::optimizeNew(CallInst *CI, IRBuilderBase &B, in optimizeNew()
1857 static Value *replaceUnaryCall(CallInst *CI, IRBuilderBase &B, in replaceUnaryCall()
1859 CallInst *NewCall = B.CreateUnaryIntrinsic(IID, CI->getArgOperand(0), CI); in replaceUnaryCall()
1887 static Value *optimizeDoubleFP(CallInst *CI, IRBuilderBase &B, in optimizeDoubleFP()
1947 static Value *optimizeUnaryDoubleFP(CallInst *CI, IRBuilderBase &B, in optimizeUnaryDoubleFP()
1954 static Value *optimizeBinaryDoubleFP(CallInst *CI, IRBuilderBase &B, in optimizeBinaryDoubleFP()
1961 Value *LibCallSimplifier::optimizeCAbs(CallInst *CI, IRBuilderBase &B) { in optimizeCAbs()
2038 Value *LibCallSimplifier::replacePowWithExp(CallInst *Pow, IRBuilderBase &B) { in replacePowWithExp()
2059 CallInst *BaseFn = dyn_cast<CallInst>(Base); in replacePowWithExp()
2173 CallInst *NewExp10 = in replacePowWithExp()
2233 Value *LibCallSimplifier::replacePowWithSqrt(CallInst *Pow, IRBuilderBase &B) { in replacePowWithSqrt()
2291 Value *LibCallSimplifier::optimizePow(CallInst *Pow, IRBuilderBase &B) { in optimizePow()
2403 Value *LibCallSimplifier::optimizeExp2(CallInst *CI, IRBuilderBase &B) { in optimizeExp2()
2450 Value *LibCallSimplifier::optimizeFMinFMax(CallInst *CI, IRBuilderBase &B) { in optimizeFMinFMax()
2479 Value *LibCallSimplifier::optimizeLog(CallInst *Log, IRBuilderBase &B) { in optimizeLog()
2491 CallInst *Arg = dyn_cast<CallInst>(Log->getArgOperand(0)); in optimizeLog()
2634 Value *LibCallSimplifier::mergeSqrtToExp(CallInst *CI, IRBuilderBase &B) { in mergeSqrtToExp()
2639 CallInst *Arg = dyn_cast<CallInst>(CI->getArgOperand(0)); in mergeSqrtToExp()
2697 Value *LibCallSimplifier::optimizeSqrt(CallInst *CI, IRBuilderBase &B) { in optimizeSqrt()
2768 Value *LibCallSimplifier::optimizeTrigInversionPairs(CallInst *CI, in optimizeTrigInversionPairs()
2781 auto *OpC = dyn_cast<CallInst>(Op1); in optimizeTrigInversionPairs()
2821 static bool isTrigLibCall(CallInst *CI) { in isTrigLibCall()
2884 static Value *optimizeSymmetricCall(CallInst *CI, bool IsEven, in optimizeSymmetricCall()
2893 auto *CallInst = copyFlags(*CI, B.CreateCall(CI->getCalledFunction(), {X})); in optimizeSymmetricCall() local
2896 return CallInst; in optimizeSymmetricCall()
2899 return B.CreateFNeg(CallInst); in optimizeSymmetricCall()
2908 auto *CallInst = copyFlags(*CI, B.CreateCall(CI->getCalledFunction(), {X})); in optimizeSymmetricCall() local
2909 return CallInst; in optimizeSymmetricCall()
2915 Value *LibCallSimplifier::optimizeSymmetric(CallInst *CI, LibFunc Func, in optimizeSymmetric()
2941 Value *LibCallSimplifier::optimizeSinCosPi(CallInst *CI, bool IsSin, IRBuilderBase &B) { in optimizeSinCosPi()
2948 SmallVector<CallInst *, 1> SinCalls; in optimizeSinCosPi()
2949 SmallVector<CallInst *, 1> CosCalls; in optimizeSinCosPi()
2950 SmallVector<CallInst *, 1> SinCosCalls; in optimizeSinCosPi()
2970 auto replaceTrigInsts = [this](SmallVectorImpl<CallInst *> &Calls, in optimizeSinCosPi()
2972 for (CallInst *C : Calls) in optimizeSinCosPi()
2985 SmallVectorImpl<CallInst *> &SinCalls, in classifyArgUse()
2986 SmallVectorImpl<CallInst *> &CosCalls, in classifyArgUse()
2987 SmallVectorImpl<CallInst *> &SinCosCalls) { in classifyArgUse()
2988 auto *CI = dyn_cast<CallInst>(Val); in classifyArgUse()
3025 Value *LibCallSimplifier::optimizeFFS(CallInst *CI, IRBuilderBase &B) { in optimizeFFS()
3040 Value *LibCallSimplifier::optimizeFls(CallInst *CI, IRBuilderBase &B) { in optimizeFls()
3052 Value *LibCallSimplifier::optimizeAbs(CallInst *CI, IRBuilderBase &B) { in optimizeAbs()
3061 Value *LibCallSimplifier::optimizeIsDigit(CallInst *CI, IRBuilderBase &B) { in optimizeIsDigit()
3070 Value *LibCallSimplifier::optimizeIsAscii(CallInst *CI, IRBuilderBase &B) { in optimizeIsAscii()
3078 Value *LibCallSimplifier::optimizeToAscii(CallInst *CI, IRBuilderBase &B) { in optimizeToAscii()
3085 Value *LibCallSimplifier::optimizeAtoi(CallInst *CI, IRBuilderBase &B) { in optimizeAtoi()
3096 Value *LibCallSimplifier::optimizeStrToInt(CallInst *CI, IRBuilderBase &B, in optimizeStrToInt()
3122 static bool isReportingError(Function *Callee, CallInst *CI, int StreamArg);
3124 Value *LibCallSimplifier::optimizeErrorReporting(CallInst *CI, IRBuilderBase &B, in optimizeErrorReporting()
3143 static bool isReportingError(Function *Callee, CallInst *CI, int StreamArg) { in isReportingError()
3164 Value *LibCallSimplifier::optimizePrintFString(CallInst *CI, IRBuilderBase &B) { in optimizePrintFString()
3242 Value *LibCallSimplifier::optimizePrintF(CallInst *CI, IRBuilderBase &B) { in optimizePrintF()
3259 CallInst *New = cast<CallInst>(CI->clone()); in optimizePrintF()
3271 CallInst *New = cast<CallInst>(CI->clone()); in optimizePrintF()
3280 Value *LibCallSimplifier::optimizeSPrintFString(CallInst *CI, in optimizeSPrintFString()
3364 Value *LibCallSimplifier::optimizeSPrintF(CallInst *CI, IRBuilderBase &B) { in optimizeSPrintF()
3380 CallInst *New = cast<CallInst>(CI->clone()); in optimizeSPrintF()
3392 CallInst *New = cast<CallInst>(CI->clone()); in optimizeSPrintF()
3406 Value *LibCallSimplifier::emitSnPrintfMemCpy(CallInst *CI, Value *StrArg, in emitSnPrintfMemCpy()
3455 Value *LibCallSimplifier::optimizeSnPrintFString(CallInst *CI, in optimizeSnPrintFString()
3525 Value *LibCallSimplifier::optimizeSnPrintF(CallInst *CI, IRBuilderBase &B) { in optimizeSnPrintF()
3535 Value *LibCallSimplifier::optimizeFPrintFString(CallInst *CI, in optimizeFPrintFString()
3590 Value *LibCallSimplifier::optimizeFPrintF(CallInst *CI, IRBuilderBase &B) { in optimizeFPrintF()
3604 CallInst *New = cast<CallInst>(CI->clone()); in optimizeFPrintF()
3617 CallInst *New = cast<CallInst>(CI->clone()); in optimizeFPrintF()
3626 Value *LibCallSimplifier::optimizeFWrite(CallInst *CI, IRBuilderBase &B) { in optimizeFWrite()
3653 Value *LibCallSimplifier::optimizeFPuts(CallInst *CI, IRBuilderBase &B) { in optimizeFPuts()
3683 Value *LibCallSimplifier::optimizePuts(CallInst *CI, IRBuilderBase &B) { in optimizePuts()
3701 Value *LibCallSimplifier::optimizeBCopy(CallInst *CI, IRBuilderBase &B) { in optimizeBCopy()
3714 Value *LibCallSimplifier::optimizeStringMemoryLibCall(CallInst *CI, in optimizeStringMemoryLibCall()
3819 Value *LibCallSimplifier::optimizeFloatingPointLibCall(CallInst *CI, in optimizeFloatingPointLibCall()
3934 Value *LibCallSimplifier::optimizeCall(CallInst *CI, IRBuilderBase &Builder) { in optimizeCall()
4113 CallInst *CI, unsigned ObjSizeOp, std::optional<unsigned> SizeOp, in isFortifiedCallFoldable()
4153 Value *FortifiedLibCallSimplifier::optimizeMemCpyChk(CallInst *CI, in optimizeMemCpyChk()
4156 CallInst *NewCI = in optimizeMemCpyChk()
4165 Value *FortifiedLibCallSimplifier::optimizeMemMoveChk(CallInst *CI, in optimizeMemMoveChk()
4168 CallInst *NewCI = in optimizeMemMoveChk()
4177 Value *FortifiedLibCallSimplifier::optimizeMemSetChk(CallInst *CI, in optimizeMemSetChk()
4181 CallInst *NewCI = B.CreateMemSet(CI->getArgOperand(0), Val, in optimizeMemSetChk()
4189 Value *FortifiedLibCallSimplifier::optimizeMemPCpyChk(CallInst *CI, in optimizeMemPCpyChk()
4195 return mergeAttributesAndFlags(cast<CallInst>(Call), *CI); in optimizeMemPCpyChk()
4200 Value *FortifiedLibCallSimplifier::optimizeStrpCpyChk(CallInst *CI, in optimizeStrpCpyChk()
4244 return copyFlags(*CI, cast<CallInst>(Ret)); in optimizeStrpCpyChk()
4247 Value *FortifiedLibCallSimplifier::optimizeStrLenChk(CallInst *CI, in optimizeStrLenChk()
4255 Value *FortifiedLibCallSimplifier::optimizeStrpNCpyChk(CallInst *CI, in optimizeStrpNCpyChk()
4272 Value *FortifiedLibCallSimplifier::optimizeMemCCpyChk(CallInst *CI, in optimizeMemCCpyChk()
4282 Value *FortifiedLibCallSimplifier::optimizeSNPrintfChk(CallInst *CI, in optimizeSNPrintfChk()
4294 Value *FortifiedLibCallSimplifier::optimizeSPrintfChk(CallInst *CI, in optimizeSPrintfChk()
4306 Value *FortifiedLibCallSimplifier::optimizeStrCatChk(CallInst *CI, in optimizeStrCatChk()
4315 Value *FortifiedLibCallSimplifier::optimizeStrLCat(CallInst *CI, in optimizeStrLCat()
4325 Value *FortifiedLibCallSimplifier::optimizeStrNCatChk(CallInst *CI, in optimizeStrNCatChk()
4335 Value *FortifiedLibCallSimplifier::optimizeStrLCpyChk(CallInst *CI, in optimizeStrLCpyChk()
4345 Value *FortifiedLibCallSimplifier::optimizeVSNPrintfChk(CallInst *CI, in optimizeVSNPrintfChk()
4355 Value *FortifiedLibCallSimplifier::optimizeVSPrintfChk(CallInst *CI, in optimizeVSPrintfChk()
4365 Value *FortifiedLibCallSimplifier::optimizeCall(CallInst *CI, in optimizeCall()