It seems the GVNPRE pass has been removed from the main trunk, though
it is present in the 2.6 release. From the llvm-commits archive, I
found that it was removed with this checkin:
"remove the GVNPRE pass. It has been subsumed by the GVN pass."
Does the GVN pass optimize all the partial redundancies that were
caught by the GVNPRE pass?