This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH] Support for known unknown alignment
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.