[Bug tree-optimization/18880] DSE is not doing its job for global variables
steven at gcc dot gnu dot org
gcc-bugzilla@gcc.gnu.org
Thu Jan 13 20:38:00 GMT 2005
------- Additional Comments From steven at gcc dot gnu dot org 2005-01-13 20:38 -------
Hmpf, does DSE do anything *at* *all*???
Test cases:
---------------------------------------
int x;
int
f1 (int i, int j, int k)
{
int *p = k ? &i : &j;
i = 3; /* Dead store. */
*p = 5;
x = j;
}
int
f2 (int l, int m, int n)
{
int *q = n ? &l : &m;
*q = 3; /* Dead store. */
*q = 5;
x = m;
}
---------------------------------------
.optimized dump at -O2:
---------------------------------------
;; Function f1 (f1)
Analyzing Edge Insertions.
f1 (i, j, k)
{
int * p;
int j.1;
int * iftmp.0;
<bb 0>:
if (k != 0) goto <L4>; else goto <L3>;
<L4>:;
p = &i;
goto <bb 2> (<L2>);
<L3>:;
p = &j;
<L2>:;
i = 3;
*p = 5;
x = j;
return;
}
;; Function f2 (f2)
Analyzing Edge Insertions.
f2 (l, m, n)
{
int * q;
int m.3;
int * iftmp.2;
<bb 0>:
if (n != 0) goto <L4>; else goto <L3>;
<L4>:;
q = &l;
goto <bb 2> (<L2>);
<L3>:;
q = &m;
<L2>:;
*q = 3;
*q = 5;
x = m;
return;
}
---------------------------------------
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18880
More information about the Gcc-bugs
mailing list