Remove BitVector binops.

These operators were crazy slow, calling malloc to return a temporary
result. At the same time, they look very innocent when used in code.

If you need temporary BitVectors to compute your thing, create them
explicitly, and use the inplace logical operators. This makes the high
cost explicit in the code.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@156767 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Jakob Stoklund Olesen 2012-05-14 15:37:25 +00:00
parent f402602199
commit 9e10d773e1

View File

@ -482,24 +482,6 @@ private:
}
};
inline BitVector operator&(const BitVector &LHS, const BitVector &RHS) {
BitVector Result(LHS);
Result &= RHS;
return Result;
}
inline BitVector operator|(const BitVector &LHS, const BitVector &RHS) {
BitVector Result(LHS);
Result |= RHS;
return Result;
}
inline BitVector operator^(const BitVector &LHS, const BitVector &RHS) {
BitVector Result(LHS);
Result ^= RHS;
return Result;
}
} // End llvm namespace
namespace std {