[llvm] [TableGen][GISel] Create untyped registers during instruction selection (PR #121270)
Matt Arsenault via llvm-commits
llvm-commits at lists.llvm.org
Mon Jan 6 03:19:00 PST 2025
arsenm wrote:
> I wanted to make a distinction between virtual registers with and without a type. Probably not the best wording. Virtual register with a type == generic register, virtual register without a type == ??
Non-generic virtual register? Selected virtual register?
> * A function is selected in RPO and basic blocks are selected bottom-up, so this analysis can discover an untyped register created this way only(?) through a phi node.
Yes, @topperc encountered such a case recently. Although if you actually hit the selected instruction, we probably can't analyze it in any useful way. You could, but it's unlikely it will be handled by the implementation.
> * Untyped registers are also created when constraining a virtual register results in inserting a `COPY`, see `llvm::constrainRegToClass` and its use in `constrainOperandRegClass`.
Untyped is fine, but it should be a complete register with a register class.
https://github.com/llvm/llvm-project/pull/121270
More information about the llvm-commits
mailing list