[LLVMdev] Always put jump tables in code section?

Robinson, Paul Paul_Robinson at playstation.sony.com
Mon Aug 12 09:35:51 PDT 2013


Ping. My linker guys want this for dead-stripping.
I can make the change in our fork for our target but I'd rather
make it general, for all targets, if it makes sense.
Thanks
--paulr

> -----Original Message-----
> From: llvmdev-bounces at cs.uiuc.edu [mailto:llvmdev-bounces at cs.uiuc.edu]
> On Behalf Of Robinson, Paul
> Sent: Thursday, August 08, 2013 6:27 PM
> To: llvmdev at cs.uiuc.edu
> Subject: [LLVMdev] Always put jump tables in code section?
> 
> Jump tables (e.g. for dispatching in switch statements) currently
> get emitted to a readonly data section, unless -fPIC is in effect
> in which case they're emitted into the function's code section.
> The code to figure this out (in AsmPrinter::EmitJumpTableInfo())
> is not obvious, although commented, and has a FIXME for yet another
> special case.
> 
> There is clear value to co-locating jump tables with the function
> body for -fPIC.  I am not so clear on the value of putting them
> in a readonly data section in the non-PIC case.  Would it be a
> problem if they were always in the function code section?  (And
> for dead-stripping purposes, they should be within the bounds of
> the function symbol, so they need to be emitted a little earlier
> within AsmPrinter::EmitFunctionBody(). No point in having the
> jump tables be their own atom, I think.)
> --paulr
> 
> 
> 
> _______________________________________________
> 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