[GVN] Split critical-edge on the fly, instead of postpone edge-splitting to next
authorShuxin Yang <shuxin.llvm@gmail.com>
Thu, 9 May 2013 18:34:27 +0000 (18:34 +0000)
committerShuxin Yang <shuxin.llvm@gmail.com>
Thu, 9 May 2013 18:34:27 +0000 (18:34 +0000)
commit4b7b3a7c19db3d0da12a44a0849730296c26fbf9
treea5860bcc04a69f10bea7d8c19040165d35de4097
parentf4f60b10e4ccd14511f5c83f4e83dbcad6740f63
[GVN] Split critical-edge on the fly, instead of postpone edge-splitting to next
  iteration.

  This on step toward non-iterative GVN. My local hack suggests that getting rid
of iteration will speedup GVN by 30%+ on a medium sized input (2k LOC, C++).
I cannot explain why not 2x or more at this moment.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181532 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Transforms/Scalar/GVN.cpp