[llvm] [LLVM][TableGen] Code cleanup in FastISelEmitter.cpp (PR #139644)
Sergei Barannikov via llvm-commits
llvm-commits at lists.llvm.org
Wed May 14 10:22:40 PDT 2025
================
@@ -151,48 +148,43 @@ struct OperandsSignature {
bool empty() const { return Operands.empty(); }
bool hasAnyImmediateCodes() const {
- for (unsigned i = 0, e = Operands.size(); i != e; ++i)
- if (Operands[i].isImm() && Operands[i].getImmCode() != 0)
- return true;
- return false;
+ return llvm::any_of(Operands, [](OpKind Kind) {
+ return Kind.isImm() && Kind.getImmCode() != 0;
+ });
}
/// getWithoutImmCodes - Return a copy of this with any immediate codes forced
/// to zero.
OperandsSignature getWithoutImmCodes() const {
OperandsSignature Result;
- for (unsigned i = 0, e = Operands.size(); i != e; ++i)
- if (!Operands[i].isImm())
- Result.Operands.push_back(Operands[i]);
- else
- Result.Operands.push_back(OpKind::getImm(0));
+ Result.Operands.resize(Operands.size());
+ llvm::transform(Operands, Result.Operands.begin(), [](OpKind Kind) {
----------------
s-barannikov wrote:
No, I'm wrong. It does increment the result iterator.
https://github.com/llvm/llvm-project/pull/139644
More information about the llvm-commits
mailing list