Mention that this pass does escape analysis in the

leading comments.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61548 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Duncan Sands
2009-01-01 20:45:19 +00:00
parent b6e223a9e8
commit 88e76757de

View File

@ -9,8 +9,10 @@
// //
// This file implements a simple interprocedural pass which walks the // This file implements a simple interprocedural pass which walks the
// call-graph, looking for functions which do not access or only read // call-graph, looking for functions which do not access or only read
// non-local memory, and marking them readnone/readonly. It implements // non-local memory, and marking them readnone/readonly. It addition,
// this as a bottom-up traversal of the call-graph. // it deduces which function arguments (of pointer type) do not escape,
// and marks them nocapture. It implements this as a bottom-up traversal
// of the call-graph.
// //
//===----------------------------------------------------------------------===// //===----------------------------------------------------------------------===//
@ -44,7 +46,7 @@ namespace {
// AddNoCaptureAttrs - Deduce nocapture attributes for the SCC. // AddNoCaptureAttrs - Deduce nocapture attributes for the SCC.
bool AddNoCaptureAttrs(const std::vector<CallGraphNode *> &SCC); bool AddNoCaptureAttrs(const std::vector<CallGraphNode *> &SCC);
// isCaptured - Returns whether this pointer value is captured. // isCaptured - Returns true if this pointer value escapes.
bool isCaptured(Function &F, Value *V); bool isCaptured(Function &F, Value *V);
virtual void getAnalysisUsage(AnalysisUsage &AU) const { virtual void getAnalysisUsage(AnalysisUsage &AU) const {