Hi, SMS transformation will generate prolog/epilog which are part of the duplication of the instructions in the loop.
Doloop optimization will generate a new register(count_reg) to hold iteration count. Therefore, there will no count_reg reference in the loop (except increment/decrement and comparison instructions). When generating prolog/epilog for SMS, it won't need to duplicate count_reg increment/decrement instruction. Without doloop pass, There might have count_reg reference in the loop. In this case, we have to duplicate increment/decrement instructions then the reference in prolog/epilog could get correct value. Thanks, Shiva
0005-update-generate_prolog_epilog-for-the-case-without-d.patch
Description: 0005-update-generate_prolog_epilog-for-the-case-without-d.patch