[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