diff options
author | Chandler Carruth <chandlerc@gmail.com> | 2018-04-25 00:18:07 +0000 |
---|---|---|
committer | Chandler Carruth <chandlerc@gmail.com> | 2018-04-25 00:18:07 +0000 |
commit | 69e68f84682cc4b9888d6794fac404902ddf214c (patch) | |
tree | da6c33fd6f899d9bfb8d33d4aece61bff24e539f /clang/lib/Frontend/CompilerInvocation.cpp | |
parent | 8832f8899680298297b591b1a02957429fda1a6a (diff) | |
download | bcm5719-llvm-69e68f84682cc4b9888d6794fac404902ddf214c.tar.gz bcm5719-llvm-69e68f84682cc4b9888d6794fac404902ddf214c.zip |
[PM/LoopUnswitch] Begin teaching SimpleLoopUnswitch to use the new
update API for dominators rather than doing manual, hacky updates.
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.
Thanks to both Sanjoy and Fedor for reviews and testing!
Differential Revision: https://reviews.llvm.org/D45943
llvm-svn: 330787
Diffstat (limited to 'clang/lib/Frontend/CompilerInvocation.cpp')
0 files changed, 0 insertions, 0 deletions