[llvm-commits] [PATCH] PR14753: LICM fix to cleanup preheader loads.

Chris Lattner clattner at apple.com
Fri Jan 4 17:51:30 PST 2013


On Jan 4, 2013, at 3:30 PM, Andrew Trick <atrick at apple.com> wrote:

> I think this is a reasonable fix for PR14753: Should recognize memset loop with a global induction variable.
> 
> I'm teaching LICM to cleanup its hoisted loads so that the resulting phis look like induction variables. This works around the fact that we only invoke GVN once after all loop opts. We don't call it between loop passes and we have no incremental GVN.

Andy and I spoke about this in person.  I like that LICM does a scan to find a loaded value when promoting, but don't think the PHI node check should be there, and would love for the scanning logic to be unified into "FindAvailableLoadedValue" in lib/Analysis/Loads.cpp.

-Chris



More information about the llvm-commits mailing list