mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-08-29 13:29:28 +00:00
Add some more micro-optimizations: x * 0 = 0, a - x = a --> x = 0. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35138 91177308-0d34-0410-b5e6-96231b3b80d8
20 lines
399 B
LLVM
20 lines
399 B
LLVM
; RUN: llvm-as < %s | opt -predsimplify | llvm-dis | grep -v %c
|
|
define void @foo(i8* %X, i8* %Y) {
|
|
entry:
|
|
%A = load i8* %X
|
|
%B = load i8* %Y
|
|
%a = icmp ult i8 %B, 10
|
|
br i1 %a, label %cond_true, label %URB
|
|
cond_true:
|
|
%b = icmp eq i8 %A, %B
|
|
br i1 %b, label %cond_true2, label %URB
|
|
cond_true2:
|
|
%c = icmp ult i8 %A, 11
|
|
call i8 @bar(i1 %c)
|
|
ret void
|
|
URB:
|
|
ret void
|
|
}
|
|
|
|
declare i8 @bar(i1)
|