[llvm-commits] [patch] Use the new edge dominance functions in GVN

Rafael EspĂ­ndola rafael.espindola at gmail.com
Thu Aug 16 08:57:31 PDT 2012


> Performance experience.
> My recollection is it starts to fall down very quickly on code
> generated code that has a lot of switch statement
> fallthroughs/critical edges.  I should hopefully still be able to find
> them (I believe the worst were from some scheme-to-c compiler)
>
> This often causes PRE that edge-splits on demand to iterate.
> Iteration in PRE, copying sets around, and recalculation of other
> stuff, always took more time than pre-splitting edges.

....

> Sure. The current implementation does a fairly local form of PRE, and
> isn't going to find that many opportunities right now anyway.
> I can come up with a real  testcase where it's the most expensive, if
> you like :)

I see. So your thinking is that an algorithm that finds more PRE cases
to explore would spend more time iterating and would benefit from
upfront splitting. If you can build a testcase where that happens with
the current implementation that would be awesome!


Thanks,
Rafael



More information about the llvm-commits mailing list