diff options
Diffstat (limited to 'llvm/lib/Transforms')
-rw-r--r-- | llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp | 26 |
1 files changed, 9 insertions, 17 deletions
diff --git a/llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp b/llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp index 207d3664789..e7beb2feb62 100644 --- a/llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp +++ b/llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp @@ -2184,28 +2184,20 @@ Value *LibCallSimplifier::optimizeCall(CallInst *CI) { return nullptr; case LibFunc::memcpy_chk: return optimizeMemCpyChk(CI, Builder); - default: - return nullptr; - } - } - - if (!isCallingConvC) - return nullptr; - - // Finally check for fortified library calls. - if (FuncName.endswith("_chk")) { - if (FuncName == "__memmove_chk") + case LibFunc::memmove_chk: return optimizeMemMoveChk(CI, Builder); - else if (FuncName == "__memset_chk") + case LibFunc::memset_chk: return optimizeMemSetChk(CI, Builder); - else if (FuncName == "__strcpy_chk") + case LibFunc::strcpy_chk: return optimizeStrCpyChk(CI, Builder); - else if (FuncName == "__stpcpy_chk") + case LibFunc::stpcpy_chk: return optimizeStpCpyChk(CI, Builder); - else if (FuncName == "__strncpy_chk") - return optimizeStrNCpyChk(CI, Builder); - else if (FuncName == "__stpncpy_chk") + case LibFunc::stpncpy_chk: + case LibFunc::strncpy_chk: return optimizeStrNCpyChk(CI, Builder); + default: + return nullptr; + } } return nullptr; |