mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-08-30 05:29:47 +00:00
turn icmp eq a+x, b+x into icmp eq a, b if a+x or b+x has other uses. This may have been increasing register pressure leading to the bzip2 slowdown. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63487 91177308-0d34-0410-b5e6-96231b3b80d8
23 lines
455 B
LLVM
23 lines
455 B
LLVM
; RUN: llvm-as < %s | opt -instcombine | llvm-dis | grep {%B = add i8 %b, %x}
|
|
; PR2698
|
|
|
|
declare void @use1(i1)
|
|
declare void @use8(i8)
|
|
|
|
define void @test1(i8 %a, i8 %b, i8 %x) {
|
|
%A = add i8 %a, %x
|
|
%B = add i8 %b, %x
|
|
%C = icmp eq i8 %A, %B
|
|
call void @use1(i1 %C)
|
|
ret void
|
|
}
|
|
|
|
define void @test2(i8 %a, i8 %b, i8 %x) {
|
|
%A = add i8 %a, %x
|
|
%B = add i8 %b, %x
|
|
%C = icmp eq i8 %A, %B
|
|
call void @use1(i1 %C)
|
|
call void @use8(i8 %A)
|
|
ret void
|
|
}
|