You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Note that I had to put that in a gist because it was too large to inline here. In summary this is generating 1500 lines of IR. This turns into kilobytes of code.
Something very odd is going on here, and this really needs to be fixed.
Nominating
The text was updated successfully, but these errors were encountered:
The failure functions are generic, meaning they're candidates for getting
inlined across crates. This has been happening, leading to monstrosities like
that found in rust-lang#11549. I have verified that the codegen is *much* better now that
we're not inlining the failure path (the slow path).
The failure functions are generic, meaning they're candidates for getting
inlined across crates. This has been happening, leading to monstrosities like
that found in #11549. I have verified that the codegen is *much* better now that
we're not inlining the failure path (the slow path).
Consider a small rust program such as this
This program should essentially be a check of the discriminant followed by a vtable load + dynamic dispatch. Consider, however, the
--opt-level=3
IR:https://gist.github.com/alexcrichton/8429375
Note that I had to put that in a gist because it was too large to inline here. In summary this is generating 1500 lines of IR. This turns into kilobytes of code.
Something very odd is going on here, and this really needs to be fixed.
Nominating
The text was updated successfully, but these errors were encountered: