Vincent says the element is at most once in the vector, so we don't need a full std::remove.
llvm-svn: 183541
This commit is contained in:
parent
8d477dc08f
commit
ebe0be9ca4
|
@ -198,9 +198,13 @@ MachineInstr *R600VectorRegMerger::RebuildVector(
|
|||
.addReg(SubReg)
|
||||
.addImm(Chan);
|
||||
UpdatedRegToChan[SubReg] = Chan;
|
||||
UpdatedUndef.erase(
|
||||
std::remove(UpdatedUndef.begin(), UpdatedUndef.end(), Chan),
|
||||
UpdatedUndef.end());
|
||||
std::vector<unsigned>::iterator ChanPos =
|
||||
std::find(UpdatedUndef.begin(), UpdatedUndef.end(), Chan);
|
||||
if (ChanPos != UpdatedUndef.end())
|
||||
UpdatedUndef.erase(ChanPos);
|
||||
assert(std::find(UpdatedUndef.begin(), UpdatedUndef.end(), Chan) ==
|
||||
UpdatedUndef.end() &&
|
||||
"UpdatedUndef shouldn't contain Chan more than once!");
|
||||
DEBUG(dbgs() << " ->"; Tmp->dump(););
|
||||
(void)Tmp;
|
||||
SrcVec = DstReg;
|
||||
|
|
Loading…
Reference in New Issue