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

David Chisnall via llvm-dev llvm-dev at lists.llvm.org
Thu Nov 19 11:35:19 PST 2015


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)

David



More information about the llvm-dev mailing list