This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug tree-optimization/13761] [tree-ssa] component refs to the same struct should not alias
- From: "steven at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 25 Jul 2005 15:28:47 -0000
- Subject: [Bug tree-optimization/13761] [tree-ssa] component refs to the same struct should not alias
- References: <20040120070316.13761.dann@godzilla.ics.uci.edu>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Additional Comments From steven at gcc dot gnu dot org 2005-07-25 15:28 -------
The example from comment #3 now optimizes to identical inner loops:
;; Function foo (foo)
foo ()
{
int i.54;
int lsm_tmp.32;
int lsm_tmp.31;
int i;
int D.1628;
int D.1627;
int D.1623;
int x.0;
<bb 0>:
x.0 = x;
D.1623 = x.0 * x.0;
lsm_tmp.32 = y;
i.54 = 0;
<L0>:;
lsm_tmp.32 = (int) ((unsigned int) D.1623 + (unsigned int) lsm_tmp.32);
i.54 = i.54 + 1;
if (i.54 != 10) goto <L0>; else goto <L12>;
<L12>:;
y = lsm_tmp.32;
D.1627 = global.x;
D.1628 = D.1627 * D.1627;
lsm_tmp.31 = global.y;
i = 0;
<L3>:;
lsm_tmp.31 = (int) ((unsigned int) lsm_tmp.31 + (unsigned int) D.1628);
i = i + 1;
if (i != 10) goto <L3>; else goto <L5>;
<L5>:;
global.y = lsm_tmp.31;
return;
}
--
What |Removed |Added
----------------------------------------------------------------------------
Status|ASSIGNED |RESOLVED
Resolution| |FIXED
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13761