aboutsummaryrefslogtreecommitdiff
path: root/include/llvm/Analysis/DataStructure/EquivClassGraphs.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/llvm/Analysis/DataStructure/EquivClassGraphs.h')
-rw-r--r--include/llvm/Analysis/DataStructure/EquivClassGraphs.h8
1 files changed, 6 insertions, 2 deletions
diff --git a/include/llvm/Analysis/DataStructure/EquivClassGraphs.h b/include/llvm/Analysis/DataStructure/EquivClassGraphs.h
index d0e4265db0..5b0a2206d6 100644
--- a/include/llvm/Analysis/DataStructure/EquivClassGraphs.h
+++ b/include/llvm/Analysis/DataStructure/EquivClassGraphs.h
@@ -16,9 +16,7 @@
#include "llvm/Analysis/DataStructure/DataStructure.h"
#include "llvm/Analysis/DataStructure/DSGraph.h"
-#include "llvm/ADT/EquivalenceClasses.h"
#include "llvm/ADT/STLExtras.h"
-#include "llvm/ADT/hash_map"
#include <vector>
#include <map>
@@ -52,6 +50,10 @@ namespace llvm {
/// a call site.
std::map<DSNode*, Function *> OneCalledFunction;
+ /// GlobalECs - The equivalence classes for each global value that is merged
+ /// with other global values in the DSGraphs.
+ EquivalenceClasses<GlobalValue*> GlobalECs;
+
public:
/// EquivClassGraphs - Computes the equivalence classes and then the
/// folded DS graphs for each class.
@@ -62,6 +64,8 @@ namespace llvm {
///
void print(std::ostream &O, const Module *M) const;
+ EquivalenceClasses<GlobalValue*> &getGlobalECs() { return GlobalECs; }
+
/// getDSGraph - Return the data structure graph for the specified function.
/// This returns the folded graph. The folded graph is the same as the CBU
/// graph iff the function is in a singleton equivalence class AND all its