[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