diff options
author | Dimitry Andric <dim@FreeBSD.org> | 2016-11-25 19:05:59 +0000 |
---|---|---|
committer | Dimitry Andric <dim@FreeBSD.org> | 2016-11-25 19:05:59 +0000 |
commit | 6449741f4c1842221757c062f4abbae7bb524ba9 (patch) | |
tree | 5a2ca31d10f5ca2e8fb9c1ade59c306526de8329 /lib/Transforms/Scalar | |
parent | 60a9e02f5509f102642299ee408fab21b2ee30e4 (diff) | |
download | src-6449741f4c1842221757c062f4abbae7bb524ba9.tar.gz src-6449741f4c1842221757c062f4abbae7bb524ba9.zip |
Vendor import of llvm release_39 branch r287912:vendor/llvm/llvm-release_39-r287912
Notes
Notes:
svn path=/vendor/llvm/dist/; revision=309152
svn path=/vendor/llvm/llvm-release_39-r287912/; revision=309157; tag=vendor/llvm/llvm-release_39-r287912
Diffstat (limited to 'lib/Transforms/Scalar')
-rw-r--r-- | lib/Transforms/Scalar/JumpThreading.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/lib/Transforms/Scalar/JumpThreading.cpp b/lib/Transforms/Scalar/JumpThreading.cpp index d1769fc3ebb3..55ffc23e1308 100644 --- a/lib/Transforms/Scalar/JumpThreading.cpp +++ b/lib/Transforms/Scalar/JumpThreading.cpp @@ -1322,6 +1322,10 @@ bool JumpThreadingPass::ProcessBranchOnXOR(BinaryOperator *BO) { if (!isa<PHINode>(BB->front())) return false; + // If this BB is a landing pad, we won't be able to split the edge into it. + if (BB->isEHPad()) + return false; + // If we have a xor as the branch input to this block, and we know that the // LHS or RHS of the xor in any predecessor is true/false, then we can clone // the condition into the predecessor and fix that value to true, saving some |