[PATCH] D52447: [Tablegen/RFC] Introduce Mask to limit generation of inferred register classes

Bjorn Pettersson via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Oct 3 09:43:20 PDT 2018


bjope added a comment.

I don't know the history behind the inferred classes, I thought they were generated because they might be needed :-)

To use this "knob" I guess I need to know which classes that are used by different instructions in my target, and which register classes that I might get copied between etc. And by using that knowledge I might know that the register coalescer and regalloc etc doesn't need constrain to certain inferred classes. And then I can use the knob to get rid of classes that I believe never is used. Is that a correct interpretation?

To understand a little bit more about what you are trying to achieve it would be nice with some more information about the problem with having those inferred classes.
Are they for example invalid or overlapping in some way (do you get several classes that contain exactly the same registers)?
Or do you hit some maximum limit regarding number of register classes?
Or are you afraid that it costs compile time to have many classes?
Or are you just annoyed that your generated <target>GenRegisterInfo.inc file is hard to read?


Repository:
  rL LLVM

https://reviews.llvm.org/D52447





More information about the llvm-commits mailing list