Displaying 3 results from an estimated 3 matches for "pr34364".
Did you mean:
pr34136
2018 Feb 22
1
Loop splitting as a special case of unswitch
...t;> dummy();
>> dummy2();
>> }
>> for (; k <=L; k++) {
>> dummy();
>> }
> I believe i have reported a similar case as
> https://bugs.llvm.org/show_bug.cgi?id=34364
What I meant here is little different from the loop peeling mentioned in
PR34364. While loop splitting remove the conditional block in the loop
by breaking the loop into two parts, loop peeling take the first or last
few iterations out of the loop. I think the loop splitting can cover
more dynamic cases where the iteration size of each portion is unknown.
>
>> By...
2018 Feb 22
0
Loop splitting as a special case of unswitch
On Fri, Feb 23, 2018 at 12:15 AM, Jun Lim via llvm-dev
<llvm-dev at lists.llvm.org> wrote:
> For the example code below,
> int L = M + 10;
> for (k = 1 ; k <=L; k++) {
> dummy();
> if (k < M)
> dummy2();
> }
> , we can split the loop into two parts like :
>
> for (k = 1 ; k != M; k++) {
> dummy();
> dummy2();
> }
2018 Feb 22
3
Loop splitting as a special case of unswitch
For the example code below,
int L = M + 10;
for (k = 1 ; k <=L; k++) {
dummy();
if (k < M)
dummy2();
}
, we can split the loop into two parts like :
for (k = 1 ; k != M; k++) {
dummy();
dummy2();
}
for (; k <=L; k++) {
dummy();
}
By splitting the loop, we can remove the conditional block in the loop and indirectly increase vectorization