[llvm-dev] [GlobalISel] A Proposal for global instruction selection

David Chisnall via llvm-dev llvm-dev at lists.llvm.org
Wed Nov 18 11:55:05 PST 2015


Hi Quentin,

On 18 Nov 2015, at 19:26, Quentin Colombet via llvm-dev <llvm-dev at lists.llvm.org> wrote:
> 
> In the section “Goals", I defined (repeated for people that saw the talk) the goals for the Global ISel design.
> - Do you see anything missing?
> - Do you see something that should not be there? 

I really like the design that you outlined.  I have one very small request:

Please maintain pointers as a distinct type from integers for as long as possible.  We currently have some patches in SelectionDAG to add some pointer-specific operations, as in our architecture the operations valid on pointers are not the same as those valid on integers (and pointers are not the same size as integers).  Your proposed model looks like it would be *much* easier for us to use as long as that constraint is kept.  Various systems with different integer and address registers hit the same problem as us.

Given the way that you’re proposing to do legalisation, this seems like it should be easy (for most architectures, assigning pointers to the same register bank as integers will be a simple choice and then all of the later selection should be the same).

On a related note, keeping pointer address spaces around in the machine IR would make things easier for us and, I think, some of the GPU folks.

David



More information about the llvm-dev mailing list