Return Styles: Pseud0ch, Terminal, Valhalla, NES, Geocities, Blue Moon. Entire thread

Loop flattening.

Name: Anonymous 2012-10-03 0:05


for(i=0;i<x;i++)
 for(j=0;j<y;j++)
  foo(i,j);



        xorl    %ebx, %ebx
        subl    $12, %esp
        movl    12(%ebp), %edi
        jmp     .L3
.L4:
        pushl   %eax
        pushl   %eax
        pushl   %esi
        incl    %esi
        pushl   %ebx
        call    foo
        addl    $16, %esp
        jmp     .L5
.L6:
        xorl    %esi, %esi
.L5:
        cmpl    %edi, %esi
        jl      .L4
        incl    %ebx
.L3:
        cmpl    8(%ebp), %ebx
        jl      .L6
        leal    -12(%ebp), %esp



for(i=0,j=0;i<x;i++) {
 foo(i,j);
 if(++j == y)
  j = 0;
}



        xorl    %ebx, %ebx
        movl    12(%ebp), %edi
        jmp     .L8
.L10:
        pushl   %edx
        pushl   %edx
        pushl   %ebx
        incl    %ebx
        pushl   %esi
        call    foo
        xorl    %eax, %eax
        addl    $16, %esp
        cmpl    %edi, %ebx
        setne   %al
        incl    %esi
        negl    %eax
        andl    %eax, %ebx
.L8:
        cmpl    8(%ebp), %esi
        jl      .L10

Newer Posts
Don't change these.
Name: Email:
Entire Thread Thread List