[PATCH] D100288: [RISCV] Add vector types to GPR for P extension and explict type to codegen patterns

Jim Lin via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Apr 12 18:48:13 PDT 2021


Jim added a comment.

In D100288#2683490 <https://reviews.llvm.org/D100288#2683490>, @craig.topper wrote:

> In D100288#2683472 <https://reviews.llvm.org/D100288#2683472>, @jrtc27 wrote:
>
>> Surely some of this can be inferred by TableGen? This is rather disruptive (especially with my downstream hat on...).
>
> Tablegen was inferring all of these because GPR only contained 1 type in each HwMode. Once you add other types, it can't infer anymore. For RISCVISD nodes we can put XLenVT into the SDTypeProfiles, but for anything using target independent SDNodes, the SDTypeProfiles aren't strong enough. Most of the target independent nodes work on vectors so tablegen doesn't know if you're trying to pattern match vectors or scalars.
>
> I asked for this change rather than adding a P specific GPR regclass because I don't think we should have 2 register classes with identical spill and size information and different legal type lists. MCRegisterInfo ends up thinking they are subclasses of each other which is kind of odd.

Thanks for interpretation.
I added explicit type one by one to make sure it's type is unable to be inferred by TableGen.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D100288



More information about the llvm-commits mailing list