diff options
author | Bill Wendling <isanbard@gmail.com> | 2008-12-16 19:06:48 +0000 |
---|---|---|
committer | Bill Wendling <isanbard@gmail.com> | 2008-12-16 19:06:48 +0000 |
commit | a397baea8803fdaf2177dfb0c5678f0fc966bb6f (patch) | |
tree | 4e14c7572b18692c11e4580f0cc3ab2fc8e3ca19 /llvm/lib/Analysis/BasicAliasAnalysis.cpp | |
parent | 4476ef810b9eb9dfe332399a06bda90728ec80a2 (diff) | |
download | bcm5719-llvm-a397baea8803fdaf2177dfb0c5678f0fc966bb6f.tar.gz bcm5719-llvm-a397baea8803fdaf2177dfb0c5678f0fc966bb6f.zip |
Temporarily revert r61019, r61030, and r61040. These were breaking LLVM Release
builds.
llvm-svn: 61094
Diffstat (limited to 'llvm/lib/Analysis/BasicAliasAnalysis.cpp')
-rw-r--r-- | llvm/lib/Analysis/BasicAliasAnalysis.cpp | 23 |
1 files changed, 6 insertions, 17 deletions
diff --git a/llvm/lib/Analysis/BasicAliasAnalysis.cpp b/llvm/lib/Analysis/BasicAliasAnalysis.cpp index 57d320971db..3270f35ac41 100644 --- a/llvm/lib/Analysis/BasicAliasAnalysis.cpp +++ b/llvm/lib/Analysis/BasicAliasAnalysis.cpp @@ -63,23 +63,12 @@ static bool AddressMightEscape(const Value *V) { // callees could modify it. break; // next use case Instruction::Call: - // If the argument to the call has the nocapture attribute, then the call - // may store or load to the pointer, but it cannot escape. - if (cast<CallInst>(I)->paramHasAttr(UI.getOperandNo(), - Attribute::NoCapture)) - continue; - - // FIXME: MemIntrinsics should have their operands marked nocapture! - if (isa<MemIntrinsic>(I)) - continue; // next use - return true; - case Instruction::Invoke: - // If the argument to the call has the nocapture attribute, then the call - // may store or load to the pointer, but it cannot escape. - if (cast<InvokeInst>(I)->paramHasAttr(UI.getOperandNo()-2, - Attribute::NoCapture)) - continue; - return true; + // If the call is to a few known safe intrinsics, we know that it does + // not escape. + // TODO: Eventually just check the 'nocapture' attribute. + if (!isa<MemIntrinsic>(I)) + return true; + break; // next use default: return true; } |