[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