[PATCH] D64953: GlobalISel: Support physical register inputs in patterns

Matt Arsenault via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Aug 21 09:21:15 PDT 2019


arsenm marked an inline comment as done.
arsenm added inline comments.


================
Comment at: test/TableGen/gisel-physreg-input.td:74
+def MUL_PHYS : I<(outs GPR32:$dst), (ins GPR32:$SPECIAL),
+    [(set GPR32:$dst, (mul GPR32:$SPECIAL, SPECIAL))]> {
+  let Uses = [SPECIAL];
----------------
aemerson wrote:
> arsenm wrote:
> > aemerson wrote:
> > > How can the SPECIAL register be a part of the GPR32 reg class here?
> > It's not. This is checking what happens if you for some reason name an operand the same thing as a physical register name
> Ok, so it looks like it checks if the operands are the same? I think it should be an error instead.
Either way it differs from the current DAG behavior, which does allow this. It didn't seem worth rewriting everything to avoid referring to operands by name


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

https://reviews.llvm.org/D64953





More information about the llvm-commits mailing list