diff options
author | George Burgess IV <george.burgess.iv@gmail.com> | 2016-03-22 21:25:08 +0000 |
---|---|---|
committer | George Burgess IV <george.burgess.iv@gmail.com> | 2016-03-22 21:25:08 +0000 |
commit | d4febd1612c51519033e8971c017a095bd3efa6d (patch) | |
tree | 5a92ee517d245972a1fe0dd9f761da09769b2a30 /llvm/lib/CodeGen/CodeGenPrepare.cpp | |
parent | e3c13a801881fb2ee0a4f0b8df37cc7770408e0f (diff) | |
download | bcm5719-llvm-d4febd1612c51519033e8971c017a095bd3efa6d.tar.gz bcm5719-llvm-d4febd1612c51519033e8971c017a095bd3efa6d.zip |
Keep CodeGenPrepare from preserving the domtree.
CGP modifies the domtree in some cases, so saying that it preserves the
domtree is a lie. We'll be able to selectively preserve it with the new
pass manager.
Differential Revision: http://reviews.llvm.org/D16893
llvm-svn: 264099
Diffstat (limited to 'llvm/lib/CodeGen/CodeGenPrepare.cpp')
-rw-r--r-- | llvm/lib/CodeGen/CodeGenPrepare.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/llvm/lib/CodeGen/CodeGenPrepare.cpp b/llvm/lib/CodeGen/CodeGenPrepare.cpp index 4932173e103..8ba52c424a6 100644 --- a/llvm/lib/CodeGen/CodeGenPrepare.cpp +++ b/llvm/lib/CodeGen/CodeGenPrepare.cpp @@ -158,7 +158,7 @@ class TypePromotionTransaction; const char *getPassName() const override { return "CodeGen Prepare"; } void getAnalysisUsage(AnalysisUsage &AU) const override { - AU.addPreserved<DominatorTreeWrapperPass>(); + // FIXME: When we can selectively preserve passes, preserve the domtree. AU.addRequired<TargetLibraryInfoWrapperPass>(); AU.addRequired<TargetTransformInfoWrapperPass>(); } @@ -5277,6 +5277,7 @@ bool CodeGenPrepare::optimizeBlock(BasicBlock &BB, bool& ModifiedDT) { for (auto &I : reverse(BB)) { if (makeBitReverse(I, *DL, *TLI)) { MadeBitReverse = MadeChange = true; + ModifiedDT = true; break; } } |