llvm.org GIT mirror llvm / c837abe
Be more careful modifying the use_list while also iterating through it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46417 91177308-0d34-0410-b5e6-96231b3b80d8 Nick Lewycky 11 years ago
2 changed file(s) with 4 addition(s) and 1 deletion(s). Raw diff Collapse all Expand all
364364 // be updated specially after unrolling all the way.
365365 if (*BB != LatchBlock)
366366 for (Value::use_iterator UI = (*BB)->use_begin(), UE = (*BB)->use_end();
367 UI != UE; ++UI) {
367 UI != UE;) {
368368 Instruction *UseInst = cast(*UI);
369 ++UI;
369370 if (isa(UseInst) && !L->contains(UseInst->getParent())) {
370371 PHINode *phi = cast(UseInst);
371372 Value *Incoming = phi->getIncomingValueForBlock(*BB);
0 ; RUN: llvm-as < %s | opt -disable-output -loop-unroll
11 ; PR1770
2 ; PR1947
3
24 %struct.cl_engine = type { i32, i16, i32, i8**, i8**, i8*, i8*, i8*, i8*, i8*, i8*, i8* }
35 %struct.cl_limits = type { i32, i32, i32, i32, i16, i64 }
46 %struct.cli_ac_alt = type { i8, i8*, i16, i16, %struct.cli_ac_alt* }