[llvm] [GlobalISel][ARM] Legalization of G_CONSTANT using constant pool (PR #98308)

Matt Arsenault via llvm-commits llvm-commits at lists.llvm.org
Thu Jul 11 10:53:40 PDT 2024


arsenm wrote:

> This is the wrong approach. Please reconsider #96225. We loose the `.legalFor`. #97513 showed issues with `.customFor` . There are less constants in the pipeline. AArch64 shows
> 
> https://github.com/llvm/llvm-project/blob/fec1b6f9d3cf5347b67ffb2078c995eb496acf47/llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp#L2580

Disagree. AArch64 should remove this custom handling. This is not how the DAG 

> 
> how to handle constant pool loads in the selector.
> Gisel has a type-based legalizer. There are no illegal values.

Not exactly, legal means can be selected. It doesn't mean custom cannot add restrictions. We could also always augment legality with immediate values (like we already do for sext_inreg) 

https://github.com/llvm/llvm-project/pull/98308


More information about the llvm-commits mailing list