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

Open
josharian opened this issue May 15, 2019 · 0 comments
Open

cmd/compile: inlining mark elimination is fragile #32069

josharian opened this issue May 15, 2019 · 0 comments
Milestone

Comments

@josharian
Copy link
Contributor

@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 this to the Go1.14 milestone May 15, 2019
@rsc rsc modified the milestones: Go1.14, Backlog Oct 9, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
2 participants
You can’t perform that action at this time.