[llvm-dev] [GlobalISel] A Proposal for global instruction selection
Quentin Colombet via llvm-dev
llvm-dev at lists.llvm.org
Thu Nov 19 12:19:35 PST 2015
Hi Philip and David,
Thanks for the inputs, we will see how the design can accommodate with that when we prototype. Having some inttoptr, etc. kind of MachineInstr with additional information like address space sounds reasonable and that should fit your constraints.
Anyway, I may ping you to check if the translation is flexible enough or perform what you want, but of course, I invite you to actively review all the incoming patches related to GISel :).
> On Nov 19, 2015, at 11:35 AM, David Chisnall <David.Chisnall at cl.cam.ac.uk> wrote:
> On 19 Nov 2015, at 19:27, Philip Reames <listmail at philipreames.com> wrote:
>> Having a distinction between integers and pointers preserved into MI would be quite useful for garbage collection as well. We currently have a lowering phase (RewriteStatepointsForGC) which effectively rewrites operations of references (i.e. managed pointers) so that they can be treated as integers throughout the rest of the pipeline. If we could retain the distinction further back through the backend, it would both simply a lot of code and likely let us generate better code (spilling, etc..) around safepoints.
> It’s also important for doing a load of CFI things correctly (see: https://www.ics.uci.edu/~perl/ccs15_stackdefiler.pdf)
More information about the llvm-dev