* Remove RemoveUnreachableShadowNodes & UnlinkUndistinguishableShadowNodes

to reflect the fact that they actually operate on arbitrary nodes
* Clean up public interface of FunctionDSGraph
* add getEscapingAllocations & getNonEscapingAllocations


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2019 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Chris Lattner 2002-03-28 19:15:38 +00:00
parent cdae0b2591
commit d38cadb13d
2 changed files with 34 additions and 6 deletions

View File

@ -355,17 +355,31 @@ class FunctionDSGraph {
// as the data structure graph itself.
//
PointerValSet cloneFunctionIntoSelf(const FunctionDSGraph &G, bool ValueMap);
bool RemoveUnreachableShadowNodes();
bool UnlinkUndistinguishableShadowNodes();
public:
bool RemoveUnreachableNodes();
bool UnlinkUndistinguishableNodes();
private:
// Define the interface only accessable to DataStructure
friend class DataStructure;
FunctionDSGraph(Function *F);
FunctionDSGraph(const FunctionDSGraph &DSG);
~FunctionDSGraph();
void computeClosure(const DataStructure &DS);
public:
Function *getFunction() const { return Func; }
// getEscapingAllocations - Add all allocations that escape the current
// function to the specified vector.
//
void getEscapingAllocations(std::vector<AllocDSNode*> &Allocs);
// getEscapingAllocations - Add all allocations that do not escape the current
// function to the specified vector.
//
void getNonEscapingAllocations(std::vector<AllocDSNode*> &Allocs);
void printFunction(std::ostream &O, const char *Label) const;
};

View File

@ -355,17 +355,31 @@ class FunctionDSGraph {
// as the data structure graph itself.
//
PointerValSet cloneFunctionIntoSelf(const FunctionDSGraph &G, bool ValueMap);
bool RemoveUnreachableShadowNodes();
bool UnlinkUndistinguishableShadowNodes();
public:
bool RemoveUnreachableNodes();
bool UnlinkUndistinguishableNodes();
private:
// Define the interface only accessable to DataStructure
friend class DataStructure;
FunctionDSGraph(Function *F);
FunctionDSGraph(const FunctionDSGraph &DSG);
~FunctionDSGraph();
void computeClosure(const DataStructure &DS);
public:
Function *getFunction() const { return Func; }
// getEscapingAllocations - Add all allocations that escape the current
// function to the specified vector.
//
void getEscapingAllocations(std::vector<AllocDSNode*> &Allocs);
// getEscapingAllocations - Add all allocations that do not escape the current
// function to the specified vector.
//
void getNonEscapingAllocations(std::vector<AllocDSNode*> &Allocs);
void printFunction(std::ostream &O, const char *Label) const;
};