[llvm] [NVPTX][NFC] Refactoring and cleanup in NVPTXISelLowering (PR #137222)

Alex MacLean via llvm-commits llvm-commits at lists.llvm.org
Thu Apr 24 16:14:20 PDT 2025


================
@@ -3388,75 +3373,91 @@ SDValue NVPTXTargetLowering::LowerFormalArguments(
   //     individually present in Ins.
   // So a different index should be used for indexing into Ins.
   // See similar issue in LowerCall.
-  unsigned InsIdx = 0;
+  const auto *In = Ins.begin();
+  auto ConsumeArgIns = [&](const Argument &Arg) {
+    const auto *ArgInsBegin = In;
+    const auto *ArgInsEnd = In;
+    while (ArgInsEnd != Ins.end() && ArgInsEnd->OrigArgIndex == Arg.getArgNo())
+      ++ArgInsEnd;
+    In = ArgInsEnd;
+    return llvm::ArrayRef(ArgInsBegin, ArgInsEnd);
+  };
----------------
AlexMaclean wrote:

Okay, using `take_while` as you showed above I was able to simplify further and I've removed the lambda. 

https://github.com/llvm/llvm-project/pull/137222


More information about the llvm-commits mailing list