[PATCH] Support for known unknown alignment

Richard Guenther rguenther@suse.de
Mon Apr 23 14:15:00 GMT 2012


On Mon, 23 Apr 2012, Jay Foad wrote:

> On 23 April 2012 14:30, Richard Guenther <rguenther@suse.de> wrote:
> > Well, CCP simply tracks known-bits and derives the alignment
> > value from that.  If tem & -tem computes as zero that means
> > val->mask.low is all zeros.
> 
> Doesn't that mean that all bits are known? So you could set:
>
>   pi->align = 1 << 32; // or some suitably large power of two
>   pi->misalign = val->value;

Oh, I got it wrong.  All bits zero mean all bits known, all bits
unknown are a mask of ~0.

So indeed, if val.mask.low == 0 then we know this is a very large
alignment which is at the moment lost.

Richard.


More information about the Gcc-patches mailing list