Home | History | Annotate | Download | only in Scalar

Lines Matching refs:Optimizations

11 // optimizations for calls to specific well-known function calls (e.g. runtime
45 /// This class is the abstract base class for the set of optimizations that
59 /// do various optimizations. If this returns null then no transformation was
128 // String and Memory LibCall Optimizations
132 // 'strcat' Optimizations
157 // These optimizations require TargetData.
182 // 'strncat' Optimizations
216 // These optimizations require TargetData.
230 // 'strchr' Optimizations
248 // These optimizations require TargetData.
280 // 'strrchr' Optimizations
321 // 'strcmp' Optimizations
357 // These optimizations require TargetData.
370 // 'strncmp' Optimizations
424 // 'strcpy' Optimizations
445 // These optimizations require TargetData.
466 Optimizations
500 // These optimizations require TargetData.
515 // 'strlen' Optimizations
541 // 'strpbrk' Optimizations
579 // 'strto*' Optimizations. This handles strtol, strtod, strtof, strtoul, etc.
601 // 'strspn' Optimizations
630 // 'strcspn' Optimizations
662 // 'strstr' Optimizations
726 // 'memcmp' Optimizations
774 // 'memcpy' Optimizations
778 // These optimizations require TargetData.
796 // 'memmove' Optimizations
800 // These optimizations require TargetData.
818 // 'memset' Optimizations
822 // These optimizations require TargetData.
840 // Math Library Optimizations
844 // 'pow*' Optimizations
899 // 'exp2' Optimizations
950 // Double -> Float Shrinking Optimizations for Unary Functions like 'floor'
973 // Integer Optimizations
977 // 'ffs*' Optimizations
1013 // 'isdigit' Optimizations
1032 // 'isascii' Optimizations
1050 // 'abs', 'labs', 'llabs' Optimizations
1071 // 'toascii' Optimizations
1088 // Formatting and IO Optimizations
1092 // 'printf' Optimizations
1181 // 'sprintf' Optimizations
1199 // These optimizations require TargetData.
1209 // The remaining optimizations require the format string to be "%s" or "%c"
1229 // These optimizations require TargetData.
1275 // 'fwrite' Optimizations
1310 // 'fputs' Optimizations
1314 // These optimizations require TargetData.
1335 // 'fprintf' Optimizations
1340 // All the optimizations depend on the format string.
1351 // These optimizations require TargetData.
1361 // The remaining optimizations require the format string to be "%s" or "%c"
1413 // 'puts' Optimizations
1452 StringMap<LibCallOptimization*> Optimizations;
1453 // String and Memory LibCall Optimizations
1459 // Math Library Optimizations
1461 // Integer Optimizations
1464 // Formatting and IO Optimizations
1505 /// Optimizations - Populate the Optimizations map with all the optimizations
1508 // String and Memory LibCall Optimizations
1509 Optimizations["strcat"] = &StrCat;
1510 Optimizations["strncat"] = &StrNCat;
1511 Optimizations["strchr"] = &StrChr;
1512 Optimizations["strrchr"] = &StrRChr;
1513 Optimizations["strcmp"] = &StrCmp;
1514 Optimizations["strncmp"] = &StrNCmp;
1515 Optimizations["strcpy"] = &StrCpy;
1516 Optimizations["strncpy"] = &StrNCpy;
1517 Optimizations["strlen"] = &StrLen;
1518 Optimizations["strpbrk"] = &StrPBrk;
1519 Optimizations["strtol"] = &StrTo;
1520 Optimizations["strtod"] = &StrTo;
1521 Optimizations["strtof"] = &StrTo;
1522 Optimizations["strtoul"] = &StrTo;
1523 Optimizations["strtoll"] = &StrTo;
1524 Optimizations["strtold"] = &StrTo;
1525 Optimizations["strtoull"] = &StrTo;
1526 Optimizations["strspn"] = &StrSpn;
1527 Optimizations["strcspn"] = &StrCSpn;
1528 Optimizations["strstr"] = &StrStr;
1529 Optimizations["memcmp"] = &MemCmp;
1530 if (TLI->has(LibFunc::memcpy)) Optimizations["memcpy"] = &MemCpy;
1531 Optimizations["memmove"] = &MemMove;
1532 if (TLI->has(LibFunc::memset)) Optimizations["memset"] = &MemSet;
1534 // _chk variants of String and Memory LibCall Optimizations.
1535 Optimizations["__strcpy_chk"] = &StrCpyChk;
1537 // Math Library Optimizations
1538 Optimizations["powf"] = &Pow;
1539 Optimizations["pow"] = &Pow;
1540 Optimizations["powl"] = &Pow;
1541 Optimizations["llvm.pow.f32"] = &Pow;
1542 Optimizations["llvm.pow.f64"] = &Pow;
1543 Optimizations["llvm.pow.f80"] = &Pow;
1544 Optimizations["llvm.pow.f128"] = &Pow;
1545 Optimizations["llvm.pow.ppcf128"] = &Pow;
1546 Optimizations["exp2l"] = &Exp2;
1547 Optimizations["exp2"] = &Exp2;
1548 Optimizations["exp2f"] = &Exp2;
1549 Optimizations["llvm.exp2.ppcf128"] = &Exp2;
1550 Optimizations["llvm.exp2.f128"] = &Exp2;
1551 Optimizations["llvm.exp2.f80"] = &Exp2;
1552 Optimizations["llvm.exp2.f64"] = &Exp2;
1553 Optimizations["llvm.exp2.f32"] = &Exp2;
1556 Optimizations["floor"] = &UnaryDoubleFP;
1559 Optimizations["ceil"] = &UnaryDoubleFP;
1562 Optimizations["round"] = &UnaryDoubleFP;
1565 Optimizations["rint"] = &UnaryDoubleFP;
1568 Optimizations["nearbyint"] = &UnaryDoubleFP;
1571 // Integer Optimizations
1572 Optimizations["ffs"] = &FFS;
1573 Optimizations["ffsl"] = &FFS;
1574 Optimizations["ffsll"] = &FFS;
1575 Optimizations["abs"] = &Abs;
1576 Optimizations["labs"] = &Abs;
1577 Optimizations["llabs"] = &Abs;
1578 Optimizations["isdigit"] = &IsDigit;
1579 Optimizations["isascii"] = &IsAscii;
1580 Optimizations["toascii"] = &ToAscii;
1582 // Formatting and IO Optimizations
1583 Optimizations["sprintf"] = &SPrintF;
1584 Optimizations["printf"] = &PrintF;
1585 Optimizations["fwrite"] = &FWrite;
1586 Optimizations["fputs"] = &FPuts;
1587 Optimizations["fprintf"] = &FPrintF;
1588 Optimizations["puts"] = &Puts;
1597 if (Optimizations.empty())
1618 LibCallOptimization *LCO = Optimizations.lookup(Callee->getName());