[PATCH] D117647: [RISCV] Add destination operand for RVV nomask load intrinsics.

Fraser Cormack via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Thu Jan 20 04:50:54 PST 2022


frasercrmck added a comment.

Is "destination operand" the terminology we want? I'd have thought "passthru" was more conventional.



================
Comment at: llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp:1194
         Operands.push_back(Node->getOperand(CurOp++));
+      if (Node->getOperand(CurOp).isUndef())
+        CurOp++;
----------------
If I'm reading this right, isn't it possible that we could have a masked/tu intrinsic, so push back the passthru operand, increment `CurOp` then check whether the //pointer// operand is Undef, then wrongly increment `CurOp` a second time? So basically an undef base pointer has the potential to (presumably) crash the compiler somewhere later?

Don't we unconditionally want to increment `CurOp` (a single time) since we now always have a passthru operand that we want to skip over?


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D117647/new/

https://reviews.llvm.org/D117647



More information about the cfe-commits mailing list