[LLVMdev] Named Register Implementation

Robinson, Paul Paul_Robinson at playstation.sony.com
Mon Mar 31 08:50:43 PDT 2014


> -----Original Message-----
> From: llvmdev-bounces at cs.uiuc.edu [mailto:llvmdev-bounces at cs.uiuc.edu]
> On Behalf Of Joerg Sonnenberger
> Sent: Saturday, March 29, 2014 6:37 AM
> To: llvmdev at cs.uiuc.edu
> Subject: Re: [LLVMdev] Named Register Implementation
> 
> On Sat, Mar 29, 2014 at 12:36:45PM +0000, Renato Golin wrote:
> > On 29 March 2014 12:27, Joerg Sonnenberger <joerg at britannica.bec.de>
> wrote:
> > > declare void @llvm.write_register(i32 regno, i32 val)
> > > declare i32 @llvm.read_register(i32 regno)
> > >
> > > where regno is the DWARF name or a special reservation e.g. for IP
> or
> > > SP.
> >
> > Do front-ends have that info with them? AFAICR, front-ends only emit
> > metadata related to variables and they let the lowering process to
> > deal with location. I want to add as little as possible to front-ends
> > on this.
> 
> I'm not sure if we have a generic mapping of textual name to DWARF name
> right now, but that would be easy to provide. In terms of lowering, this
> would be another mode like TLS already is?

DWARF "names" are just small integers with a target-specific mapping
to the target-specific register set. You really can't assume anything
specific about any given DWARF register number in a target-independent
way, which I think is what you're asking about.  (DWARF doesn't define
that mapping.)
--paulr

> 
> Joerg
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev






More information about the llvm-dev mailing list