summaryrefslogtreecommitdiff
path: root/lib/Target/README.txt
diff options
context:
space:
mode:
authorEli Friedman <eli.friedman@gmail.com>2010-07-03 08:43:32 +0000
committerEli Friedman <eli.friedman@gmail.com>2010-07-03 08:43:32 +0000
commitb482829abb6d3e1fe80eec0ad92e0514e41cfd2a (patch)
treed86acaf974096f45ebdb6245c75658fc3554c6ec /lib/Target/README.txt
parentb4a74c1d820bd913e91e4c921a141824f6bfe2df (diff)
downloadllvm-b482829abb6d3e1fe80eec0ad92e0514e41cfd2a.tar.gz
llvm-b482829abb6d3e1fe80eec0ad92e0514e41cfd2a.tar.bz2
llvm-b482829abb6d3e1fe80eec0ad92e0514e41cfd2a.tar.xz
Minor amendment to switch-lowering improvement.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107569 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/README.txt')
-rw-r--r--lib/Target/README.txt12
1 files changed, 10 insertions, 2 deletions
diff --git a/lib/Target/README.txt b/lib/Target/README.txt
index 8f785393fd..90afe3640c 100644
--- a/lib/Target/README.txt
+++ b/lib/Target/README.txt
@@ -1918,9 +1918,17 @@ a:
.LBB0_2:
ret
.LBB0_3:
- xorb %al, %al
- jmp foo@PLT # TAILCALL
+ jmp foo # TAILCALL
The movl+movl+btq+jb could be simplified to a cmpl+jne.
+Or, if we wanted to be really clever, we could simplify the whole thing to
+something like the following, which eliminates a branch:
+ xorl $1, %edi
+ cmpl $4, %edi
+ ja .LBB0_2
+ ret
+.LBB0_2:
+ jmp foo # TAILCALL
+
//===---------------------------------------------------------------------===//