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: merge temporaries more aggressively #8740
Comments
I took a quick hack at this. It does appear to offer some nice stack use wins, but it breaks our dwarf generation. Also, My ugly hack code: https://github.com/josharian/go/compare/issue-8740. From the commit message there:
|
Nice! |
The compare link doesn't seem to work anymore. Can you refresh it somehow? |
CL 10251 |
CL https://golang.org/cl/10251 mentions this issue. |
DO NOT SUBMIT * I think that we may be able to merge even more. * Needs updated frame size numbers. * I don't understand the impact this might have on our generated DWARF. * This feels like a high risk change relative for Go 1.5. * Confirm that calling onebitwalktype1 doesn't have any negative compiler performance impact. Fixes golang#8740. Change-Id: I551b6328e66660953c9a569a461d945071799248
/cc @randall77 |
I have a prototype of this for SSA, although it needs some cleanup. It still helps some, although not as dramatically as before SSA. I plan to finish it up and mail it early in the Go 1.8 cycle. |
@josharian Have you had a chance to look at this yet for 1.8? |
I did. My recollection (now fuzzy) is that it helped but not enough to inspire me to finish re-implementing it. I'll also admit to being a bit confused at the moment about the relationship between the stackalloc pass and the temporary merging code found in pgen.go. I've implemented this independently in both places, but never tried applying it to both at the same time. |
The text was updated successfully, but these errors were encountered: