Author: hans Date: Tue Nov 8 10:38:34 2016 New Revision: 286246 URL: http://llvm.org/viewvc/llvm-project?rev=286246&view=rev Log: Merging r283129: ------------------------------------------------------------------------ r283129 | hans | 2016-10-03 11:18:04 -0700 (Mon, 03 Oct 2016) | 6 lines
Jump threading: avoid trying to split edge into landingpad block (PR27840) Splitting the edge is nontrivial because of the landing pad, and we would currently assert trying to do it. Differential Revision: https://reviews.llvm.org/D24680 ------------------------------------------------------------------------ Added: llvm/branches/release_39/test/Transforms/JumpThreading/pr27840.ll - copied unchanged from r283129, llvm/trunk/test/Transforms/JumpThreading/pr27840.ll Modified: llvm/branches/release_39/ (props changed) llvm/branches/release_39/lib/Transforms/Scalar/JumpThreading.cpp Propchange: llvm/branches/release_39/ ------------------------------------------------------------------------------ --- svn:mergeinfo (original) +++ svn:mergeinfo Tue Nov 8 10:38:34 2016 @@ -1,3 +1,3 @@ /llvm/branches/Apple/Pertwee:110850,110961 /llvm/branches/type-system-rewrite:133420-134817 -/llvm/trunk:155241,275868-275870,275879,275898,275928,275935,275946,275978,275981,276015,276051,276077,276109,276119,276181,276209,276236-276237,276358,276364,276368,276389,276435,276438,276479,276510,276648,276676,276712,276740,276823,276956,276980,277093,277114,277135,277371,277399,277500,277504,277625,277691,277693,277773,278002,278086,278133,278157,278343,278370,278413,278558-278559,278562,278569,278571,278573,278575,278584,278841,278900,278938,278999,279125,279268,279369,279647,280837,281957 +/llvm/trunk:155241,275868-275870,275879,275898,275928,275935,275946,275978,275981,276015,276051,276077,276109,276119,276181,276209,276236-276237,276358,276364,276368,276389,276435,276438,276479,276510,276648,276676,276712,276740,276823,276956,276980,277093,277114,277135,277371,277399,277500,277504,277625,277691,277693,277773,278002,278086,278133,278157,278343,278370,278413,278558-278559,278562,278569,278571,278573,278575,278584,278841,278900,278938,278999,279125,279268,279369,279647,280837,281957,283129 Modified: llvm/branches/release_39/lib/Transforms/Scalar/JumpThreading.cpp URL: http://llvm.org/viewvc/llvm-project/llvm/branches/release_39/lib/Transforms/Scalar/JumpThreading.cpp?rev=286246&r1=286245&r2=286246&view=diff ============================================================================== --- llvm/branches/release_39/lib/Transforms/Scalar/JumpThreading.cpp (original) +++ llvm/branches/release_39/lib/Transforms/Scalar/JumpThreading.cpp Tue Nov 8 10:38:34 2016 @@ -1322,6 +1322,10 @@ bool JumpThreadingPass::ProcessBranchOnX 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 _______________________________________________ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits