This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug tree-optimization/35518] [4.4 Regression] FAIL: gcc.c-torture/execute/20040709-1.c execution at -O2 and above
- From: "rguenther at suse dot de" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 26 Jun 2008 09:33:37 -0000
- Subject: [Bug tree-optimization/35518] [4.4 Regression] FAIL: gcc.c-torture/execute/20040709-1.c execution at -O2 and above
- References: <bug-35518-276@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #25 from rguenther at suse dot de 2008-06-26 09:33 -------
Subject: Re: [4.4 Regression] FAIL:
gcc.c-torture/execute/20040709-1.c execution at -O2 and above
On Thu, 26 Jun 2008, aoliva at gcc dot gnu dot org wrote:
> ------- Comment #24 from aoliva at gcc dot gnu dot org 2008-06-26 00:33 -------
> It's not just the result type that changed. You actually changed the type of
> the variable created to hold the group of bit fields, out of which we further
> extract members that were not mapped to separate variables. This might affect
> bitfield simplifications based on mode size rather than type width. I can't
> say that's it, but I know I may have based some code on this assumption that
> you broke.
>
> It also seems to me that this change to the base type of the variable breaks
> sra_build_elt_assignment(), because the by-design conditions might no longer be
> met. Finally, I don't see how you could assume that the else block for the if
> full-width bit-field could be extracted with as little as a cast.
>
> This is what jumped at me at first. I haven't actually built compilers based
> on the state before and after your patch to tell whether that's it, but these
> are the most likely culprits.
>
> I hope this helps,
No, sorry. Please point me to the place where I changed the type of the
variable created to hold the group of bit fields.
Richard.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35518