summaryrefslogtreecommitdiffstats
path: root/lldb/packages/Python/lldbsuite/test
diff options
context:
space:
mode:
authorHiroshi Inoue <inouehrs@jp.ibm.com>2018-02-05 12:25:29 +0000
committerHiroshi Inoue <inouehrs@jp.ibm.com>2018-02-05 12:25:29 +0000
commitc5ab1ab79786c415082d9342b37bd8b7611f4516 (patch)
tree9365002ad11ece5dce709b55baefb09404200a50 /lldb/packages/Python/lldbsuite/test
parenteb4f5d2890a1d78d6bf7be07bc64089a395abaa4 (diff)
downloadbcm5719-llvm-c5ab1ab79786c415082d9342b37bd8b7611f4516.tar.gz
bcm5719-llvm-c5ab1ab79786c415082d9342b37bd8b7611f4516.zip
[PowerPC] Check hot loop exit edge in PPCCTRLoops
PPCCTRLoops transform loops using mtctr/bdnz instructions if loop trip count is known and big enough to compensate for the cost of mtctr. But if there is a loop exit edge which is known to be frequently taken (by builtin_expect or by PGO), we should not transform the loop to avoid the cost of mtctr instruction. Here is an example of a loop with hot exit edge: for (unsigned i = 0; i < TripCount; i++) { // do something if (__builtin_expect(check(), 1)) break; // do something } Differential Revision: https://reviews.llvm.org/D42637 llvm-svn: 324229
Diffstat (limited to 'lldb/packages/Python/lldbsuite/test')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud