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: retire/repair disabled compiler behavior tests #13068

Closed
dr2chase opened this issue Oct 27, 2015 · 6 comments
Closed

cmd/compile: retire/repair disabled compiler behavior tests #13068

dr2chase opened this issue Oct 27, 2015 · 6 comments
Labels
FrozenDueToAge NeedsFix The path to resolution is known, but the work has not been done.
Milestone

Comments

@dr2chase
Copy link
Contributor

SSA has different behavior from the previous backend, and some tests probe this behavior.
In some cases this can be repaired by changes to SSA (i.e., it does the same thing, but doesn't log it or logs it differently) and in other cases SSA just plain does things differently (for example, it removes nil checks very aggressively and so the nil checks emitted do not match). To allow the tests to run successfully with SSA both enabled and disabled, some of them must be disabled until this is resolved.

Affected tests:

live.go
live2.go
nilcheck.go
nilptr3.go
sliceopt.go

See https://golang.org/cl/16299

@dr2chase dr2chase added this to the dev.ssa milestone Oct 27, 2015
@gopherbot
Copy link
Contributor

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

dr2chase added a commit that referenced this issue Oct 30, 2015
Some tests disabled, some bifurcated into _ssa and not,
with appropriate logging added to compiler.

"tests/live.go" in particular needs attention.

SSA-specific testing removed, since it's all SSA now.

Added "-run_skips" option to tests/run.go to simplify
checking whether a test still fails (or how it fails)
on a skipped platform.

The compiler now compiles with SSA by default.
If you don't want SSA, specify GOSSAHASH=n (or N) as
an environment variable.  Function names ending in "_ssa"
are always SSA-compiled.

GOSSAFUNC=fname retains its "SSA for fname, log to ssa.html"
GOSSAPKG=pkg only has an effect when GOSSAHASH=n
GOSSAHASH=10101 etc retains its name-hash-matching behavior
for purposes of debugging.

See #13068

Change-Id: I8217bfeb34173533eaeb391b5f6935483c7d6b43
Reviewed-on: https://go-review.googlesource.com/16299
Reviewed-by: Keith Randall <khr@golang.org>
Run-TryBot: David Chase <drchase@google.com>
@bradfitz bradfitz modified the milestones: dev.ssa, Go1.7 Mar 2, 2016
@rsc
Copy link
Contributor

rsc commented May 17, 2016

Ping @dr2chase

@quentinmit quentinmit added the NeedsFix The path to resolution is known, but the work has not been done. label May 19, 2016
@dr2chase
Copy link
Contributor Author

live.go is modified into live_ssa.go; there's no way to combine these.
live2.go can be re-enabled.
nilcheck.go is reenabled already.
nilptr3.go is modified into live_ssa.go; there's no way to combine these.
sliceopt.go needs #15086 .

@gopherbot
Copy link
Contributor

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

@rsc rsc modified the milestones: Go1.7Maybe, Go1.7 May 27, 2016
@ianlancetaylor ianlancetaylor modified the milestones: Go1.8, Go1.7Maybe Jun 28, 2016
@randall77
Copy link
Contributor

live_ssa.go -> live.go and nilptr3_ssa.go -> nilptr3.go happened after the legacy backend was deleted.
live2.go and nilcheck.go are enabled.
sliceopt.go has been deleted, it really only made sense for the legacy backend.

(David, live.go has ppc64 disabled - can we reenable it?)

@dr2chase
Copy link
Contributor Author

dr2chase commented Oct 9, 2016

Not yet:

drchase@keplerppc1:~/work/go/test$ go run run.go -- live.go
# go run run.go -- live.go

live.go:305: no match for `live at call to mapaccess1: autotmp_[0-9]+$` in:
    live.go:305: live at call to g18: autotmp_59
    live.go:305: live at call to mapaccess1: autotmp_53 autotmp_59
live.go:307: no match for `live at call to mapaccess1: autotmp_[0-9]+$` in:
    live.go:307: live at call to g18: autotmp_59
    live.go:307: live at call to mapaccess1: autotmp_55 autotmp_59 autotmp_60
Unmatched Errors:
live.go:305: live at call to g18: autotmp_59
live.go:305: live at call to mapaccess1: autotmp_53 autotmp_59
live.go:307: live at call to g18: autotmp_59
live.go:307: live at call to mapaccess1: autotmp_55 autotmp_59 autotmp_60
live.go:308: live at call to g18: autotmp_59 autotmp_60

FAIL    live.go 0.115s
exit status 1

@golang golang locked and limited conversation to collaborators Oct 9, 2017
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
FrozenDueToAge NeedsFix The path to resolution is known, but the work has not been done.
Projects
None yet
Development

No branches or pull requests

7 participants