[Bug tree-optimization/18880] DSE is not doing its job for global variables
law at redhat dot com
gcc-bugzilla@gcc.gnu.org
Mon Jan 17 18:33:00 GMT 2005
------- Additional Comments From law at redhat dot com 2005-01-17 18:33 -------
Subject: Re: DSE is not doing its job for
global variables
On Thu, 2005-01-13 at 20:38 +0000, steven at gcc dot gnu dot org wrote:
> ------- Additional Comments From steven at gcc dot gnu dot org 2005-01-13 20:38 -------
> Hmpf, does DSE do anything *at* *all*???
Yes.
foo( int *a)
{
*a =5;
*a = 3;
}
>From the .dse1 dump:
;; Function foo (foo)
Deleted dead store '*a_1 = 5'
foo (a)
{
# BLOCK 0
# PRED: ENTRY [100.0%] (fallthru)
*a_1 = 3;
return;
# SUCC: EXIT [100.0%]
}
Your tests fail because of the mixture of V_MUST_DEF and V_MAY_DEFs
as well as the aliasing for the references through i and *p in the
first test and the aliasing between l & m in the second test.
I wouldn't expect my change to handle V_MUST_DEF to fix the first
test.
Feel free to improve :-)
Jeff
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18880
More information about the Gcc-bugs
mailing list