[LLVMdev] IR extension proposal: bitset constants

Chris Lattner clattner at apple.com
Thu Jan 29 23:04:41 PST 2015


> On Jan 29, 2015, at 6:50 PM, Peter Collingbourne <peter at pcc.me.uk> wrote:
> 
> On Thu, Jan 29, 2015 at 02:22:48PM -0800, Peter Collingbourne wrote:
>> I've been working on a patch that implements the bitset attribute and bitset
>> lowering pass. I'll see if I can send it out later today.
> 
> http://reviews.llvm.org/D7288 <http://reviews.llvm.org/D7288>

Hi Peter,

I don’t think that adding an IR construct for this is the way to go.  You’re making IR complicated for everyone to serve a very narrow use case (one that admittedly I don’t really understand).  The fact that this affects semantics and will only work with LTO and not native linkers is also really weird to me.  Is there other precedent for that?  The only cases I know that affect LTO add information that is safe to drop (e.g. TBAA etc).

Also, your patch is incomplete.  Presumably you have to scatter checks for “if (!GV->isBitSet())” throughout the optimizer, codegen and other things that touch globals.

-Chris
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20150129/f73cce6b/attachment.html>


More information about the llvm-dev mailing list