[PATCH] D58500: [DO NOT MERGE] Explore MSSA behavior in LoopSimplifyCFG

Max Kazantsev via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Feb 21 03:44:47 PST 2019


mkazantsev created this revision.
mkazantsev added reviewers: asbirlea, rtereshin.
Herald added subscribers: llvm-commits, george.burgess.iv, hiraditya, Prazek.
Herald added a project: LLVM.

With this patch, test `test/Transforms/LoopSimplifyCFG/lcssa.ll` hits the assertion

  opt: /home/mkazantsev/work/llvm/llvm/lib/Analysis/MemorySSAUpdater.cpp:848: void llvm::MemorySSAUpdater::applyInsertUpdates(llvm::ArrayRef<llvm::cfg::Update<llvm::BasicBlock*> >, llvm::DominatorTree&, const llvm::GraphDiff<llvm::BasicBlock*, false>*): Assertion `DT.dominates(NewIDom, PrevIDom) && "New idom should dominate old idom"' failed.

when we try to apply updates to MSSA. The very same updates have updated DT correctly (it passes verification).
It must be something fishy around how MSSA updater works which I don't understand.


https://reviews.llvm.org/D58500

Files:
  llvm/lib/Analysis/MemorySSAUpdater.cpp
  llvm/lib/Transforms/Scalar/LoopSimplifyCFG.cpp
  llvm/test/Transforms/LoopSimplifyCFG/lcssa.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D58500.187762.patch
Type: text/x-patch
Size: 9003 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190221/f9cfeeff/attachment.bin>


More information about the llvm-commits mailing list