Displaying 2 results from an estimated 2 matches for "hoistthenelsecodetoif".
2013 Nov 27
0
[LLVMdev] Disabling certain optimizations at -O1?
...ndlerc.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 CodeGen, not in SimplifyCFG.
On Tue, Nov 26, 2013 a...
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
--------------