Displaying 2 results from an estimated 2 matches for "simplifyuncondbranch".
2013 Nov 27
0
[LLVMdev] Disabling certain optimizations at -O1?
...do you mean this case in
http://llvm-reviews.chandlerc.com/D2214?
1: if (x < 0)
2: if (y < 0)
3: do_something();
Yes, this is only bad for MSan (and probably for sampling-based PGO,
but that's a whole different story). But the current version of D2214
disables this optimization at SimplifyUncondBranch() point, which also
covers HoistThenElseCodeToIf(). And that one is exactly as bad as tail
merging of calls:
void f(int x) {
if (x == 1) {
g();
g1();
} else {
g();
g2();
}
}
Calls to g() are hoisted out of if/else blocks.
Also note that tail merging of calls happens in Code...
2013 Nov 26
2
[LLVMdev] Disabling certain optimizations at -O1?
On 26 November 2013 16:59, Reid Kleckner <rnk at google.com> wrote:
> I'd support disabling tail merging of calls at -O1. The other CFG
> simplification doesn't seem like that big of a deal though for general
> debugging, though.
>
So, do we have two ways of running SimplifyCFG? One for O1 and one for O2+,
and selectively disabling parts of it?
--renato
--------------