mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-07-24 22:24:54 +00:00
make jump threading handle lexically identical compare instructions
as if they were multiple uses of the same instruction. This interacts well with the existing loadpre that j-t does to open up many new jump threads earlier. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73768 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
30
test/Transforms/JumpThreading/dup-cond.ll
Normal file
30
test/Transforms/JumpThreading/dup-cond.ll
Normal file
@@ -0,0 +1,30 @@
|
||||
; RUN: llvm-as < %s | opt -jump-threading -die | llvm-dis | grep icmp | count 1
|
||||
|
||||
declare void @f1()
|
||||
declare void @f2()
|
||||
declare void @f3()
|
||||
|
||||
define i32 @test(i32 %A) {
|
||||
%tmp455 = icmp eq i32 %A, 42
|
||||
br i1 %tmp455, label %BB1, label %BB2
|
||||
|
||||
BB2:
|
||||
call void @f1()
|
||||
br label %BB1
|
||||
|
||||
|
||||
BB1:
|
||||
%tmp459 = icmp eq i32 %A, 42
|
||||
br i1 %tmp459, label %BB3, label %BB4
|
||||
|
||||
BB3:
|
||||
call void @f2()
|
||||
ret i32 3
|
||||
|
||||
BB4:
|
||||
call void @f3()
|
||||
ret i32 4
|
||||
}
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user