aboutsummaryrefslogtreecommitdiff
path: root/lib/Analysis/DataStructure/FunctionRepBuilder.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lib/Analysis/DataStructure/FunctionRepBuilder.cpp')
-rw-r--r--lib/Analysis/DataStructure/FunctionRepBuilder.cpp19
1 files changed, 11 insertions, 8 deletions
diff --git a/lib/Analysis/DataStructure/FunctionRepBuilder.cpp b/lib/Analysis/DataStructure/FunctionRepBuilder.cpp
index e2544c82dc..87d4a332ce 100644
--- a/lib/Analysis/DataStructure/FunctionRepBuilder.cpp
+++ b/lib/Analysis/DataStructure/FunctionRepBuilder.cpp
@@ -44,7 +44,7 @@ void InitVisitor::visitOperand(Value *V) {
if (!Rep->ValueMap.count(V)) // Only process it once...
if (GlobalValue *GV = dyn_cast<GlobalValue>(V)) {
GlobalDSNode *N = new GlobalDSNode(GV);
- Rep->Nodes.push_back(N);
+ Rep->GlobalNodes.push_back(N);
Rep->ValueMap[V].add(N);
Rep->addAllUsesToWorkList(GV);
@@ -60,7 +60,7 @@ void InitVisitor::visitOperand(Value *V) {
//
void InitVisitor::visitCallInst(CallInst *CI) {
CallDSNode *C = new CallDSNode(CI);
- Rep->Nodes.push_back(C);
+ Rep->CallNodes.push_back(C);
Rep->CallMap[CI] = C;
if (isa<PointerType>(CI->getType())) {
@@ -95,8 +95,8 @@ void InitVisitor::visitCallInst(CallInst *CI) {
// global vars...
//
void InitVisitor::visitAllocationInst(AllocationInst *AI) {
- NewDSNode *N = new NewDSNode(AI);
- Rep->Nodes.push_back(N);
+ AllocDSNode *N = new AllocDSNode(AI);
+ Rep->AllocNodes.push_back(N);
Rep->ValueMap[AI].add(N, AI);
@@ -144,7 +144,7 @@ void FunctionRepBuilder::initializeWorkList(Function *Func) {
// Only process arguments that are of pointer type...
if (isa<PointerType>((*I)->getType())) {
ArgDSNode *Arg = new ArgDSNode(*I);
- Nodes.push_back(Arg);
+ ArgNodes.push_back(Arg);
// Add a critical shadow value for it to represent what it is pointing
// to and add this to the value map...
@@ -326,10 +326,13 @@ void FunctionRepBuilder::visitPHINode(PHINode *PN) {
//
FunctionDSGraph::FunctionDSGraph(Function *F) : Func(F) {
FunctionRepBuilder Builder(this);
- Nodes = Builder.getNodes();
+ ArgNodes = Builder.getArgNodes();
+ AllocNodes = Builder.getAllocNodes();
ShadowNodes = Builder.getShadowNodes();
- RetNode = Builder.getRetNode();
- ValueMap = Builder.getValueMap();
+ GlobalNodes = Builder.getGlobalNodes();
+ CallNodes = Builder.getCallNodes();
+ RetNode = Builder.getRetNode();
+ ValueMap = Builder.getValueMap();
bool Changed = true;
while (Changed) {