re PR tree-optimization/46620 (32-bit structures containing bitfields are not copied correctly on -O2 , x86 backend)
PR tree-optimization/46620 * tree-sra.c (try_instantiate_multiple_fields): Don't get stuck at padding within accessed words. From-SVN: r170328
This commit is contained in:
parent
aaea2f902a
commit
f3f7e335f0
|
@ -1,3 +1,9 @@
|
|||
2011-02-19 Alexandre Oliva <aoliva@redhat.com>
|
||||
|
||||
PR tree-optimization/46620
|
||||
* tree-sra.c (try_instantiate_multiple_fields): Don't get stuck at
|
||||
padding within accessed words.
|
||||
|
||||
2011-02-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
|
||||
|
||||
* config.gcc (hppa[12]*-*-hpux11*): Set extra_parts.
|
||||
|
|
|
@ -1661,13 +1661,13 @@ try_instantiate_multiple_fields (struct sra_elt *elt, tree f)
|
|||
|| mbit + msize <= fbit)
|
||||
continue;
|
||||
|
||||
if (fbit <= mbit)
|
||||
if (fbit < bit)
|
||||
{
|
||||
unsigned HOST_WIDE_INT diff = fbit + fsize - mbit;
|
||||
mbit += diff;
|
||||
msize -= diff;
|
||||
}
|
||||
else if (fbit > mbit)
|
||||
else if (fbit > bit)
|
||||
msize -= (mbit + msize - fbit);
|
||||
else
|
||||
gcc_unreachable ();
|
||||
|
|
Loading…
Reference in New Issue