[LLVMdev] IR extension proposal: bitset constants

Chris Lattner
Fri, 30 Jan 2015 07:04:41 -0000

> 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>