<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/122413>122413</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            [BOLT] Some split is unnecessary
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            BOLT
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          liusy58
      </td>
    </tr>
</table>

<pre>
    For example, the following case:

```
# RUN: llvm-mc --filetype=obj --triple aarch64-unknown-unknown %s -o %t.o
# RUN: link_fdata %s %t.o %t.fdata
# RUN: llvm-strip --strip-unneeded %t.o
# RUN: %clang %cflags %t.o -o %t.exe -Wl,-q
# RUN: llvm-bolt %t.exe -o %t.bolt --split-functions  \
# RUN: --print-split --print-only=chain \
# RUN:         --data=%t.fdata --reorder-blocks=ext-tsp \
# RUN:     2>&1 | FileCheck --check-prefix=LOWINCENTIVE %s


        .section .text
        .globl chain
        .type   chain, %function
chain:
        stp     x29, x30, [sp, #-16]!  
        mov     x29, sp                
        cmp     w0, #2
LLentry_LLchain_start:
        b.ge    LLchain_start
# FDATA: 1 chain #LLentry_LLchain_start# 1 chain #LLchain_start# 0 10
# FDATA: 1 chain #LLentry_LLchain_start# 1 chain #LLfast# 0 500
LLfast:
        mov     w0, #5
LLchain_start:
        mov     w0, #10
LLchain_start_LLchain1:
 b.ge    LLchain1
# FDATA: 1 chain #LLchain_start_LLchain1# 1 chain #LLchain1# 0 500
# FDATA: 1 chain #LLchain_start_LLchain1# 1 chain #LLcold# 0 0
LLcold:
        sub     w0, w0, #1
LLchain1:
        add     w0, w0, #1
        ret
LLchain_end:
        .size   chain, LLchain_end-chain

```

will split only 1 instruction which results little gain but introduce another new-added instruction.
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJykVU2P4ygQ_TXkUsLCYOfj4EMm6UgjRT3Sbu_OsYXtis00AS_gTrK_fuWPdDuZzF7GslR28epRr4BCeq8qg5iR9AtJtzPZhtq6TKvWX9LlLLflJdtZB3iWx0Yj4RsINcLBam1PylRQSI9ErAnr3zkbX7YmXMAffz0TsQat34_0WAClB6UxXBokYmvzH0BpcKrRCFK6op4ntDVvxp7M1QLhqQdqOxsie8eqzNvroZRBDrABM5je_SAJ380HdLC0NQaxxPIhPeFpoaWp-o-DltXHDNd88IxAv2vCN_SfB3PlVocJcAzqvZT6RqtAD60pgrLGA5B0c8tBaeOUCQPy488afSFiW9RSmZ9jrg-lvX6x_SwGUOrQuhIdzbUt3jwRWzwHGnzzmIcT8UT4PAay2MBOadzUWLwBpUVnaePwoM5EbPffvn993jw9v3z9-6lfiHErsI90Io-9SogCnsN0oNI219CLmbq7HQIw-vmmY71WirD14BbTGXxoenvmqw5_FqwPS7_4ZogXNJ6TdEt4DDCJO9r3aZxv4O6ZYIvjMHpiIyUnbL3fownu8rrf91m9-iBduM0tj6pODNxChnLvtuuXdVfwGMYV5eIxJRe3mLsxBjH7bc6D9CNZylgvrvfcqLlW7KMKaQ_8pfqf8DG7D7hmFY-RdwWL_1fXQ56HxYqn0n6X0OpyoBvVdP-3O7LNJ7o_1X-Kj28DZFn-KuAKcRgmtUNzN2Xk1b83x2aCpNczdt-k2fqktIahyXTNBWJQxgfXDkf2VKuiBoe-1cGDViFohKorRN4GUCY4W7YFgjQ21OjA4InKsuupE5ZoVmaiXImVnGEWL8Q8WbLVajGrs_lSyrhMl7hcpixJMGaHBIvVIU3yMhVFMlMZZzxlccyYSFbpIuJ8kc7jlOWLYlUkPCEJw6NUOup6bmRdNVPet5jFnCexmGmZo_b97cb5l2_7F8J5d8-5bOjRbeVJwrTywX8yBBV0fyP2AekW_rRHHGukPHTXRoHeS3eZtU5ndQiN79aC7wjfVSrUbR4V9kj4rqMcDW2c_YFFIHzXZ-gJ341Jvmf8vwAAAP__9uwthA">