forked from OSchip/llvm-project
![]() Currently, a load from an alloca that is used in as single block and is not preceded by a store is replaced by undef. This is not always correct if the single block is inside a loop. Fix the logic so that: 1) If there are no stores in the block, replace the load with an undef, as before. 2) If there is a store (regardless of where it is in the block w.r.t the load), bail out, and let the rest of mem2reg handle this alloca. Patch by: gil.rapaport@intel.com Differential Revision: http://reviews.llvm.org/D11355 llvm-svn: 242884 |
||
---|---|---|
.. | ||
2002-03-28-UninitializedVal.ll | ||
2002-05-01-ShouldNotPromoteThisAlloca.ll | ||
2003-04-10-DFNotFound.ll | ||
2003-04-18-DeadBlockProblem.ll | ||
2003-04-24-MultipleIdenticalSuccessors.ll | ||
2003-06-26-IterativePromote.ll | ||
2003-10-05-DeadPHIInsertion.ll | ||
2005-06-30-ReadBeforeWrite.ll | ||
2005-11-28-Crash.ll | ||
2007-08-27-VolatileLoadsStores.ll | ||
ConvertDebugInfo.ll | ||
ConvertDebugInfo2.ll | ||
PromoteMemToRegister.ll | ||
UndefValuesMerge.ll | ||
atomic.ll | ||
crash.ll | ||
ignore-lifetime.ll | ||
pr24179.ll |