go/ssa: allow transient untyped integer values - #668
Conversation
Non-constant untyped integer values may arise transiently while evaluating shift expressions. The builder already preserves these values, but the sanity checker rejects them as invalid SSA. Permit untyped integer instruction results and operands, while retaining the checks for all other non-constant untyped values. Fixes golang/go#77067.
|
This PR (HEAD: 23534d6) has been imported to Gerrit for code review. Please visit Gerrit at https://go-review.googlesource.com/c/tools/+/814580. Important tips:
|
|
Message from Robert Griesemer: Patch Set 1: Code-Review+1 (1 comment) Please don’t reply on this GitHub thread. Visit golang.org/cl/814580. |
|
Message from Robert Griesemer: Patch Set 1: TryBot-Bypass+1 Please don’t reply on this GitHub thread. Visit golang.org/cl/814580. |
|
Message from Robert Griesemer: Patch Set 1: (1 comment) Please don’t reply on this GitHub thread. Visit golang.org/cl/814580. |
|
Message from Jie Li: Patch Set 1: (1 comment) Please don’t reply on this GitHub thread. Visit golang.org/cl/814580. |
|
Message from Robert Griesemer: Patch Set 1: -TryBot-Bypass Please don’t reply on this GitHub thread. Visit golang.org/cl/814580. |
|
Message from Robert Griesemer: Patch Set 1: Commit-Queue+1 Please don’t reply on this GitHub thread. Visit golang.org/cl/814580. |
|
Message from golang-scoped@luci-project-accounts.iam.gserviceaccount.com: Patch Set 1: Dry run: CV is trying the patch. Bot data: {"action":"start","triggered_at":"2026-08-20T17:10:57Z","revision":"b595bab0c32c620595bdc93823749e9bd02a26f3"} Please don’t reply on this GitHub thread. Visit golang.org/cl/814580. |
|
Message from Robert Griesemer: Patch Set 1: -Commit-Queue (Performed by <GERRIT_ACCOUNT_60063> on behalf of <GERRIT_ACCOUNT_7392>) Please don’t reply on this GitHub thread. Visit golang.org/cl/814580. |
|
Message from golang-scoped@luci-project-accounts.iam.gserviceaccount.com: Patch Set 1: This CL has passed the run Please don’t reply on this GitHub thread. Visit golang.org/cl/814580. |
|
Message from golang-scoped@luci-project-accounts.iam.gserviceaccount.com: Patch Set 1: LUCI-TryBot-Result+1 Please don’t reply on this GitHub thread. Visit golang.org/cl/814580. |
|
Message from Robert Griesemer: Patch Set 1: (1 comment) Please don’t reply on this GitHub thread. Visit golang.org/cl/814580. |
Non-constant untyped integer values may arise transiently while
evaluating shift expressions. The builder already preserves these values,
but the sanity checker rejects them as invalid SSA.
Permit untyped integer instruction results and operands, while retaining
the checks for all other non-constant untyped values. Add examples that
exercise nested, arithmetic, and untyped-rune shift counts.
This follows the conclusion in golang/go#77067 and the specification
clarification tracked by golang/go#77117.
Fixes golang/go#77067.