aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Transforms/Utils/BuildLibCalls.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/lib/Transforms/Utils/BuildLibCalls.cpp')
-rw-r--r--llvm/lib/Transforms/Utils/BuildLibCalls.cpp20
1 files changed, 8 insertions, 12 deletions
diff --git a/llvm/lib/Transforms/Utils/BuildLibCalls.cpp b/llvm/lib/Transforms/Utils/BuildLibCalls.cpp
index 40fd407..75dbf7a 100644
--- a/llvm/lib/Transforms/Utils/BuildLibCalls.cpp
+++ b/llvm/lib/Transforms/Utils/BuildLibCalls.cpp
@@ -442,10 +442,9 @@ bool llvm::inferNonMandatoryLibFuncAttrs(Function &F,
LLVM_FALLTHROUGH;
case LibFunc_valloc:
case LibFunc_malloc:
- Changed |= setAllocFamily(F, "malloc");
- LLVM_FALLTHROUGH;
case LibFunc_vec_malloc:
- Changed |= setAllocFamily(F, "vec_malloc");
+ Changed |= setAllocFamily(F, TheLibFunc == LibFunc_vec_malloc ? "vec_malloc"
+ : "malloc");
Changed |= setAllocSize(F, 0, None);
Changed |= setOnlyAccessesInaccessibleMemory(F);
Changed |= setRetAndArgsNoUndef(F);
@@ -532,10 +531,9 @@ bool llvm::inferNonMandatoryLibFuncAttrs(Function &F,
return Changed;
case LibFunc_realloc:
case LibFunc_reallocf:
- Changed |= setAllocFamily(F, "malloc");
- LLVM_FALLTHROUGH;
case LibFunc_vec_realloc:
- Changed |= setAllocFamily(F, "vec_malloc");
+ Changed |= setAllocFamily(
+ F, TheLibFunc == LibFunc_vec_realloc ? "vec_malloc" : "malloc");
Changed |= setAllocatedPointerParam(F, 0);
Changed |= setAllocSize(F, 1, None);
Changed |= setOnlyAccessesInaccessibleMemOrArgMem(F);
@@ -610,10 +608,9 @@ bool llvm::inferNonMandatoryLibFuncAttrs(Function &F,
Changed |= setOnlyWritesMemory(F, 0);
return Changed;
case LibFunc_calloc:
- Changed |= setAllocFamily(F, "malloc");
- LLVM_FALLTHROUGH;
case LibFunc_vec_calloc:
- Changed |= setAllocFamily(F, "vec_malloc");
+ Changed |= setAllocFamily(F, TheLibFunc == LibFunc_vec_calloc ? "vec_malloc"
+ : "malloc");
Changed |= setAllocSize(F, 0, 1);
Changed |= setOnlyAccessesInaccessibleMemory(F);
Changed |= setRetAndArgsNoUndef(F);
@@ -672,10 +669,9 @@ bool llvm::inferNonMandatoryLibFuncAttrs(Function &F,
Changed |= setDoesNotCapture(F, 0);
return Changed;
case LibFunc_free:
- Changed |= setAllocFamily(F, "malloc");
- LLVM_FALLTHROUGH;
case LibFunc_vec_free:
- Changed |= setAllocFamily(F, "vec_malloc");
+ Changed |= setAllocFamily(F, TheLibFunc == LibFunc_vec_free ? "vec_malloc"
+ : "malloc");
Changed |= setAllocatedPointerParam(F, 0);
Changed |= setOnlyAccessesInaccessibleMemOrArgMem(F);
Changed |= setArgsNoUndef(F);