On Thu, 9 Aug 2012, Andrey Belevantsev wrote:
> Hello, > > The problem in question is uncovered by the recent speculation patch, it is in > the handling of expressions blocked by bookkeeping. Those are expressions > that become unavailable due to the newly created bookkeeping copies. In the > original algorithm the supported insns and transformations cannot lead to this > result, but when handling non-separable insns or creating speculative checks > that unpredictably block certain insns the situation can arise. We just > filter out all such expressions from the final availability set for > correctness. > > The PR happens because the expression being filtered out can be transformed > while being moved up, thus we need to look up not only its exact pattern but > also all its previous forms saved in its history of changes. The patch does > exactly that, I also clarified the comments w.r.t. this situation. > > Bootstrapped and tested on ia64 and x86-64, the PR testcase is minimized, too. > OK for trunk? Also need to backport this to 4.7 with PR 53975, say on the > next week. This is OK. Thanks. Alexander