]> Cypherpunks repositories - gostls13.git/commit
cmd/compile: fix phi-function updates for preemptible loops
authorDavid Chase <drchase@google.com>
Wed, 14 Jun 2017 21:28:28 +0000 (17:28 -0400)
committerDavid Chase <drchase@google.com>
Fri, 14 Jul 2017 15:54:13 +0000 (15:54 +0000)
commit9664bc1d1ff8ee2ddcea37d335ca4510a57a1e0c
treea757b1e8a0c01c125839edea6770a014de83d755
parent26f0a7af456b3743e718002534576c6ef1ad99a3
cmd/compile: fix phi-function updates for preemptible loops

Previous code failed to account for particular control flow
involving nested loops when updating phi function inputs.
Fix involves:
1) remove incorrect shortcut
2) generate a "better" order for children in dominator tree
3) note inner-loop updates and check before applying
   outer-loop updates.

Fixes #20675.

Change-Id: I2fe21470604b5c259e777ad8b15de95f7706894d
Reviewed-on: https://go-review.googlesource.com/45791
Run-TryBot: David Chase <drchase@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Cherry Zhang <cherryyz@google.com>
src/cmd/compile/internal/ssa/loopreschedchecks.go
src/cmd/compile/internal/ssa/sparsetree.go