[PATCH] Teaching loop simplify to preserve LCSSA

Dinesh Dwivedi dinesh.d at samsung.com
Fri May 9 16:12:15 PDT 2014


While working on PR18861 [http://reviews.llvm.org/D2976], I saw Chandler's comment in LICM.cpp about formLCSSARecursively() being heavy. 

I observed that formLCSSARecursively() is added in LoopUnroll to fix LCSSA breakage during loop simplify which is happening due to deletion of PHI nodes with single incoming value. As per my understanding, keeping few PHI nodes and removing them later is much cheaper than formLCSSARecursively() and that's why this patch.


More information about the llvm-commits mailing list