Lines Matching refs:TLI
258 const TargetLibraryInfo &TLI) { in inferNonMandatoryLibFuncAttrs() argument
262 return inferNonMandatoryLibFuncAttrs(*F, TLI); in inferNonMandatoryLibFuncAttrs()
266 const TargetLibraryInfo &TLI) { in inferNonMandatoryLibFuncAttrs() argument
268 if (!(TLI.getLibFunc(F, TheLibFunc) && TLI.has(TheLibFunc))) in inferNonMandatoryLibFuncAttrs()
1235 if (!isLibFreeFunction(&F, TheLibFunc) && !isReallocLikeFn(&F, &TLI)) in inferNonMandatoryLibFuncAttrs()
1241 const TargetLibraryInfo &TLI, bool Signed = true) { in setArgExtAttr() argument
1242 Attribute::AttrKind ExtAttr = TLI.getExtAttrForI32Param(Signed); in setArgExtAttr()
1282 FunctionCallee llvm::getOrInsertLibFunc(Module *M, const TargetLibraryInfo &TLI, in getOrInsertLibFunc() argument
1285 assert(TLI.has(TheLibFunc) && in getOrInsertLibFunc()
1287 StringRef Name = TLI.getName(TheLibFunc); in getOrInsertLibFunc()
1304 setArgExtAttr(*F, 0, TLI); in getOrInsertLibFunc()
1312 setArgExtAttr(*F, 1, TLI); in getOrInsertLibFunc()
1315 setArgExtAttr(*F, 2, TLI); in getOrInsertLibFunc()
1353 FunctionCallee llvm::getOrInsertLibFunc(Module *M, const TargetLibraryInfo &TLI, in getOrInsertLibFunc() argument
1355 return getOrInsertLibFunc(M, TLI, TheLibFunc, T, AttributeList()); in getOrInsertLibFunc()
1358 bool llvm::isLibFuncEmittable(const Module *M, const TargetLibraryInfo *TLI, in isLibFuncEmittable() argument
1360 StringRef FuncName = TLI->getName(TheLibFunc); in isLibFuncEmittable()
1361 if (!TLI->has(TheLibFunc)) in isLibFuncEmittable()
1368 return TLI->isValidProtoForLibFunc(*F->getFunctionType(), TheLibFunc, *M); in isLibFuncEmittable()
1375 bool llvm::isLibFuncEmittable(const Module *M, const TargetLibraryInfo *TLI, in isLibFuncEmittable() argument
1378 return TLI->getLibFunc(Name, TheLibFunc) && in isLibFuncEmittable()
1379 isLibFuncEmittable(M, TLI, TheLibFunc); in isLibFuncEmittable()
1382 bool llvm::hasFloatFn(const Module *M, const TargetLibraryInfo *TLI, Type *Ty, in hasFloatFn() argument
1388 return isLibFuncEmittable(M, TLI, FloatFn); in hasFloatFn()
1390 return isLibFuncEmittable(M, TLI, DoubleFn); in hasFloatFn()
1392 return isLibFuncEmittable(M, TLI, LongDoubleFn); in hasFloatFn()
1396 StringRef llvm::getFloatFn(const Module *M, const TargetLibraryInfo *TLI, in getFloatFn() argument
1399 assert(hasFloatFn(M, TLI, Ty, DoubleFn, FloatFn, LongDoubleFn) && in getFloatFn()
1407 return TLI->getName(FloatFn); in getFloatFn()
1410 return TLI->getName(DoubleFn); in getFloatFn()
1413 return TLI->getName(LongDoubleFn); in getFloatFn()
1427 const TargetLibraryInfo *TLI, in emitLibCall() argument
1430 if (!isLibFuncEmittable(M, TLI, TheLibFunc)) in emitLibCall()
1433 StringRef FuncName = TLI->getName(TheLibFunc); in emitLibCall()
1435 FunctionCallee Callee = getOrInsertLibFunc(M, *TLI, TheLibFunc, FuncType); in emitLibCall()
1436 inferNonMandatoryLibFuncAttrs(M, FuncName, *TLI); in emitLibCall()
1445 const TargetLibraryInfo *TLI) { in emitStrLen() argument
1448 B.getInt8PtrTy(), castToCStr(Ptr, B), B, TLI); in emitStrLen()
1452 const TargetLibraryInfo *TLI) { in emitStrDup() argument
1454 castToCStr(Ptr, B), B, TLI); in emitStrDup()
1458 const TargetLibraryInfo *TLI) { in emitStrChr() argument
1462 {castToCStr(Ptr, B), ConstantInt::get(I32Ty, C)}, B, TLI); in emitStrChr()
1466 const DataLayout &DL, const TargetLibraryInfo *TLI) { in emitStrNCmp() argument
1471 {castToCStr(Ptr1, B), castToCStr(Ptr2, B), Len}, B, TLI); in emitStrNCmp()
1475 const TargetLibraryInfo *TLI) { in emitStrCpy() argument
1478 {castToCStr(Dst, B), castToCStr(Src, B)}, B, TLI); in emitStrCpy()
1482 const TargetLibraryInfo *TLI) { in emitStpCpy() argument
1485 {castToCStr(Dst, B), castToCStr(Src, B)}, B, TLI); in emitStpCpy()
1489 const TargetLibraryInfo *TLI) { in emitStrNCpy() argument
1492 {castToCStr(Dst, B), castToCStr(Src, B), Len}, B, TLI); in emitStrNCpy()
1496 const TargetLibraryInfo *TLI) { in emitStpNCpy() argument
1499 {castToCStr(Dst, B), castToCStr(Src, B), Len}, B, TLI); in emitStpNCpy()
1504 const TargetLibraryInfo *TLI) { in emitMemCpyChk() argument
1506 if (!isLibFuncEmittable(M, TLI, LibFunc_memcpy_chk)) in emitMemCpyChk()
1513 FunctionCallee MemCpy = getOrInsertLibFunc(M, *TLI, LibFunc_memcpy_chk, in emitMemCpyChk()
1527 const DataLayout &DL, const TargetLibraryInfo *TLI) { in emitMemPCpy() argument
1532 {Dst, Src, Len}, B, TLI); in emitMemPCpy()
1536 const DataLayout &DL, const TargetLibraryInfo *TLI) { in emitMemChr() argument
1541 {castToCStr(Ptr, B), Val, Len}, B, TLI); in emitMemChr()
1545 const DataLayout &DL, const TargetLibraryInfo *TLI) { in emitMemRChr() argument
1550 {castToCStr(Ptr, B), Val, Len}, B, TLI); in emitMemRChr()
1554 const DataLayout &DL, const TargetLibraryInfo *TLI) { in emitMemCmp() argument
1559 {castToCStr(Ptr1, B), castToCStr(Ptr2, B), Len}, B, TLI); in emitMemCmp()
1563 const DataLayout &DL, const TargetLibraryInfo *TLI) { in emitBCmp() argument
1568 {castToCStr(Ptr1, B), castToCStr(Ptr2, B), Len}, B, TLI); in emitBCmp()
1572 IRBuilderBase &B, const TargetLibraryInfo *TLI) { in emitMemCCpy() argument
1576 {Ptr1, Ptr2, Val, Len}, B, TLI); in emitMemCCpy()
1581 const TargetLibraryInfo *TLI) { in emitSNPrintf() argument
1586 Args, B, TLI, /*IsVaArgs=*/true); in emitSNPrintf()
1591 const TargetLibraryInfo *TLI) { in emitSPrintf() argument
1595 {B.getInt8PtrTy(), B.getInt8PtrTy()}, Args, B, TLI, in emitSPrintf()
1600 const TargetLibraryInfo *TLI) { in emitStrCat() argument
1603 {castToCStr(Dest, B), castToCStr(Src, B)}, B, TLI); in emitStrCat()
1607 const TargetLibraryInfo *TLI) { in emitStrLCpy() argument
1610 {castToCStr(Dest, B), castToCStr(Src, B), Size}, B, TLI); in emitStrLCpy()
1614 const TargetLibraryInfo *TLI) { in emitStrLCat() argument
1617 {castToCStr(Dest, B), castToCStr(Src, B), Size}, B, TLI); in emitStrLCat()
1621 const TargetLibraryInfo *TLI) { in emitStrNCat() argument
1624 {castToCStr(Dest, B), castToCStr(Src, B), Size}, B, TLI); in emitStrNCat()
1628 IRBuilderBase &B, const TargetLibraryInfo *TLI) { in emitVSNPrintf() argument
1632 {castToCStr(Dest, B), Size, castToCStr(Fmt, B), VAList}, B, TLI); in emitVSNPrintf()
1636 IRBuilderBase &B, const TargetLibraryInfo *TLI) { in emitVSPrintf() argument
1639 {castToCStr(Dest, B), castToCStr(Fmt, B), VAList}, B, TLI); in emitVSPrintf()
1660 const TargetLibraryInfo *TLI) { in emitUnaryFloatFnCallHelper() argument
1664 FunctionCallee Callee = getOrInsertLibFunc(M, *TLI, TheLibFunc, Op->getType(), in emitUnaryFloatFnCallHelper()
1680 Value *llvm::emitUnaryFloatFnCall(Value *Op, const TargetLibraryInfo *TLI, in emitUnaryFloatFnCall() argument
1687 TLI->getLibFunc(Name, TheLibFunc); in emitUnaryFloatFnCall()
1689 return emitUnaryFloatFnCallHelper(Op, TheLibFunc, Name, B, Attrs, TLI); in emitUnaryFloatFnCall()
1692 Value *llvm::emitUnaryFloatFnCall(Value *Op, const TargetLibraryInfo *TLI, in emitUnaryFloatFnCall() argument
1699 StringRef Name = getFloatFn(M, TLI, Op->getType(), DoubleFn, FloatFn, in emitUnaryFloatFnCall()
1702 return emitUnaryFloatFnCallHelper(Op, TheLibFunc, Name, B, Attrs, TLI); in emitUnaryFloatFnCall()
1709 const TargetLibraryInfo *TLI) { in emitBinaryFloatFnCallHelper() argument
1713 FunctionCallee Callee = getOrInsertLibFunc(M, *TLI, TheLibFunc, Op1->getType(), in emitBinaryFloatFnCallHelper()
1715 inferNonMandatoryLibFuncAttrs(M, Name, *TLI); in emitBinaryFloatFnCallHelper()
1731 const TargetLibraryInfo *TLI, in emitBinaryFloatFnCall() argument
1740 TLI->getLibFunc(Name, TheLibFunc); in emitBinaryFloatFnCall()
1742 return emitBinaryFloatFnCallHelper(Op1, Op2, TheLibFunc, Name, B, Attrs, TLI); in emitBinaryFloatFnCall()
1746 const TargetLibraryInfo *TLI, in emitBinaryFloatFnCall() argument
1753 StringRef Name = getFloatFn(M, TLI, Op1->getType(), DoubleFn, FloatFn, in emitBinaryFloatFnCall()
1756 return emitBinaryFloatFnCallHelper(Op1, Op2, TheLibFunc, Name, B, Attrs, TLI); in emitBinaryFloatFnCall()
1760 const TargetLibraryInfo *TLI) { in emitPutChar() argument
1762 if (!isLibFuncEmittable(M, TLI, LibFunc_putchar)) in emitPutChar()
1765 StringRef PutCharName = TLI->getName(LibFunc_putchar); in emitPutChar()
1766 FunctionCallee PutChar = getOrInsertLibFunc(M, *TLI, LibFunc_putchar, in emitPutChar()
1768 inferNonMandatoryLibFuncAttrs(M, PutCharName, *TLI); in emitPutChar()
1783 const TargetLibraryInfo *TLI) { in emitPutS() argument
1785 if (!isLibFuncEmittable(M, TLI, LibFunc_puts)) in emitPutS()
1788 StringRef PutsName = TLI->getName(LibFunc_puts); in emitPutS()
1789 FunctionCallee PutS = getOrInsertLibFunc(M, *TLI, LibFunc_puts, B.getInt32Ty(), in emitPutS()
1791 inferNonMandatoryLibFuncAttrs(M, PutsName, *TLI); in emitPutS()
1800 const TargetLibraryInfo *TLI) { in emitFPutC() argument
1802 if (!isLibFuncEmittable(M, TLI, LibFunc_fputc)) in emitFPutC()
1805 StringRef FPutcName = TLI->getName(LibFunc_fputc); in emitFPutC()
1806 FunctionCallee F = getOrInsertLibFunc(M, *TLI, LibFunc_fputc, B.getInt32Ty(), in emitFPutC()
1809 inferNonMandatoryLibFuncAttrs(M, FPutcName, *TLI); in emitFPutC()
1821 const TargetLibraryInfo *TLI) { in emitFPutS() argument
1823 if (!isLibFuncEmittable(M, TLI, LibFunc_fputs)) in emitFPutS()
1826 StringRef FPutsName = TLI->getName(LibFunc_fputs); in emitFPutS()
1827 FunctionCallee F = getOrInsertLibFunc(M, *TLI, LibFunc_fputs, B.getInt32Ty(), in emitFPutS()
1830 inferNonMandatoryLibFuncAttrs(M, FPutsName, *TLI); in emitFPutS()
1840 const DataLayout &DL, const TargetLibraryInfo *TLI) { in emitFWrite() argument
1842 if (!isLibFuncEmittable(M, TLI, LibFunc_fwrite)) in emitFWrite()
1846 StringRef FWriteName = TLI->getName(LibFunc_fwrite); in emitFWrite()
1847 FunctionCallee F = getOrInsertLibFunc(M, *TLI, LibFunc_fwrite, in emitFWrite()
1852 inferNonMandatoryLibFuncAttrs(M, FWriteName, *TLI); in emitFWrite()
1864 const TargetLibraryInfo *TLI) { in emitMalloc() argument
1866 if (!isLibFuncEmittable(M, TLI, LibFunc_malloc)) in emitMalloc()
1869 StringRef MallocName = TLI->getName(LibFunc_malloc); in emitMalloc()
1871 FunctionCallee Malloc = getOrInsertLibFunc(M, *TLI, LibFunc_malloc, in emitMalloc()
1873 inferNonMandatoryLibFuncAttrs(M, MallocName, *TLI); in emitMalloc()
1884 const TargetLibraryInfo &TLI) { in emitCalloc() argument
1886 if (!isLibFuncEmittable(M, &TLI, LibFunc_calloc)) in emitCalloc()
1889 StringRef CallocName = TLI.getName(LibFunc_calloc); in emitCalloc()
1892 FunctionCallee Calloc = getOrInsertLibFunc(M, TLI, LibFunc_calloc, in emitCalloc()
1894 inferNonMandatoryLibFuncAttrs(M, CallocName, TLI); in emitCalloc()