diff options
author | Chris Lattner <sabre@nondot.org> | 2002-04-17 03:24:59 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2002-04-17 03:24:59 +0000 |
commit | fe14568a8122b7c9b832795594b7bae11b2b6cc4 (patch) | |
tree | c2d0983f282515c1933de2a3226670d314372071 /lib/Analysis/DataStructure/FunctionRepBuilder.h | |
parent | a146183c2105911eade774490650389924dae524 (diff) |
Make data structure acurately get ALL edges, even loads of null fields of
nodes that are not shadow nodes
This fixes em3d to be _correct_ if not optimial
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2274 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Analysis/DataStructure/FunctionRepBuilder.h')
-rw-r--r-- | lib/Analysis/DataStructure/FunctionRepBuilder.h | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/lib/Analysis/DataStructure/FunctionRepBuilder.h b/lib/Analysis/DataStructure/FunctionRepBuilder.h index 54bfbba86d..e45ea41998 100644 --- a/lib/Analysis/DataStructure/FunctionRepBuilder.h +++ b/lib/Analysis/DataStructure/FunctionRepBuilder.h @@ -12,7 +12,7 @@ #include "llvm/Support/InstVisitor.h" // DEBUG_DATA_STRUCTURE_CONSTRUCTION - Define this to 1 if you want debug output -#define DEBUG_DATA_STRUCTURE_CONSTRUCTION 0 +//#define DEBUG_DATA_STRUCTURE_CONSTRUCTION 1 class FunctionRepBuilder; @@ -82,7 +82,8 @@ public: const std::vector<GlobalDSNode*> &getGlobalNodes() const {return GlobalNodes;} const std::vector<CallDSNode*> &getCallNodes() const { return CallNodes; } - void addShadowNode(ShadowDSNode *SN) { ShadowNodes.push_back(SN); } + + ShadowDSNode *makeSynthesizedShadow(const Type *Ty, DSNode *Parent); const PointerValSet &getRetNode() const { return RetNode; } @@ -96,12 +97,12 @@ private: // While the worklist still has instructions to process, process them! while (!WorkList.empty()) { Instruction *I = WorkList.back(); WorkList.pop_back(); -#if DEBUG_DATA_STRUCTURE_CONSTRUCTION +#ifdef DEBUG_DATA_STRUCTURE_CONSTRUCTION cerr << "Processing worklist inst: " << I; #endif visit(I); // Dispatch to a visitXXX function based on instruction type... -#if DEBUG_DATA_STRUCTURE_CONSTRUCTION +#ifdef DEBUG_DATA_STRUCTURE_CONSTRUCTION if (I->hasName() && ValueMap.count(I)) { cerr << "Inst %" << I->getName() << " value is:\n"; ValueMap[I].print(cerr); |