mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-23 19:23:23 +01:00
b408a0c51d
The fix is to avoid invalidating our insertion point in replaceDbgDeclare: Builder.insertDeclare(NewAddress, DIVar, DIExpr, Loc, InsertBefore); + if (DII == InsertBefore) + InsertBefore = &*std::next(InsertBefore->getIterator()); DII->eraseFromParent(); I had to write a unit tests for this instead of a lit test because the use list order matters in order to trigger the bug. The reduced C test case for this was: void useit(int*); static inline void inlineme() { int x[2]; useit(x); } void f() { inlineme(); inlineme(); } llvm-svn: 313905 |
||
---|---|---|
.. | ||
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 | ||
atomic.ll | ||
ConvertDebugInfo2.ll | ||
ConvertDebugInfo.ll | ||
crash.ll | ||
dbg-addr-inline-dse.ll | ||
dbg-addr.ll | ||
debug-alloca-phi.ll | ||
ignore-lifetime.ll | ||
optnone.ll | ||
pr24179.ll | ||
preserve-nonnull-load-metadata.ll | ||
PromoteMemToRegister.ll | ||
UndefValuesMerge.ll |