Re: Strange missing tree constant propagation

2005-03-10 Thread Zdenek Dvorak
Hello, > >I think I will try the later fix today (mostly because I no longer > >remember what exactly were the problems that lead me to introducing > >the TREE_OVERFLOW check to is_gimple_min_invariant). > > http://gcc.gnu.org/ml/gcc-patches/2003-12/msg00786.html > And yes the testcase still fail

Re: Strange missing tree constant propagation

2005-03-10 Thread Andrew Pinski
On Mar 10, 2005, at 6:23 AM, Zdenek Dvorak wrote: I think I will try the later fix today (mostly because I no longer remember what exactly were the problems that lead me to introducing the TREE_OVERFLOW check to is_gimple_min_invariant). http://gcc.gnu.org/ml/gcc-patches/2003-12/msg00786.html And y

Re: Strange missing tree constant propagation

2005-03-10 Thread Zdenek Dvorak
Hello, > Why is D.1476 not being propagated? IVOPTS introduces it, > but I don't see any reason why... > > Also, why all the leading zeros? Is there something special > about that constant? The initial RTL gcc produces for the > assignment to D.1476 is also suboptimal: > > ;; D.1476 = -00

Strange missing tree constant propagation

2005-03-10 Thread Steven Bosscher
Hi, Consider this embarassingly trivial function: void foo (int a) { while (a--) ; } Here is the .optimized tree dump that we produce for this test: ;; Function foo (foo) Analyzing Edge Insertions. foo (a) { int D.1476; :; :; a = a - 1; D.1476 = -1; if (a != D.1476) goto ;