forked from OSchip/llvm-project
0fe506bc5e
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 |
||
---|---|---|
.. | ||
address-spaces.ll | ||
alignment.ll | ||
alloca-address-space.ll | ||
basictest.ll | ||
big-endian.ll | ||
dbg-addr-diamond.ll | ||
dbg-single-piece.ll | ||
fca.ll | ||
mem-par-metadata-sroa.ll | ||
non-integral-pointers.ll | ||
phi-and-select.ll | ||
ppcf128-no-fold.ll | ||
pr26972.ll | ||
preserve-nonnull.ll | ||
slice-order-independence.ll | ||
slice-width.ll | ||
vector-conversion.ll | ||
vector-lifetime-intrinsic.ll | ||
vector-promotion.ll | ||
vectors-of-pointers.ll |