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
Labels
compiler/runtime Issues related to the Go compiler and/or runtime. NeedsInvestigation Someone must examine and confirm this is a valid issue and not a duplicate of an existing one.
Milestone

Comments

@josharian
Copy link
Contributor

[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 Someone must examine and confirm this is a valid issue and not a duplicate of an existing one. label May 15, 2019
@josharian josharian added this to the Go1.14 milestone May 15, 2019
@rsc rsc modified the milestones: Go1.14, Backlog Oct 9, 2019
@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. NeedsInvestigation Someone must examine and confirm this is a valid issue and not a duplicate of an existing one.
Projects
Status: Triage Backlog
Development

No branches or pull requests

3 participants