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

Comments

@josharian
Copy link
Contributor

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
1 participant
You can’t perform that action at this time.