------- Comment #10 from rguenth at gcc dot gnu dot org  2009-04-15 16:19 
-------
Hmm, are you sure that revision is the cause?  What happens is that the
variable thrs is appearantly a translation-unit local constant variable
with a constant initializer of 4.  CCP looks that up via
get_symbol_constant_value
and propagates it.

Indeed the testcase has

static int thrs = 4;

and thrs is never written to so ipa-reference marks it constant.

The test changes to

  if (shrd.1_3 != 4)

maybe you are looking for a different pass then?


-- 

rguenth at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|rguenther at suse dot de    |rguenth at gcc dot gnu dot
                   |                            |org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39746

Reply via email to