Skip to content
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 SSA IDs stable across passes #16754

Open
bradfitz opened this issue Aug 16, 2016 · 5 comments
Open

cmd/compile: make SSA IDs stable across passes #16754

bradfitz opened this issue Aug 16, 2016 · 5 comments
Labels
compiler/runtime Issues related to the Go compiler and/or runtime. NeedsFix The path to resolution is known, but the work has not been done.
Milestone

Comments

@bradfitz
Copy link
Contributor

GOSSAFUNC's ssa.html's help text says:

Values and blocks are highlighted by ID, which may vary across passes. (TODO: Fix this.)

But what is the bug? Maybe this is.

/cc @josharian @randall77

@josharian
Copy link
Contributor

This is the only issue I know of filed for it.

@quentinmit quentinmit added this to the Go1.8 milestone Sep 6, 2016
@quentinmit quentinmit added the NeedsFix The path to resolution is known, but the work has not been done. label Oct 11, 2016
@quentinmit
Copy link
Contributor

@dr2chase has "no earthly idea" what this could be referring to. We believe the IDs are indeed stable across passes.

The only thing we can think of is that value IDs may be reused if the original value dies.

So perhaps this bug is just "remove the comment from the help text".

@randall77
Copy link
Contributor

There has been some pondering of value number compaction, but that has not been done. I think we can just delete the text in question.

@gopherbot
Copy link

CL https://golang.org/cl/30818 mentions this issue.

@josharian
Copy link
Contributor

I had in mind implementing this by having a "value generation" slice that was non-nil only when generating SSA. Whenever a value id gets returned to the allocator, increment the value generation for that value id. Then use <value id, value generation> to label the HTML nodes, thereby making the highlighting accurately reflect the actual lifetime of the values. Same for blocks.

I'm going to re-open this but mark as unplanned, since the only audience for this is internal.

@josharian josharian reopened this Oct 23, 2016
@josharian josharian modified the milestones: Unplanned, Go1.8 Oct 23, 2016
@josharian josharian self-assigned this Oct 23, 2016
@gopherbot gopherbot added the compiler/runtime Issues related to the Go compiler and/or runtime. label Jul 13, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
compiler/runtime Issues related to the Go compiler and/or runtime. NeedsFix The path to resolution is known, but the work has not been done.
Projects
None yet
Development

No branches or pull requests

5 participants