diff --git a/llvm/include/llvm/BuildDFG/BuildDFG.h b/llvm/include/llvm/BuildDFG/BuildDFG.h index 9bbd30f0b6ed0556fb14f82a7db9a970271a1121..b5b70bdbc57abef89a55ed1a65779a3318ec57b8 100644 --- a/llvm/include/llvm/BuildDFG/BuildDFG.h +++ b/llvm/include/llvm/BuildDFG/BuildDFG.h @@ -24,11 +24,12 @@ namespace builddfg { static char ID; // Pass identification, replacement for typeid BuildDFG() : ModulePass(ID) {} + typedef ValueMap<Value*, DFNode*> HandleToDFNode; + typedef ValueMap<Value*, DFEdge*> HandleToDFEdge; + private: // Member variables DFInternalNode *Root; - typedef ValueMap<Value*, DFNode*> HandleToDFNode; - typedef ValueMap<Value*, DFEdge*> HandleToDFEdge; HandleToDFNode HandleToDFNodeMap; // This map associates the i8* pointer // with the DFNode structure that it @@ -49,6 +50,10 @@ namespace builddfg { public: virtual bool runOnModule(Module &M); + const DFInternalNode *getRoot(); + const HandleToDFNode &getHandleToDFNodeMap(); + const HandleToDFEdge &getHandleToDFEdgeMap(); + }; } // End of namespace diff --git a/llvm/lib/Transforms/BuildDFG/BuildDFG.cpp b/llvm/lib/Transforms/BuildDFG/BuildDFG.cpp index 76f0e905bce05e44c427722b215438383756b495..10acd2699806259111d9783290a242bbaa1f317c 100644 --- a/llvm/lib/Transforms/BuildDFG/BuildDFG.cpp +++ b/llvm/lib/Transforms/BuildDFG/BuildDFG.cpp @@ -71,6 +71,17 @@ namespace builddfg { return false; //TODO: What does returning "false" mean? } + const DFInternalNode *BuildDFG::getRoot() { + return Root; + } + + const BuildDFG::HandleToDFNode &BuildDFG::getHandleToDFNodeMap() { + return HandleToDFNodeMap; + } + + const BuildDFG::HandleToDFEdge &BuildDFG::getHandleToDFEdgeMap() { + return HandleToDFEdgeMap; + } // Returns true if instruction I is a visc launch intrinsic, false otherwise bool BuildDFG::isViscLaunchIntrinsic(Instruction* I) {