mirror of
https://github.com/RPCSX/llvm.git
synced 2025-02-18 12:09:38 +00:00
rename some methods and add some new methods for dealing with the globals list
in a DSNode. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20701 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
1cee779cec
commit
a4c1b5f3e6
@ -285,11 +285,28 @@ public:
|
|||||||
void addGlobal(GlobalValue *GV);
|
void addGlobal(GlobalValue *GV);
|
||||||
void mergeGlobals(const std::vector<GlobalValue*> &RHS);
|
void mergeGlobals(const std::vector<GlobalValue*> &RHS);
|
||||||
void clearGlobals() { std::vector<GlobalValue*>().swap(Globals); }
|
void clearGlobals() { std::vector<GlobalValue*>().swap(Globals); }
|
||||||
const std::vector<GlobalValue*> &getGlobals() const { return Globals; }
|
|
||||||
|
|
||||||
typedef std::vector<GlobalValue*>::const_iterator global_iterator;
|
/// getGlobalsList - Return the set of global leaders that are represented by
|
||||||
global_iterator global_begin() const { return Globals.begin(); }
|
/// this node. Note that globals that are in this equivalence class but are
|
||||||
global_iterator global_end() const { return Globals.end(); }
|
/// not leaders are not returned: for that, use addFullGlobalsList().
|
||||||
|
const std::vector<GlobalValue*> &getGlobalsList() const { return Globals; }
|
||||||
|
|
||||||
|
/// addFullGlobalsList - Compute the full set of global values that are
|
||||||
|
/// represented by this node. Unlike getGlobalsList(), this requires fair
|
||||||
|
/// amount of work to compute, so don't treat this method call as free.
|
||||||
|
void addFullGlobalsList(std::vector<GlobalValue*> &List) const;
|
||||||
|
|
||||||
|
/// addFullFunctionList - Identical to addFullGlobalsList, but only return the
|
||||||
|
/// functions in the full list.
|
||||||
|
void addFullFunctionList(std::vector<Function*> &List) const;
|
||||||
|
|
||||||
|
/// globals_iterator/begin/end - Provide iteration methods over the global
|
||||||
|
/// value leaders set that is merged into this node. Like the getGlobalsList
|
||||||
|
/// method, these iterators do not return globals that are part of the
|
||||||
|
/// equivalence classes for globals in this node, but aren't leaders.
|
||||||
|
typedef std::vector<GlobalValue*>::const_iterator globals_iterator;
|
||||||
|
globals_iterator globals_begin() const { return Globals.begin(); }
|
||||||
|
globals_iterator globals_end() const { return Globals.end(); }
|
||||||
|
|
||||||
|
|
||||||
/// maskNodeTypes - Apply a mask to the node types bitfield.
|
/// maskNodeTypes - Apply a mask to the node types bitfield.
|
||||||
|
Loading…
x
Reference in New Issue
Block a user