This is a non-trivial property relied upon by D135396. I wrote this to convince myself it was true.
Differential Revision: https://reviews.llvm.org/D135403
ErrInfo = "policy operand w/o VL operand?";
return false;
}
+
+ // VecPolicy operands can only exist on instructions with passthru/merge
+ // arguments. Note that not all arguments with passthru have vec policy
+ // operands- some instructions have implicit policies.
+ unsigned UseOpIdx;
+ if (!MI.isRegTiedToUseOperand(0, &UseOpIdx)) {
+ ErrInfo = "policy operand w/o tied operand?";
+ return false;
+ }
}
return true;