aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Analysis/MemoryBuiltins.cpp
diff options
context:
space:
mode:
authorRichard Smith <richard-llvm@metafoo.co.uk>2013-05-16 04:12:04 +0000
committerRichard Smith <richard-llvm@metafoo.co.uk>2013-05-16 04:12:04 +0000
commite04f0d34d19c3d5325ff0977d948df3771fafc43 (patch)
tree6d7ad70381a7da1d5d4c4ab468a9a569a8ecf760 /llvm/lib/Analysis/MemoryBuiltins.cpp
parenta5c7ceedb58b28e4fa85ff323cade82edfa20fe4 (diff)
downloadllvm-e04f0d34d19c3d5325ff0977d948df3771fafc43.zip
llvm-e04f0d34d19c3d5325ff0977d948df3771fafc43.tar.gz
llvm-e04f0d34d19c3d5325ff0977d948df3771fafc43.tar.bz2
Respect the 'nobuiltin' attribute when determining if a call is to a memory builtin.
llvm-svn: 181978
Diffstat (limited to 'llvm/lib/Analysis/MemoryBuiltins.cpp')
-rw-r--r--llvm/lib/Analysis/MemoryBuiltins.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/llvm/lib/Analysis/MemoryBuiltins.cpp b/llvm/lib/Analysis/MemoryBuiltins.cpp
index 9c0d8ac..1660347 100644
--- a/llvm/lib/Analysis/MemoryBuiltins.cpp
+++ b/llvm/lib/Analysis/MemoryBuiltins.cpp
@@ -77,6 +77,9 @@ static Function *getCalledFunction(const Value *V, bool LookThroughBitCast) {
if (!CS.getInstruction())
return 0;
+ if (CS.hasFnAttr(Attribute::NoBuiltin))
+ return 0;
+
Function *Callee = CS.getCalledFunction();
if (!Callee || !Callee->isDeclaration())
return 0;