Cleanup after r241809 - remove uncessary call to std::sort

Summary:
The iteration order within a member of DepCands is deterministic
and therefore we don't have to sort the accesses within a member.
We also don't have to copy the indices of the pointers into a
vector, since we can iterate over the members of the class.

Subscribers: llvm-commits

Differential Revision: http://reviews.llvm.org/D11145

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@242033 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Silviu Baranga
2015-07-13 14:48:24 +00:00
parent 46db875af8
commit 5b50110192
3 changed files with 17 additions and 22 deletions
+5 -10
View File
@@ -240,19 +240,14 @@ void LoopAccessInfo::RuntimePointerCheck::groupChecks(
SmallVector<CheckingPtrGroup, 2> Groups;
auto LeaderI = DepCands.findValue(DepCands.getLeaderValue(Access));
SmallVector<unsigned, 2> MemberIndices;
// Get all indeces of the members of this equivalence class and sort them.
// This will allow us to process all accesses in the order in which they
// were added to the RuntimePointerCheck.
// Because DepCands is constructed by visiting accesses in the order in
// which they appear in alias sets (which is deterministic) and the
// iteration order within an equivalence class member is only dependent on
// the order in which unions and insertions are performed on the
// equivalence class, the iteration order is deterministic.
for (auto MI = DepCands.member_begin(LeaderI), ME = DepCands.member_end();
MI != ME; ++MI) {
unsigned Pointer = PositionMap[MI->getPointer()];
MemberIndices.push_back(Pointer);
}
std::sort(MemberIndices.begin(), MemberIndices.end());
for (unsigned Pointer : MemberIndices) {
bool Merged = false;
// Mark this pointer as seen.
Seen.insert(Pointer);