[PATCH] D60833: [MemorySSA] Teach LoopSimplify to preserve MemorySSA.

Mikael Holmén via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu May 9 23:39:58 PDT 2019


uabelho added a comment.

Hi,

With this patch the following starts hitting an assertion:

  opt -S -o - memssa.ll -memoryssa -loop-simplify -early-cse-memssa

I get

  opt: ../lib/Analysis/MemorySSA.cpp:2019: void llvm::MemorySSA::verifyDefUses(llvm::Function &) const: Assertion `find(predecessors(&B), Phi->getIncomingBlock(I)) != pred_end(&B) && "Incoming phi block not a block predecessor"' failed.

with memssa.ll being

  target triple = "x86_64-unknown-linux-gnu"
  
  define void @loop_imm_reg_plus2() {
    br i1 undef, label %bb5, label %bb3
  
  bb5:                                              ; preds = %bb5, %0
    store i16 undef, i16* undef
    br i1 undef, label %bb5, label %bb3
  
  bb3:                                              ; preds = %bb5, %0
    ret void
  }


Repository:
  rL LLVM

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D60833/new/

https://reviews.llvm.org/D60833





More information about the llvm-commits mailing list