diff options
author | Chris Lattner <sabre@nondot.org> | 2008-02-18 02:11:28 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2008-02-18 02:11:28 +0000 |
commit | 0ab5a4ae552765069baf4a45fcc26dba817020f9 (patch) | |
tree | 86d87d9a8ed4d197273055e895fc1232c40ea984 /lib/Analysis/BasicAliasAnalysis.cpp | |
parent | 823391ae6efffa3ec317c58f8f98ddd1075f12b5 (diff) |
bitcasts of pointers are always pointers.
If we see a memcpy of a pointer, make sure to check later
uses of the pointer as well.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47250 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Analysis/BasicAliasAnalysis.cpp')
-rw-r--r-- | lib/Analysis/BasicAliasAnalysis.cpp | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/lib/Analysis/BasicAliasAnalysis.cpp b/lib/Analysis/BasicAliasAnalysis.cpp index 430e74a98b..4c7259f7f4 100644 --- a/lib/Analysis/BasicAliasAnalysis.cpp +++ b/lib/Analysis/BasicAliasAnalysis.cpp @@ -219,8 +219,6 @@ static bool AddressMightEscape(const Value *V) { return true; break; // next use. case Instruction::BitCast: - if (!isa<PointerType>(I->getType())) - return true; if (AddressMightEscape(I)) return true; break; // next use @@ -231,10 +229,9 @@ static bool AddressMightEscape(const Value *V) { case Instruction::Call: // If the call is to a few known safe intrinsics, we know that it does // not escape - if (isa<MemIntrinsic>(I)) - return false; - else + if (!isa<MemIntrinsic>(I)) return true; + break; // next use default: return true; } |