Regarding PRE in LLVM

        While surfing on net I found that LLVM is using sparse version of
E-path_PRE approach in file PRE.cpp but I could not get what actually code
is doing and I could not find the name of the developer in the file.
        Just want to know to because I could not able to find any
paper on sparse version of this algorithm.

        Thanks in Advance

I wrote the code, using Dhamdhere's "E-path PRE---partial redundancy elimination made easy" paper as inspiration and starting from first principles.

The code in LLVM CVS is about 75% done. In handles a bunch of cases, but misses others. It has not been used in quite some time, so it has probably bitrotten some.

If you're interested in sparse PRE, I suggest chasing down references for GVN-PRE by Thomas VanDrunen. His thesis is here: