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: inlining mark elimination is fragile #32069

josharian opened this issue May 15, 2019 · 0 comments

cmd/compile: inlining mark elimination is fragile #32069

josharian opened this issue May 15, 2019 · 0 comments


Copy link

@josharian josharian commented May 15, 2019

[broken out from #32068]

If you remove the following rule from generic.rules

(Geq(64|32|16|8) (Const(64|32|16|8) [c]) (Const(64|32|16|8) [d])) -> (ConstBool [b2i(c >= d)])

and recompile math/cmplx.Inf, you get similar generated code. The constant folding that did not occur during generic opt occurs in lowered opt. (The generated code isn't identical, but I'm working on that independently.)

However, if the constant folding occurs during lowered opt, there is no inlining nop at the beginning of the function.

Either we need one, or we don't; it shouldn't be sensitive to whether a particular generic constant folding optimization occurs.

cc @randall77 for inlining marks

@josharian josharian added the NeedsInvestigation label May 15, 2019
@josharian josharian added this to the Go1.14 milestone May 15, 2019
@rsc rsc removed this from the Go1.14 milestone Oct 9, 2019
@rsc rsc added this to the Backlog milestone Oct 9, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
None yet

No branches or pull requests

2 participants