------- 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