From: Chen Li Date: Wed, 15 Jul 2015 22:41:13 +0000 (+0000) Subject: [LoopUnswitch] Add an else clause to IsTrivialUnswitchCondition() when checking Heade... X-Git-Tag: android-x86-7.1-r4~45804 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=c2fa6d64b4d3d48e1a639f351f252e778b26ba9c;p=android-x86%2Fexternal-llvm.git [LoopUnswitch] Add an else clause to IsTrivialUnswitchCondition() when checking HeaderTerm instruction type Summary: This is a trivial code change with no functionality effect. When LoopUnswitch determines trivial unswitch condition, it checks whether the loop header's terminator instruction is a branch instruction or switch instruction since trivial unswitch condition can only apply to these two instruction types. The current code does not fail the check directly on other instruction types, but check the nullness of LoopExitBB variable instead. The added else clause makes the check fail immediately on other instruction types and makes the code more obvious. Reviewers: reames Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D11239 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@242345 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Transforms/Scalar/LoopUnswitch.cpp b/lib/Transforms/Scalar/LoopUnswitch.cpp index cbc563bd899..ce167d1c657 100644 --- a/lib/Transforms/Scalar/LoopUnswitch.cpp +++ b/lib/Transforms/Scalar/LoopUnswitch.cpp @@ -641,7 +641,8 @@ bool LoopUnswitch::IsTrivialUnswitchCondition(Value *Cond, Constant **Val, break; } } - } + } else + return false; // If we didn't find a single unique LoopExit block, or if the loop exit block // contains phi nodes, this isn't trivial.