diff options
Diffstat (limited to 'include/llvm/Analysis/DataStructure/DataStructure.h')
-rw-r--r-- | include/llvm/Analysis/DataStructure/DataStructure.h | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/include/llvm/Analysis/DataStructure/DataStructure.h b/include/llvm/Analysis/DataStructure/DataStructure.h index 15caec5c3a..1a9a855735 100644 --- a/include/llvm/Analysis/DataStructure/DataStructure.h +++ b/include/llvm/Analysis/DataStructure/DataStructure.h @@ -116,6 +116,9 @@ protected: /// GlobalECs - The equivalence classes for each global value that is merged /// with other global values in the DSGraphs. EquivalenceClasses<GlobalValue*> GlobalECs; + + std::map<CallSite, std::vector<Function*> > AlreadyInlined; + public: ~BUDataStructures() { releaseMyMemory(); } @@ -135,6 +138,12 @@ public: return const_cast<BUDataStructures*>(this)-> CreateGraphForExternalFunction(F); } + + /// DSGraphExists - Is the DSGraph computed for this function? + /// + bool doneDSGraph(const Function *F) const { + return (DSInfo.find(const_cast<Function*>(F)) != DSInfo.end()); + } DSGraph &getGlobalsGraph() const { return *GlobalsGraph; } @@ -176,7 +185,7 @@ public: } private: - void calculateGraph(DSGraph &G); + bool calculateGraph(DSGraph &G); DSGraph &getOrCreateGraph(Function *F); |