mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-10-03 12:18:00 +00:00
Each DS collection now contains an equivalence class of globals values.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20694 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -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
|
||||
|
Reference in New Issue
Block a user