1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-24 19:52:54 +01:00

Mention that this pass does escape analysis in the

leading comments.

llvm-svn: 61548
This commit is contained in:
Duncan Sands 2009-01-01 20:45:19 +00:00
parent 0fca32114b
commit e4fd98d306

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 {