-
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
required environment variables have no checks in all.bash #12
Labels
Comments
new patch that also checks for GOBIN setup Attachments:
|
This issue was closed by revision 2d70d60. Status changed to Fixed. Merged into issue #-. |
CL https://golang.org/cl/22600 mentions this issue. |
tklauser
pushed a commit
to tklauser/go
that referenced
this issue
May 8, 2019
The behavior of the RISCV BRANCH block is not safe. It reaches into the control value and uses the registers of the control's args, rather than the control value itself. regalloc ensures that the control value is in a register, but it does *not* do so for the control's arguments. It does not know that BRANCH uses them and thus may not consider them live. The reason for this weird BRANCH behavior is that RISC-V branches are binary instructions, comparing two operands to decide which branch to take, but we only have one control value, not two. The best way to solve this would be to teach the compiler than some blocks need two control values. While that doesn't look too difficult to implement, it is a fairly large scale, intrusive change to the compiler. Maintaining these changes as upstream continues to change the compiler would become a painful maintainance burden. Instead, make the branches behave much more like other architectures, where the condition comparision is done in an instruction before the branch. We then generate a branch instruction that simply compares the condition with zero. Once we are merged upstream, we can come back and investigate generating better code by adding a second control value. Fixes golang#12 Change-Id: I926d7ea45973c88927d42e915eb68265e79eb345
This issue was closed.
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
by bear42:
Attachments:
The text was updated successfully, but these errors were encountered: