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: make deadcode pass cheaper and do it after cse #15306

josharian opened this Issue Apr 14, 2016 · 5 comments


None yet
8 participants

josharian commented Apr 14, 2016

[moved from discussion in CL 21981]

CSE can remove many values, so it'd be good to do a deadcode pass promptly after it, to speed up other passes. We used to, but it has slowly drifted away. However, deadcode allocates some potentially large slices: two work lists (small) and two bool slices (larger). We should make at least those bool slices reusable in f.Config and then add a deadcode after CSE.

cc @tzneal

Btw, @bradfitz, do you think it's worth having a label for compiler performance/speed (as opposed to compiled code performance)?

@josharian josharian added this to the Unplanned milestone Apr 14, 2016


This comment has been minimized.


bradfitz commented Apr 15, 2016

We used to have too many labels, so we're trying to make do with fewer these days. But build speed is a focus, so, sure. We can always delete it if unused.

@bradfitz bradfitz added the ToolSpeed label Apr 15, 2016

@josharian josharian self-assigned this May 11, 2016

@josharian josharian modified the milestones: Go1.8, Unplanned May 11, 2016

@quentinmit quentinmit added the NeedsFix label Oct 11, 2016

@rsc rsc modified the milestones: Go1.9, Go1.8 Oct 21, 2016


This comment has been minimized.

stemar94 commented Mar 2, 2017

I uploaded a CL, but I need some assistance in order to properly benchmark the change.


This comment has been minimized.

gopherbot commented Mar 2, 2017

CL mentions this issue.


This comment has been minimized.


josharian commented Mar 2, 2017

Please benchmark with and compare results with


This comment has been minimized.


thanm commented Jun 19, 2018

Seems unlikely to land in Go1.11, updated milestone accordingly.

@ianlancetaylor ianlancetaylor added this to the Unplanned milestone Jul 11, 2018

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment