forked from OSchip/llvm-project
27b1e3bd4f
Summary: When mem2reg inserts phi nodes in blocks with unreachable predecessors, it adds undef operands for those incoming edges. When there are multiple such predecessors, the order is currently based on the address of the BasicBlocks. This change fixes that by using the BBNumbers in the sort/search predicates, as is done elsewhere in mem2reg to ensure determinism. Also adds a testcase with a bunch of unreachable preds, which (nodeterministically) fails without the fix. Reviewers: majnemer Reviewed By: majnemer Subscribers: mgrang, llvm-commits Differential Revision: https://reviews.llvm.org/D55077 llvm-svn: 348024 |
||
---|---|---|
.. | ||
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 | ||
dbg-addr-inline-dse.ll | ||
dbg-addr.ll | ||
dbg-inline-scope-for-phi.ll | ||
debug-alloca-phi-2.ll | ||
debug-alloca-phi.ll | ||
debug-alloca-vla-1.ll | ||
debug-alloca-vla-2.ll | ||
ignore-lifetime.ll | ||
optnone.ll | ||
pr24179.ll | ||
pr37632-unreachable-list-of-stores.ll | ||
preserve-nonnull-load-metadata.ll | ||
undef-order.ll |