Skip to content

Commit 9f56845

Browse files
committed
cmd/compile: stop shadowing bool type in rewrite rules
This disrupts code instrumentation tools like go-fuzz. Change-Id: I524f31316975096ca5e3b1203a82e91ed1b6097e Reviewed-on: https://go-review.googlesource.com/c/go/+/168801 Run-TryBot: Josh Bleecher Snyder <[email protected]> Reviewed-by: Cherry Zhang <[email protected]>
1 parent 99e2232 commit 9f56845

File tree

2 files changed

+51
-51
lines changed

2 files changed

+51
-51
lines changed

src/cmd/compile/internal/ssa/gen/ARM64.rules

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -361,8 +361,8 @@
361361
(FCMPD (FMOVDconst [0]) x) -> (InvertFlags (FCMPD0 x))
362362

363363
// CSEL needs a flag-generating argument. Synthesize a CMPW if necessary.
364-
(CondSelect x y bool) && flagArg(bool) != nil -> (CSEL {bool.Op} x y flagArg(bool))
365-
(CondSelect x y bool) && flagArg(bool) == nil -> (CSEL {OpARM64NotEqual} x y (CMPWconst [0] bool))
364+
(CondSelect x y boolval) && flagArg(boolval) != nil -> (CSEL {boolval.Op} x y flagArg(boolval))
365+
(CondSelect x y boolval) && flagArg(boolval) == nil -> (CSEL {OpARM64NotEqual} x y (CMPWconst [0] boolval))
366366

367367
(OffPtr [off] ptr:(SP)) -> (MOVDaddr [off] ptr)
368368
(OffPtr [off] ptr) -> (ADDconst [off] ptr)
@@ -1647,14 +1647,14 @@
16471647
(CSEL0 {cc} _ flag) && ccARM64Eval(cc, flag) < 0 -> (MOVDconst [0])
16481648

16491649
// absorb flags back into boolean CSEL
1650-
(CSEL {cc} x y (CMPWconst [0] bool)) && cc.(Op) == OpARM64NotEqual && flagArg(bool) != nil ->
1651-
(CSEL {bool.Op} x y flagArg(bool))
1652-
(CSEL {cc} x y (CMPWconst [0] bool)) && cc.(Op) == OpARM64Equal && flagArg(bool) != nil ->
1653-
(CSEL {arm64Negate(bool.Op)} x y flagArg(bool))
1654-
(CSEL0 {cc} x (CMPWconst [0] bool)) && cc.(Op) == OpARM64NotEqual && flagArg(bool) != nil ->
1655-
(CSEL0 {bool.Op} x flagArg(bool))
1656-
(CSEL0 {cc} x (CMPWconst [0] bool)) && cc.(Op) == OpARM64Equal && flagArg(bool) != nil ->
1657-
(CSEL0 {arm64Negate(bool.Op)} x flagArg(bool))
1650+
(CSEL {cc} x y (CMPWconst [0] boolval)) && cc.(Op) == OpARM64NotEqual && flagArg(boolval) != nil ->
1651+
(CSEL {boolval.Op} x y flagArg(boolval))
1652+
(CSEL {cc} x y (CMPWconst [0] boolval)) && cc.(Op) == OpARM64Equal && flagArg(boolval) != nil ->
1653+
(CSEL {arm64Negate(boolval.Op)} x y flagArg(boolval))
1654+
(CSEL0 {cc} x (CMPWconst [0] boolval)) && cc.(Op) == OpARM64NotEqual && flagArg(boolval) != nil ->
1655+
(CSEL0 {boolval.Op} x flagArg(boolval))
1656+
(CSEL0 {cc} x (CMPWconst [0] boolval)) && cc.(Op) == OpARM64Equal && flagArg(boolval) != nil ->
1657+
(CSEL0 {arm64Negate(boolval.Op)} x flagArg(boolval))
16581658

16591659
// absorb shifts into ops
16601660
(NEG x:(SLLconst [c] y)) && clobberIfDead(x) -> (NEGshiftLL [c] y)

src/cmd/compile/internal/ssa/rewriteARM64.go

Lines changed: 41 additions & 41 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)