mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-11-01 15:11:24 +00:00
9445e9aaa0
Change the keywords for the zext and sext parameter attributes to be zeroext and signext so they don't conflict with the keywords for the instructions of the same name. This gets around the ambiguity. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40069 91177308-0d34-0410-b5e6-96231b3b80d8
114 lines
4.1 KiB
LLVM
114 lines
4.1 KiB
LLVM
; RUN: llvm-as < %s | llc -mtriple=arm-apple-darwin
|
|
|
|
%struct.Connection = type { i32, [10 x i8], i32 }
|
|
%struct.IntChunk = type { %struct.cppobjtype, i32, i32*, i32 }
|
|
%struct.Point = type { i8*, %struct.cppobjtype, i16 (%struct.Point*) signext *, i16 (%struct.Point*) signext *, double (%struct.Point*)*, double (%struct.Point*)* }
|
|
%struct.RefPoint = type { %struct.Point*, %struct.cppobjtype }
|
|
%struct.ShortArray = type { %struct.cppobjtype, i32, i16* }
|
|
%struct.TestObj = type { i8*, %struct.cppobjtype, i8, [32 x i8], i8*, i8**, i16, i16, i32, i32, i32, i32, float, double, %struct.cppobjtype, i32, i16*, i16**, i8**, i32, %struct.XyPoint, [3 x %struct.Connection], %struct.Point*, %struct.XyPoint*, i32, i8*, i8*, i16*, %struct.ShortArray, %struct.IntChunk, %struct.cppobjtype, %struct.cppobjtype, %struct.RefPoint, i32, %struct.cppobjtype, %struct.cppobjtype }
|
|
%struct.XyPoint = type { i16, i16 }
|
|
%struct.cppobjtype = type { i32, i16, i16 }
|
|
@Msg = external global [256 x i8] ; <[256 x i8]*> [#uses=1]
|
|
@.str53615 = external constant [48 x i8] ; <[48 x i8]*> [#uses=1]
|
|
@FirstTime.4637.b = external global i1 ; <i1*> [#uses=1]
|
|
|
|
define fastcc void @Draw7(i32 %Option, i32* %Status) {
|
|
entry:
|
|
%tmp115.b = load i1* @FirstTime.4637.b ; <i1> [#uses=1]
|
|
br i1 %tmp115.b, label %cond_next239, label %cond_next.i
|
|
|
|
cond_next.i: ; preds = %entry
|
|
ret void
|
|
|
|
cond_next239: ; preds = %entry
|
|
%tmp242 = icmp eq i32 0, 0 ; <i1> [#uses=1]
|
|
br i1 %tmp242, label %cond_next253, label %cond_next296
|
|
|
|
cond_next253: ; preds = %cond_next239
|
|
switch i32 %Option, label %bb1326 [
|
|
i32 3, label %cond_true258
|
|
i32 4, label %cond_true268
|
|
i32 2, label %cond_true279
|
|
i32 1, label %cond_next315
|
|
]
|
|
|
|
cond_true258: ; preds = %cond_next253
|
|
ret void
|
|
|
|
cond_true268: ; preds = %cond_next253
|
|
ret void
|
|
|
|
cond_true279: ; preds = %cond_next253
|
|
ret void
|
|
|
|
cond_next296: ; preds = %cond_next239
|
|
ret void
|
|
|
|
cond_next315: ; preds = %cond_next253
|
|
%tmp1140 = icmp eq i32 0, 0 ; <i1> [#uses=1]
|
|
br i1 %tmp1140, label %cond_true1143, label %bb1326
|
|
|
|
cond_true1143: ; preds = %cond_next315
|
|
%tmp1148 = icmp eq i32 0, 0 ; <i1> [#uses=4]
|
|
br i1 %tmp1148, label %cond_next1153, label %cond_true1151
|
|
|
|
cond_true1151: ; preds = %cond_true1143
|
|
ret void
|
|
|
|
cond_next1153: ; preds = %cond_true1143
|
|
%tmp8.i.i185 = icmp eq i32 0, 0 ; <i1> [#uses=1]
|
|
br i1 %tmp8.i.i185, label %TestObj_new1.exit, label %cond_true.i.i187
|
|
|
|
cond_true.i.i187: ; preds = %cond_next1153
|
|
ret void
|
|
|
|
TestObj_new1.exit: ; preds = %cond_next1153
|
|
%tmp1167 = icmp eq i16 0, 0 ; <i1> [#uses=1]
|
|
%tmp1178 = icmp eq i32 0, 0 ; <i1> [#uses=1]
|
|
%bothcond = and i1 %tmp1167, %tmp1178 ; <i1> [#uses=1]
|
|
br i1 %bothcond, label %bb1199, label %bb1181
|
|
|
|
bb1181: ; preds = %TestObj_new1.exit
|
|
ret void
|
|
|
|
bb1199: ; preds = %TestObj_new1.exit
|
|
br i1 %tmp1148, label %cond_next1235, label %Object_Dump.exit302
|
|
|
|
Object_Dump.exit302: ; preds = %bb1199
|
|
ret void
|
|
|
|
cond_next1235: ; preds = %bb1199
|
|
%bothcond10485 = or i1 false, %tmp1148 ; <i1> [#uses=1]
|
|
br i1 %bothcond10485, label %cond_next1267, label %cond_true1248
|
|
|
|
cond_true1248: ; preds = %cond_next1235
|
|
ret void
|
|
|
|
cond_next1267: ; preds = %cond_next1235
|
|
br i1 %tmp1148, label %cond_next1275, label %cond_true1272
|
|
|
|
cond_true1272: ; preds = %cond_next1267
|
|
%tmp1273 = load %struct.TestObj** null ; <%struct.TestObj*> [#uses=2]
|
|
%tmp2930.i = ptrtoint %struct.TestObj* %tmp1273 to i32 ; <i32> [#uses=1]
|
|
%tmp42.i348 = sub i32 0, %tmp2930.i ; <i32> [#uses=1]
|
|
%tmp45.i = getelementptr %struct.TestObj* %tmp1273, i32 0, i32 0 ; <i8**> [#uses=2]
|
|
%tmp48.i = load i8** %tmp45.i ; <i8*> [#uses=1]
|
|
%tmp50.i350 = call i32 (i8*, i8*, ...)* @sprintf( i8* getelementptr ([256 x i8]* @Msg, i32 0, i32 0), i8* getelementptr ([48 x i8]* @.str53615, i32 0, i32 0), i8* null, i8** %tmp45.i, i8* %tmp48.i ) ; <i32> [#uses=0]
|
|
br i1 false, label %cond_true.i632.i, label %Ut_TraceMsg.exit648.i
|
|
|
|
cond_true.i632.i: ; preds = %cond_true1272
|
|
ret void
|
|
|
|
Ut_TraceMsg.exit648.i: ; preds = %cond_true1272
|
|
%tmp57.i = getelementptr i8* null, i32 %tmp42.i348 ; <i8*> [#uses=0]
|
|
ret void
|
|
|
|
cond_next1275: ; preds = %cond_next1267
|
|
ret void
|
|
|
|
bb1326: ; preds = %cond_next315, %cond_next253
|
|
ret void
|
|
}
|
|
|
|
declare i32 @sprintf(i8*, i8*, ...)
|