mirror of
https://github.com/RPCS3/llvm.git
synced 2024-12-16 00:17:32 +00:00
[TableGen] Use std::remove_if instead of manually coded loops that called erase inside them. NFC
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@253857 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
e3376e6361
commit
4c91939703
@ -240,9 +240,9 @@ bool EEVT::TypeSet::EnforceInteger(TreePattern &TP) {
|
||||
TypeSet InputSet(*this);
|
||||
|
||||
// Filter out all the fp types.
|
||||
for (unsigned i = 0; i != TypeVec.size(); ++i)
|
||||
if (!isInteger(TypeVec[i]))
|
||||
TypeVec.erase(TypeVec.begin()+i--);
|
||||
TypeVec.erase(std::remove_if(TypeVec.begin(), TypeVec.end(),
|
||||
std::not1(std::ptr_fun(isInteger))),
|
||||
TypeVec.end());
|
||||
|
||||
if (TypeVec.empty()) {
|
||||
TP.error("Type inference contradiction found, '" +
|
||||
@ -265,10 +265,10 @@ bool EEVT::TypeSet::EnforceFloatingPoint(TreePattern &TP) {
|
||||
|
||||
TypeSet InputSet(*this);
|
||||
|
||||
// Filter out all the fp types.
|
||||
for (unsigned i = 0; i != TypeVec.size(); ++i)
|
||||
if (!isFloatingPoint(TypeVec[i]))
|
||||
TypeVec.erase(TypeVec.begin()+i--);
|
||||
// Filter out all the integer types.
|
||||
TypeVec.erase(std::remove_if(TypeVec.begin(), TypeVec.end(),
|
||||
std::not1(std::ptr_fun(isFloatingPoint))),
|
||||
TypeVec.end());
|
||||
|
||||
if (TypeVec.empty()) {
|
||||
TP.error("Type inference contradiction found, '" +
|
||||
@ -293,9 +293,9 @@ bool EEVT::TypeSet::EnforceScalar(TreePattern &TP) {
|
||||
TypeSet InputSet(*this);
|
||||
|
||||
// Filter out all the vector types.
|
||||
for (unsigned i = 0; i != TypeVec.size(); ++i)
|
||||
if (!isScalar(TypeVec[i]))
|
||||
TypeVec.erase(TypeVec.begin()+i--);
|
||||
TypeVec.erase(std::remove_if(TypeVec.begin(), TypeVec.end(),
|
||||
std::not1(std::ptr_fun(isScalar))),
|
||||
TypeVec.end());
|
||||
|
||||
if (TypeVec.empty()) {
|
||||
TP.error("Type inference contradiction found, '" +
|
||||
@ -318,11 +318,9 @@ bool EEVT::TypeSet::EnforceVector(TreePattern &TP) {
|
||||
bool MadeChange = false;
|
||||
|
||||
// Filter out all the scalar types.
|
||||
for (unsigned i = 0; i != TypeVec.size(); ++i)
|
||||
if (!isVector(TypeVec[i])) {
|
||||
TypeVec.erase(TypeVec.begin()+i--);
|
||||
MadeChange = true;
|
||||
}
|
||||
TypeVec.erase(std::remove_if(TypeVec.begin(), TypeVec.end(),
|
||||
std::not1(std::ptr_fun(isVector))),
|
||||
TypeVec.end());
|
||||
|
||||
if (TypeVec.empty()) {
|
||||
TP.error("Type inference contradiction found, '" +
|
||||
|
Loading…
Reference in New Issue
Block a user