mirror of
https://github.com/RPCS3/llvm.git
synced 2024-12-21 11:38:35 +00:00
* Implement fully general merging of array subscripts on demand! This
does not handle the initial pointer index case yet though. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4011 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
9cfb358fa4
commit
27236ac089
@ -209,6 +209,18 @@ public:
|
||||
///
|
||||
void mergeWith(const DSNodeHandle &NH, unsigned Offset);
|
||||
|
||||
/// mergeIndexes - If we discover that two indexes are equivalent and must be
|
||||
/// merged, this function is used to do the dirty work.
|
||||
///
|
||||
void mergeIndexes(unsigned idx1, unsigned idx2) {
|
||||
assert(idx1 < getSize() && idx2 < getSize() && "Indexes out of range!");
|
||||
signed char MV1 = MergeMap[idx1];
|
||||
signed char MV2 = MergeMap[idx2];
|
||||
if (MV1 != MV2)
|
||||
mergeMappedValues(MV1, MV2);
|
||||
}
|
||||
|
||||
|
||||
/// addGlobal - Add an entry for a global value to the Globals list. This
|
||||
/// also marks the node with the 'G' flag if it does not already have it.
|
||||
///
|
||||
|
@ -209,6 +209,18 @@ public:
|
||||
///
|
||||
void mergeWith(const DSNodeHandle &NH, unsigned Offset);
|
||||
|
||||
/// mergeIndexes - If we discover that two indexes are equivalent and must be
|
||||
/// merged, this function is used to do the dirty work.
|
||||
///
|
||||
void mergeIndexes(unsigned idx1, unsigned idx2) {
|
||||
assert(idx1 < getSize() && idx2 < getSize() && "Indexes out of range!");
|
||||
signed char MV1 = MergeMap[idx1];
|
||||
signed char MV2 = MergeMap[idx2];
|
||||
if (MV1 != MV2)
|
||||
mergeMappedValues(MV1, MV2);
|
||||
}
|
||||
|
||||
|
||||
/// addGlobal - Add an entry for a global value to the Globals list. This
|
||||
/// also marks the node with the 'G' flag if it does not already have it.
|
||||
///
|
||||
|
Loading…
Reference in New Issue
Block a user