-
Notifications
You must be signed in to change notification settings - Fork 17.8k
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
cmd/compile: "attempt to load unspilled value" compiling valid code #15084
Comments
Looks like an issue in the register allocator and that cl is just triggering it. I don't know enough about the register allocator, so I cannot be sure. |
May be, although it is also possible that this case tickles deadcode into feeding the register allocator invalid SSA. I haven't looked. In any case, when this is fixed, we should also remove the go:noinline work around for IsSlice (in type.go) introduced in CL 21611. |
CL https://golang.org/cl/22330 mentions this issue. |
Ancestor comparison was the wrong way around, effectively disabling the def-must-dominate-use check. Update #15084 Change-Id: Ic56d674c5000569d2cc855bbb000a60eae517c7c Reviewed-on: https://go-review.googlesource.com/22330 Run-TryBot: Keith Randall <[email protected]> Reviewed-by: Josh Bleecher Snyder <[email protected]>
CL https://golang.org/cl/22334 mentions this issue. |
Combination of:
|
Should be fixed, see https://go-review.googlesource.com/#/c/22347/ |
CL https://golang.org/cl/22426 mentions this issue. |
Attempt to compile:
Result:
x.go:19: internal compiler error: attempt to load unspilled value v69 = MOVQload <*uint8> [8] v5 v1
git bisect points at 40f2b57, CL 19728.
This is blocking other compiler changes I'm working on.
cc @brtzsnr @dr2chase @randall77
The text was updated successfully, but these errors were encountered: