aboutsummaryrefslogtreecommitdiff
path: root/lib/Transforms/Scalar
diff options
context:
space:
mode:
authorDimitry Andric <dim@FreeBSD.org>2016-11-25 19:05:59 +0000
committerDimitry Andric <dim@FreeBSD.org>2016-11-25 19:05:59 +0000
commit6449741f4c1842221757c062f4abbae7bb524ba9 (patch)
tree5a2ca31d10f5ca2e8fb9c1ade59c306526de8329 /lib/Transforms/Scalar
parent60a9e02f5509f102642299ee408fab21b2ee30e4 (diff)
downloadsrc-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.cpp4
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