[PATCH] D45943: [PM/LoopUnswitch] Begin teaching SimpleLoopUnswitch to use the new update API for dominators rather than doing manual, hacky updates.

Chandler Carruth via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Apr 23 02:55:31 PDT 2018


chandlerc created this revision.
chandlerc added reviewers: sanjoy, fedor.sergeev.
Herald added subscribers: hiraditya, mcrosier.

This is just the first step, but in some ways the most important as it
moves the non-trivial unswitching to update the domtree rather than
fully recalculating it each time.

Subsequent patches should remove the custom update logic used by the
trivial unswitch and replace it with uses of the update API.

This also fixes a number of bugs I was seeing when testing non-trivial
unswitch due to it querying the quasi-correct dominator tree. Now the
tree is 100% correct and safe to query. That said, there are still more
bugs I can see with non-trivial unswitch just running over the test
suite, so more bugfix patches are needed as well.


Repository:
  rL LLVM

https://reviews.llvm.org/D45943

Files:
  llvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D45943.143519.patch
Type: text/x-patch
Size: 10972 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20180423/fbc629a0/attachment.bin>


More information about the llvm-commits mailing list