Displaying 1 result from an estimated 1 matches for "d2e6d50999e801ffd4ed".
2015 Sep 30
2
Optimizing jumps to identical code blocks
Rust pattern matching code can sometimes generate very redundant LLVM IR,
in which several branches contain exactly the same code.
LLVM successfully unifies that, but the dispatching mechanism does not
simplify accordingly.
I created a gist here:
https://gist.github.com/ranma42/d2e6d50999e801ffd4ed
(based on two examples available in Rust issues:
https://github.com/rust-lang/rust/pull/24270#issuecomment-136681741
https://github.com/rust-lang/rust/issues/13623#issuecomment-136700526 )
In "enum4.s"
cmpl $1, %eax
je LBB0_5
cmpl $2, %eax
je LBB0_5
cmpl...