From b482829abb6d3e1fe80eec0ad92e0514e41cfd2a Mon Sep 17 00:00:00 2001 From: Eli Friedman Date: Sat, 3 Jul 2010 08:43:32 +0000 Subject: [PATCH] Minor amendment to switch-lowering improvement. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107569 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Target/README.txt | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/lib/Target/README.txt b/lib/Target/README.txt index 8f785393fd0..90afe3640ce 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 + //===---------------------------------------------------------------------===// -- 2.34.1