[llvm] [IR] Remove pointer arguments from loop.dependence.{war|raw}.mask (PR #188248)
Benjamin Maxwell via llvm-commits
llvm-commits at lists.llvm.org
Wed Mar 25 08:27:47 PDT 2026
================
@@ -5578,6 +5578,19 @@ AArch64TargetLowering::LowerLOOP_DEPENDENCE_MASK(SDValue Op,
SDLoc DL(Op);
EVT VT = Op.getValueType();
+ SDValue Op0 = Op.getOperand(0);
+
+ if (Op0.getValueType() != MVT::i64) {
+ assert(Op0.getValueSizeInBits() < 64);
----------------
MacDue wrote:
`i128` is not a legal type, so it won't occur here. We'd need to implement `ExpandIntegerOperand` if we wanted to handle it:
```
ExpandIntegerOperand Op #0: t9: nxv16i1 = loop_dep_war Constant:i128<0>, t5, Constant:i64<1>, Constant:i64<0>
LLVM ERROR: Do not know how to expand this operator's operand!
```
I think you probably need to bit a little more careful than truncating (but you can probably clamp the value to the range of an i64).
https://github.com/llvm/llvm-project/pull/188248
More information about the llvm-commits
mailing list