On Mon, Jul 24, 2017 at 2:59 PM, Marc Glisse <marc.gli...@inria.fr> wrote: > On Mon, 24 Jul 2017, Bin.Cheng wrote: > >> But since definition of _197 isn't in current stmt sequence, call "o31 >> = do_valueize (valueize, o31)" will return NULL. As a result, it's >> not matched. > > > Wait, actually, how was your fold_build* version working? Why was the first > addition "in the current generic tree" and why isn't it "in current stmt > sequence"? Maybe I didn't express it clearly. In compute_new_first_bound, we have stmt sequence "_124 = _197 + 1", and we try to simplify "_124 - 1" by calling gimple_build. The definition of _197 is a PHI and isn't in current stmt sequence. For fold_build* version, it builds expression "_197 + 1 - 1" and simplifies it.
Thanks, bin > > -- > Marc Glisse