mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-10-08 02:19:05 +00:00
make LazyValueInfo analyze the default case of switch statements (we know that in the default branch the value cannot be any of the switch cases)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@159353 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -142,3 +142,26 @@ sw.bb:
|
||||
; CHECK: ret i1 true
|
||||
ret i1 %cmp2
|
||||
}
|
||||
|
||||
; CHECK: @test7
|
||||
define i1 @test7(i32 %c) nounwind {
|
||||
entry:
|
||||
switch i32 %c, label %sw.default [
|
||||
i32 6, label %sw.bb
|
||||
i32 7, label %sw.bb
|
||||
]
|
||||
|
||||
sw.bb:
|
||||
ret i1 true
|
||||
|
||||
sw.default:
|
||||
%cmp5 = icmp eq i32 %c, 5
|
||||
%cmp6 = icmp eq i32 %c, 6
|
||||
%cmp7 = icmp eq i32 %c, 7
|
||||
%cmp8 = icmp eq i32 %c, 8
|
||||
; CHECK: %or = or i1 %cmp5, false
|
||||
%or = or i1 %cmp5, %cmp6
|
||||
; CHECK: %or2 = or i1 false, %cmp8
|
||||
%or2 = or i1 %cmp7, %cmp8
|
||||
ret i1 false
|
||||
}
|
||||
|
Reference in New Issue
Block a user