[llvm-commits] CVS: llvm/lib/Target/X86/README.txt

Chris Lattner sabre at nondot.org
Sun Oct 22 14:40:26 PDT 2006



Changes in directory llvm/lib/Target/X86:

README.txt updated: 1.142 -> 1.143
---
Log message:

this part implemented.


---
Diffs of the changes:  (+0 -29)

 README.txt |   29 -----------------------------
 1 files changed, 29 deletions(-)


Index: llvm/lib/Target/X86/README.txt
diff -u llvm/lib/Target/X86/README.txt:1.142 llvm/lib/Target/X86/README.txt:1.143
--- llvm/lib/Target/X86/README.txt:1.142	Thu Oct 12 17:01:26 2006
+++ llvm/lib/Target/X86/README.txt	Sun Oct 22 16:40:12 2006
@@ -607,35 +607,6 @@
 cmp eax, 6
 jz label
 
-If we aren't going to do this, we should lower the switch better.  We compile 
-the code to:
-
-_f:
-        movl 8(%esp), %eax
-        movl 4(%esp), %ecx
-        cmpl $6, %ecx
-        jl LBB1_4       #entry
-        jmp LBB1_3      #entry
-LBB1_3: #entry
-        cmpl $6, %ecx
-        je LBB1_1       #bb
-        jmp LBB1_2      #UnifiedReturnBlock
-LBB1_4: #entry
-        cmpl $4, %ecx
-        jne LBB1_2      #UnifiedReturnBlock
-LBB1_1: #bb
-        incl %eax
-        ret
-LBB1_2: #UnifiedReturnBlock
-        ret
-
-In the code above, the 'if' is turned into a 'switch' at the mid-level.  It
-looks  like the 'lower to branches' mode could be improved a little here.  In
-particular, the fall-through to LBB1_3 doesn't need a branch.  It would also be
-nice to eliminate the redundant "cmp 6", maybe by lowering to a linear sequence
-of compares if there are below a certain number of cases (instead of a binary
-sequence)?
-
 //===---------------------------------------------------------------------===//
 
 GCC's ix86_expand_int_movcc function (in i386.c) has a ton of interesting






More information about the llvm-commits mailing list