1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-25 12:12:47 +01:00
llvm-mirror/lib
Chris Lattner a13d75f270 Handle negative strides much more optimally. This compiles X86/lsr-negative-stride.ll
into:

_t:
        movl 8(%esp), %ecx
        movl 4(%esp), %eax
        cmpl %ecx, %eax
        je LBB1_3       #bb17
LBB1_1: #bb
        cmpl %ecx, %eax
        jg LBB1_4       #cond_true
LBB1_2: #cond_false
        subl %eax, %ecx
        cmpl %ecx, %eax
        jne LBB1_1      #bb
LBB1_3: #bb17
        ret
LBB1_4: #cond_true
        subl %ecx, %eax
        cmpl %ecx, %eax
        jne LBB1_1      #bb
        jmp LBB1_3      #bb17

instead of:

_t:
        subl $4, %esp
        movl %esi, (%esp)
        movl 12(%esp), %ecx
        movl 8(%esp), %eax
        cmpl %ecx, %eax
        je LBB1_4       #bb17
LBB1_1: #bb.outer
        movl %ecx, %edx
        negl %edx
LBB1_2: #bb
        cmpl %ecx, %eax
        jle LBB1_5      #cond_false
LBB1_3: #cond_true
        addl %edx, %eax
        cmpl %ecx, %eax
        jne LBB1_2      #bb
LBB1_4: #bb17
        movl (%esp), %esi
        addl $4, %esp
        ret
LBB1_5: #cond_false
        movl %ecx, %edx
        subl %eax, %edx
        movl %eax, %esi
        addl %esi, %esi
        cmpl %ecx, %esi
        je LBB1_4       #bb17
LBB1_6: #cond_false.bb.outer_crit_edge
        movl %edx, %ecx
        jmp LBB1_1      #bb.outer

llvm-svn: 37252
2007-05-19 01:22:21 +00:00
..
Analysis Add passes -view-cfg and -view-cfg-only that are like -print-cfg and 2007-05-14 14:25:08 +00:00
Archive adjust this to live in lib/Archive 2007-05-06 19:49:28 +00:00
AsmParser regenerate 2007-05-04 04:01:37 +00:00
Bitcode Fix PR1434 and test/Linker/link-archive.ll, this is a regression from 1.9. 2007-05-18 04:02:46 +00:00
CodeGen same patch as the previous one, but the symmetric case 2007-05-19 00:46:51 +00:00
Debugger switch this to bitcode instead of bytecode 2007-05-06 09:29:13 +00:00
ExecutionEngine Print integer values as both decimal and hexadecimal for convenience 2007-05-17 06:47:54 +00:00
Linker switch this to bitcode instead of bytecode 2007-05-06 09:29:13 +00:00
Support Fix an assertion introduced by my last change to the toString method. We 2007-05-19 00:29:55 +00:00
System Fix a bug where the bcreader could crash on .bc files that were an exact 2007-05-11 00:00:27 +00:00
Target Apply this patch: 2007-05-18 23:21:46 +00:00
Transforms Handle negative strides much more optimally. This compiles X86/lsr-negative-stride.ll 2007-05-19 01:22:21 +00:00
VMCore Update comments to say "vector" instead of "packed". 2007-05-11 21:43:24 +00:00
Makefile build lib/Archive instead of lib/Bytecode 2007-05-06 19:50:06 +00:00