summaryrefslogtreecommitdiffstats
path: root/lldb/source/Target/LanguageRuntime.cpp
diff options
context:
space:
mode:
authorChen Li <meloli87@gmail.com>2015-07-22 05:26:29 +0000
committerChen Li <meloli87@gmail.com>2015-07-22 05:26:29 +0000
commitc0f3a158f0cd7cbcb8ea83ba2056be32d97a2fa5 (patch)
tree807daf91b076973ac6a5826b6c13097ad4a39662 /lldb/source/Target/LanguageRuntime.cpp
parente345173146271cc95e1364827465d8680c423472 (diff)
downloadbcm5719-llvm-c0f3a158f0cd7cbcb8ea83ba2056be32d97a2fa5.tar.gz
bcm5719-llvm-c0f3a158f0cd7cbcb8ea83ba2056be32d97a2fa5.zip
[LoopUnswitch] Code refactoring to separate trivial loop unswitch and non-trivial loop unswitch in processCurrentLoop()
Summary: The current code in LoopUnswtich::processCurrentLoop() mixes trivial loop unswitch and non-trivial loop unswitch together. It goes over all basic blocks in the loop and checks if a condition is trivial or non-trivial unswitch condition. However, trivial unswitch condition can only occur in the loop header basic block (where it controls whether or not the loop does something at all). This refactoring separate trivial loop unswitch and non-trivial loop unswitch. Before going over all basic blocks in the loop, it checks if the loop header contains a trivial unswitch condition. If so, unswitch it. Otherwise, go over all blocks like before but don't check trivial condition any more since they are not possible to be in the other blocks. This code has no functionality change. Reviewers: meheff, reames, broune Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D11276 llvm-svn: 242873
Diffstat (limited to 'lldb/source/Target/LanguageRuntime.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud