summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorBob Wilson <bob.wilson@apple.com>2012-08-03 21:26:18 +0000
committerBob Wilson <bob.wilson@apple.com>2012-08-03 21:26:18 +0000
commit772af92cb16a5e11bd580f576643a6268e8a5bce (patch)
tree1203a6feff2d18cf8952074c01ec6c7ca63c97f3 /lib
parentb2beac2b9671f7d9773329d62c2821c8ac449ac5 (diff)
downloadllvm-772af92cb16a5e11bd580f576643a6268e8a5bce.tar.gz
llvm-772af92cb16a5e11bd580f576643a6268e8a5bce.tar.bz2
llvm-772af92cb16a5e11bd580f576643a6268e8a5bce.tar.xz
Fix memcmp code-gen to honor -fno-builtin.
I noticed that SelectionDAGBuilder::visitCall was missing a check for memcmp in TargetLibraryInfo, so that it would use custom code for memcmp calls even with -fno-builtin. I also had to add a new -disable-simplify-libcalls option to llc so that I could write a test for this. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@161262 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib')
-rw-r--r--lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp b/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
index 2cdc41b078..692c437689 100644
--- a/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
+++ b/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
@@ -5682,7 +5682,7 @@ void SelectionDAGBuilder::visitCall(const CallInst &I) {
Tmp.getValueType(), Tmp));
return;
}
- } else if (Name == "memcmp") {
+ } else if ((LibInfo->has(LibFunc::memcmp) && Name == "memcmp")) {
if (visitMemCmpCall(I))
return;
}