[PATCH] D65552: Move llvm::Register from CodeGen to MC to correct a layering issue

Matt Arsenault via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Jul 31 19:41:24 PDT 2019


arsenm added a comment.

In D65552#1609531 <https://reviews.llvm.org/D65552#1609531>, @dsanders wrote:

> In D65552#1609530 <https://reviews.llvm.org/D65552#1609530>, @arsenm wrote:
>
> > In D65552#1609529 <https://reviews.llvm.org/D65552#1609529>, @dsanders wrote:
> >
> > > MCRegisterClass::contains() is the main example I have at the moment. It's often called with virtual register arguments and returns false for this case.
> >
> >
> > This sounds really broken. I would expect that to be an illegal call
>
>
> Are you referring to calling TargetRegisterClass::contains() on vregs to begin with or passing them on to MCRegisterClass::contains?
>  The former is happening everywhere as far as I can see but we could practically make the latter true.


Both. It doesn't make any sense to pass a virtual register to either. For a virtual register you would check the register class from MachineRegisterInfo


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D65552





More information about the llvm-commits mailing list