mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-08-20 11:29:24 +00:00
This patch removes the SetCC instructions and replaces them with the ICmp and FCmp instructions. The SetCondInst instruction has been removed and been replaced with ICmpInst and FCmpInst. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32751 91177308-0d34-0410-b5e6-96231b3b80d8
33 lines
1.2 KiB
LLVM
33 lines
1.2 KiB
LLVM
; RUN: llvm-as < %s | opt -instcombine | llvm-dis | grep 'icmp' | wc -l | grep 1
|
|
; RUN: llvm-as < %s | opt -instcombine | llvm-dis | grep 'icmp ugt' | wc -l | grep 1
|
|
; ModuleID = 'bugpoint-tooptimize.bc'
|
|
target datalayout = "e-p:32:32"
|
|
target endian = little
|
|
target pointersize = 32
|
|
target triple = "i686-pc-linux-gnu"
|
|
%r = external global [17 x int] ; <[17 x int]*> [#uses=1]
|
|
|
|
implementation ; Functions:
|
|
|
|
bool %print_pgm_cond_true(int %tmp12.reload, int* %tmp16.out) {
|
|
newFuncRoot:
|
|
br label %cond_true
|
|
|
|
bb27.exitStub: ; preds = %cond_true
|
|
store int %tmp16, int* %tmp16.out
|
|
ret bool true
|
|
|
|
cond_next23.exitStub: ; preds = %cond_true
|
|
store int %tmp16, int* %tmp16.out
|
|
ret bool false
|
|
|
|
cond_true: ; preds = %newFuncRoot
|
|
%tmp15 = getelementptr [17 x int]* %r, int 0, int %tmp12.reload ; <int*> [#uses=1]
|
|
%tmp16 = load int* %tmp15 ; <int> [#uses=4]
|
|
%tmp18 = icmp slt int %tmp16, -31 ; <bool> [#uses=1]
|
|
%tmp21 = icmp sgt int %tmp16, 31 ; <bool> [#uses=1]
|
|
%bothcond = or bool %tmp18, %tmp21 ; <bool> [#uses=1]
|
|
br bool %bothcond, label %bb27.exitStub, label %cond_next23.exitStub
|
|
}
|
|
|