-
Notifications
You must be signed in to change notification settings - Fork 18k
cmd/compile/internal/devirtualize: improve concrete type analysis #71935
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
cmd/compile/internal/devirtualize: improve concrete type analysis #71935
Conversation
This PR (HEAD: a957ba9) has been imported to Gerrit for code review. Please visit Gerrit at https://go-review.googlesource.com/c/go/+/652036. Important tips:
|
This PR (HEAD: 92b33c0) has been imported to Gerrit for code review. Please visit Gerrit at https://go-review.googlesource.com/c/go/+/652036. Important tips:
|
Message from Mateusz Poliwczak: Patch Set 2: Commit-Queue+1 (1 comment) Please don’t reply on this GitHub thread. Visit golang.org/cl/652036. |
Message from Go LUCI: Patch Set 2: Dry run: CV is trying the patch. Bot data: {"action":"start","triggered_at":"2025-02-24T19:39:48Z","revision":"a2b90406da463d84f7606706a10c2e6372a13a95"} Please don’t reply on this GitHub thread. Visit golang.org/cl/652036. |
Message from Mateusz Poliwczak: Patch Set 2: -Commit-Queue Please don’t reply on this GitHub thread. Visit golang.org/cl/652036. |
Message from Go LUCI: Patch Set 2: This CL has failed the run. Reason: Tryjob golang/try/gotip-linux-amd64-newinliner has failed with summary (view all results):
Build or test failure, click here for results. To reproduce, try Additional links for debugging: Please don’t reply on this GitHub thread. Visit golang.org/cl/652036. |
Message from Go LUCI: Patch Set 2: LUCI-TryBot-Result-1 Please don’t reply on this GitHub thread. Visit golang.org/cl/652036. |
This PR (HEAD: fc782d5) has been imported to Gerrit for code review. Please visit Gerrit at https://go-review.googlesource.com/c/go/+/652036. Important tips:
|
Message from Mateusz Poliwczak: Patch Set 3: Commit-Queue+1 Please don’t reply on this GitHub thread. Visit golang.org/cl/652036. |
Message from Go LUCI: Patch Set 3: Dry run: CV is trying the patch. Bot data: {"action":"start","triggered_at":"2025-02-24T19:56:59Z","revision":"9d69609570d77cc1942e98c4f1780198aaa7a364"} Please don’t reply on this GitHub thread. Visit golang.org/cl/652036. |
Message from Mateusz Poliwczak: Patch Set 3: -Commit-Queue Please don’t reply on this GitHub thread. Visit golang.org/cl/652036. |
Message from Go LUCI: Patch Set 3: This CL has passed the run Please don’t reply on this GitHub thread. Visit golang.org/cl/652036. |
Message from Go LUCI: Patch Set 3: LUCI-TryBot-Result+1 Please don’t reply on this GitHub thread. Visit golang.org/cl/652036. |
Message from Keith Randall: Patch Set 3: (6 comments) Please don’t reply on this GitHub thread. Visit golang.org/cl/652036. |
This PR (HEAD: cb05e01) has been imported to Gerrit for code review. Please visit Gerrit at https://go-review.googlesource.com/c/go/+/652036. Important tips:
|
Message from Mateusz Poliwczak: Patch Set 4: Commit-Queue+1 (4 comments) Please don’t reply on this GitHub thread. Visit golang.org/cl/652036. |
Message from Go LUCI: Patch Set 4: Dry run: CV is trying the patch. Bot data: {"action":"start","triggered_at":"2025-02-26T18:18:24Z","revision":"ec3d9ef8e84da2f0ac2431cc4ee2306a6aaa1074"} Please don’t reply on this GitHub thread. Visit golang.org/cl/652036. |
This PR (HEAD: 71aa67a) has been imported to Gerrit for code review. Please visit Gerrit at https://go-review.googlesource.com/c/go/+/652036. Important tips:
|
Message from Mateusz Poliwczak: Patch Set 4: -Commit-Queue Please don’t reply on this GitHub thread. Visit golang.org/cl/652036. |
Message from Go LUCI: Patch Set 4: This CL has failed the run. Reason: Tryjob golang/try/gotip-linux-amd64 has failed with summary (view all results):
Build or test failure, click here for results. To reproduce, try Additional links for debugging: Please don’t reply on this GitHub thread. Visit golang.org/cl/652036. |
Message from Go LUCI: Patch Set 4: LUCI-TryBot-Result-1 Please don’t reply on this GitHub thread. Visit golang.org/cl/652036. |
Message from Mateusz Poliwczak: Patch Set 5: Commit-Queue+1 Please don’t reply on this GitHub thread. Visit golang.org/cl/652036. |
Message from Go LUCI: Patch Set 5: Dry run: CV is trying the patch. Bot data: {"action":"start","triggered_at":"2025-02-26T18:29:27Z","revision":"1427897e1e2151363353b04b23c74a2cab07d198"} Please don’t reply on this GitHub thread. Visit golang.org/cl/652036. |
Message from Mateusz Poliwczak: Patch Set 5: (1 comment) Please don’t reply on this GitHub thread. Visit golang.org/cl/652036. |
Message from Mateusz Poliwczak: Patch Set 5: -Commit-Queue Please don’t reply on this GitHub thread. Visit golang.org/cl/652036. |
Message from Go LUCI: Patch Set 5: This CL has failed the run. Reason: Tryjob golang/try/gotip-linux-amd64-newinliner has failed with summary (view all results):
Build or test failure, click here for results. To reproduce, try Additional links for debugging: Please don’t reply on this GitHub thread. Visit golang.org/cl/652036. |
Message from Go LUCI: Patch Set 5: LUCI-TryBot-Result-1 Please don’t reply on this GitHub thread. Visit golang.org/cl/652036. |
This PR (HEAD: f9ee31f) has been imported to Gerrit for code review. Please visit Gerrit at https://go-review.googlesource.com/c/go/+/652036. Important tips:
|
Message from Mateusz Poliwczak: Patch Set 6: Commit-Queue+1 Please don’t reply on this GitHub thread. Visit golang.org/cl/652036. |
Message from Go LUCI: Patch Set 6: Dry run: CV is trying the patch. Bot data: {"action":"start","triggered_at":"2025-02-26T18:51:15Z","revision":"b4b4571fd48cbf19e7b4909bc9021ae928adeff0"} Please don’t reply on this GitHub thread. Visit golang.org/cl/652036. |
Message from Keith Randall: Patch Set 15: (7 comments) Please don’t reply on this GitHub thread. Visit golang.org/cl/652036. |
cf7322c
to
7fea0a5
Compare
This PR (HEAD: 7fea0a5) has been imported to Gerrit for code review. Please visit Gerrit at https://go-review.googlesource.com/c/go/+/652036. Important tips:
|
Message from Mateusz Poliwczak: Patch Set 16: Commit-Queue+1 (4 comments) Please don’t reply on this GitHub thread. Visit golang.org/cl/652036. |
Message from Go LUCI: Patch Set 16: Dry run: CV is trying the patch. Bot data: {"action":"start","triggered_at":"2025-03-11T19:56:33Z","revision":"8ec24c660d5f9052e9fc46d8acc1580085e3ab0c"} Please don’t reply on this GitHub thread. Visit golang.org/cl/652036. |
Message from Mateusz Poliwczak: Patch Set 16: -Commit-Queue Please don’t reply on this GitHub thread. Visit golang.org/cl/652036. |
Message from Go LUCI: Patch Set 16: This CL has failed the run. Reason: Tryjob golang/try/gotip-linux-amd64-newinliner has failed with summary (view all results):
Build or test failure, click here for results. To reproduce, try Additional links for debugging: Please don’t reply on this GitHub thread. Visit golang.org/cl/652036. |
Message from Go LUCI: Patch Set 16: LUCI-TryBot-Result-1 Please don’t reply on this GitHub thread. Visit golang.org/cl/652036. |
This PR (HEAD: 2d12057) has been imported to Gerrit for code review. Please visit Gerrit at https://go-review.googlesource.com/c/go/+/652036. Important tips:
|
Message from Mateusz Poliwczak: Patch Set 17: Commit-Queue+1 Please don’t reply on this GitHub thread. Visit golang.org/cl/652036. |
Message from Go LUCI: Patch Set 17: Dry run: CV is trying the patch. Bot data: {"action":"start","triggered_at":"2025-03-11T20:30:27Z","revision":"fc36f24a44cdda1f85f992064469d026fc1b2db7"} Please don’t reply on this GitHub thread. Visit golang.org/cl/652036. |
Message from Mateusz Poliwczak: Patch Set 17: -Commit-Queue Please don’t reply on this GitHub thread. Visit golang.org/cl/652036. |
Message from Go LUCI: Patch Set 17: This CL has passed the run Please don’t reply on this GitHub thread. Visit golang.org/cl/652036. |
Message from Go LUCI: Patch Set 17: LUCI-TryBot-Result+1 Please don’t reply on this GitHub thread. Visit golang.org/cl/652036. |
2d12057
to
40c1d88
Compare
This PR (HEAD: 40c1d88) has been imported to Gerrit for code review. Please visit Gerrit at https://go-review.googlesource.com/c/go/+/652036. Important tips:
|
Message from Mateusz Poliwczak: Patch Set 18: Commit-Queue+1 Please don’t reply on this GitHub thread. Visit golang.org/cl/652036. |
Message from Go LUCI: Patch Set 18: Dry run: CV is trying the patch. Bot data: {"action":"start","triggered_at":"2025-05-15T16:07:05Z","revision":"723b301ba4fa5bc86a81ee71ab55e01c2e98bd8b"} Please don’t reply on this GitHub thread. Visit golang.org/cl/652036. |
Message from Mateusz Poliwczak: Patch Set 18: -Commit-Queue Please don’t reply on this GitHub thread. Visit golang.org/cl/652036. |
Message from Go LUCI: Patch Set 18: This CL has failed the run. Reason: Tryjob golang/try/gotip-js-wasm has failed with summary (view all results):
To reproduce, try Additional links for debugging: Please don’t reply on this GitHub thread. Visit golang.org/cl/652036. |
Message from Go LUCI: Patch Set 18: LUCI-TryBot-Result-1 Please don’t reply on this GitHub thread. Visit golang.org/cl/652036. |
Change-Id: Iebc7737713d73690f861955a01ae6f7fa25e32ab
Change-Id: I639df00ca5101d6287eb2c08e9fc9f8ce34fee02
40c1d88
to
dad90c2
Compare
This PR (HEAD: dad90c2) has been imported to Gerrit for code review. Please visit Gerrit at https://go-review.googlesource.com/c/go/+/652036. Important tips:
|
Message from Mateusz Poliwczak: Patch Set 19: Commit-Queue+1 Please don’t reply on this GitHub thread. Visit golang.org/cl/652036. |
Message from Go LUCI: Patch Set 19: Dry run: CV is trying the patch. Bot data: {"action":"start","triggered_at":"2025-05-15T18:14:38Z","revision":"5c1861b5498cd84a6bb97e271835d2b90daf8773"} Please don’t reply on this GitHub thread. Visit golang.org/cl/652036. |
Message from Mateusz Poliwczak: Patch Set 19: -Commit-Queue Please don’t reply on this GitHub thread. Visit golang.org/cl/652036. |
Message from Go LUCI: Patch Set 19: This CL has passed the run Please don’t reply on this GitHub thread. Visit golang.org/cl/652036. |
Message from Go LUCI: Patch Set 19: LUCI-TryBot-Result+1 Please don’t reply on this GitHub thread. Visit golang.org/cl/652036. |
This change improves the concrete type analysis in the devirtualizer,
it not longer relies on ir.Reassigned, it now statically tries to
determine the concrete type of an interface, even when assigned
multiple times, following type assertions and iface conversions.
Alternative to CL 649195
Updates #69521
Fixes #64824