[llvm] r181532 - [GVN] Split critical-edge on the fly, instead of postpone edge-splitting to next

Eric Christopher echristo at gmail.com
Thu May 9 16:05:05 PDT 2013


On Thu, May 9, 2013 at 2:37 PM, Shuxin Yang <shuxin.llvm at gmail.com> wrote:
> GVN is very expensive, and 2/3 the time comes from dense memory-dependence
> query.
> It currently iteratively goes through all blocks top-down until no change
> take place.
>

Yep.

> My ultimate goal is to speed it up converting iterative algorithm into a
> one-pass algorithm.
> If we can speedup GVN by 2x, we can afford invoke it twice, once earlier
> (say, somewhere
> around EarlyCSE), another one stay where it is today.
>

*nod* I'm guessing this is related to the work Owen did on memory
dependence in time constrained environments? :)

> There are couple of reasons why *this* GVN needs to be iterative, I will
> explain the tricky reasons
> in my subsequent commits.
>
> For this specific change, it is pretty straightforward:

Right, this part made sense.

-eric



More information about the llvm-commits mailing list