NewGVN: Change a std::vector to SmallVector and cleanup naming.

llvm-svn: 291420
This commit is contained in:
Daniel Berlin 2017-01-09 05:34:19 +00:00
parent 96ab6fd2eb
commit 2f1fbcc718
1 changed files with 11 additions and 10 deletions

View File

@ -328,7 +328,7 @@ private:
// Elimination.
struct ValueDFS;
void convertDenseToDFSOrdered(CongruenceClass::MemberSet &,
std::vector<ValueDFS> &);
SmallVectorImpl<ValueDFS> &);
bool eliminateInstructions(Function &);
void replaceInstruction(Instruction *, Value *);
@ -1757,8 +1757,9 @@ struct NewGVN::ValueDFS {
}
};
void NewGVN::convertDenseToDFSOrdered(CongruenceClass::MemberSet &Dense,
std::vector<ValueDFS> &DFSOrderedSet) {
void NewGVN::convertDenseToDFSOrdered(
CongruenceClass::MemberSet &Dense,
SmallVectorImpl<ValueDFS> &DFSOrderedSet) {
for (auto D : Dense) {
// First add the value.
BasicBlock *BB = getBlockForValue(D);
@ -2021,17 +2022,17 @@ bool NewGVN::eliminateInstructions(Function &F) {
ValueDFSStack EliminationStack;
// Convert the members to DFS ordered sets and then merge them.
std::vector<ValueDFS> DFSOrderedSet;
SmallVector<ValueDFS, 8> DFSOrderedSet;
convertDenseToDFSOrdered(CC->Members, DFSOrderedSet);
// Sort the whole thing.
sort(DFSOrderedSet.begin(), DFSOrderedSet.end());
std::sort(DFSOrderedSet.begin(), DFSOrderedSet.end());
for (auto &C : DFSOrderedSet) {
int MemberDFSIn = C.DFSIn;
int MemberDFSOut = C.DFSOut;
Value *Member = C.Val;
Use *MemberUse = C.U;
for (auto &VD : DFSOrderedSet) {
int MemberDFSIn = VD.DFSIn;
int MemberDFSOut = VD.DFSOut;
Value *Member = VD.Val;
Use *MemberUse = VD.U;
if (Member) {
// We ignore void things because we can't get a value from them.