mirror of
https://github.com/c3lang/c3c.git
synced 2026-02-27 12:01:16 +00:00
Improve and simplify casts.
This commit is contained in:
@@ -50,9 +50,9 @@ fn void f_agg_stack(double a, long b, double c, long d, Tiny e,
|
||||
|
||||
define i32 @test.f_scalar_stack_1(i32 %0, i64 %1, float %2, double %3, fp128 %4, i8 zeroext %5, i8 %6, i8 %7) #0 {
|
||||
entry:
|
||||
%sisiext = sext i8 %6 to i32
|
||||
%uisiext = zext i8 %7 to i32
|
||||
%add = add i32 %sisiext, %uisiext
|
||||
%sext = sext i8 %6 to i32
|
||||
%zext = zext i8 %7 to i32
|
||||
%add = add i32 %sext, %zext
|
||||
ret i32 %add
|
||||
}
|
||||
|
||||
@@ -64,14 +64,14 @@ entry:
|
||||
%fpsi = fptosi float %1 to i32
|
||||
store i32 %fpsi, ptr %8, align 4
|
||||
%9 = getelementptr inbounds %Large, ptr %literal, i32 0, i32 1
|
||||
%uisiext = zext i8 %5 to i32
|
||||
store i32 %uisiext, ptr %9, align 4
|
||||
%zext = zext i8 %5 to i32
|
||||
store i32 %zext, ptr %9, align 4
|
||||
%10 = getelementptr inbounds %Large, ptr %literal, i32 0, i32 2
|
||||
%sisiext = sext i8 %6 to i32
|
||||
store i32 %sisiext, ptr %10, align 4
|
||||
%sext = sext i8 %6 to i32
|
||||
store i32 %sext, ptr %10, align 4
|
||||
%11 = getelementptr inbounds %Large, ptr %literal, i32 0, i32 3
|
||||
%uisiext1 = zext i8 %7 to i32
|
||||
store i32 %uisiext1, ptr %11, align 4
|
||||
%zext1 = zext i8 %7 to i32
|
||||
store i32 %zext1, ptr %11, align 4
|
||||
call void @llvm.memcpy.p0.p0.i32(ptr align 4 %0, ptr align 4 %literal, i32 16, i1 false)
|
||||
ret void
|
||||
}
|
||||
|
||||
@@ -47,9 +47,9 @@ fn void f_agg_stack(double a, long b, double c, long d, Tiny e,
|
||||
|
||||
define i32 @test.f_scalar_stack_1(i32 %0, i64 %1, i32 %2, double %3, fp128 %4, i8 zeroext %5, i8 %6, i8 %7) #0 {
|
||||
entry:
|
||||
%sisiext = sext i8 %6 to i32
|
||||
%uisiext = zext i8 %7 to i32
|
||||
%add = add i32 %sisiext, %uisiext
|
||||
%sext = sext i8 %6 to i32
|
||||
%zext = zext i8 %7 to i32
|
||||
%add = add i32 %sext, %zext
|
||||
ret i32 %add
|
||||
}
|
||||
|
||||
@@ -59,14 +59,14 @@ entry:
|
||||
%8 = getelementptr inbounds %Large, ptr %literal, i32 0, i32 0
|
||||
store i32 %1, ptr %8, align 4
|
||||
%9 = getelementptr inbounds %Large, ptr %literal, i32 0, i32 1
|
||||
%uisiext = zext i8 %5 to i32
|
||||
store i32 %uisiext, ptr %9, align 4
|
||||
%zext = zext i8 %5 to i32
|
||||
store i32 %zext, ptr %9, align 4
|
||||
%10 = getelementptr inbounds %Large, ptr %literal, i32 0, i32 2
|
||||
%sisiext = sext i8 %6 to i32
|
||||
store i32 %sisiext, ptr %10, align 4
|
||||
%sext = sext i8 %6 to i32
|
||||
store i32 %sext, ptr %10, align 4
|
||||
%11 = getelementptr inbounds %Large, ptr %literal, i32 0, i32 3
|
||||
%uisiext1 = zext i8 %7 to i32
|
||||
store i32 %uisiext1, ptr %11, align 4
|
||||
%zext1 = zext i8 %7 to i32
|
||||
store i32 %zext1, ptr %11, align 4
|
||||
call void @llvm.memcpy.p0.p0.i32(ptr align 4 %0, ptr align 4 %literal, i32 16, i1 false)
|
||||
ret void
|
||||
}
|
||||
|
||||
@@ -451,9 +451,9 @@ entry:
|
||||
store i32 %0, ptr %a, align 1
|
||||
store [2 x i32] %1, ptr %b, align 4
|
||||
store i64 %2, ptr %c, align 8
|
||||
%uisiext = zext i8 %6 to i32
|
||||
%sisiext = sext i8 %7 to i32
|
||||
%add = add i32 %uisiext, %sisiext
|
||||
%zext = zext i8 %6 to i32
|
||||
%sext = sext i8 %7 to i32
|
||||
%add = add i32 %zext, %sext
|
||||
ret i32 %add
|
||||
}
|
||||
|
||||
@@ -463,14 +463,14 @@ entry:
|
||||
%8 = getelementptr inbounds %Large, ptr %literal, i32 0, i32 0
|
||||
store i32 %1, ptr %8, align 4
|
||||
%9 = getelementptr inbounds %Large, ptr %literal, i32 0, i32 1
|
||||
%uisiext = zext i8 %5 to i32
|
||||
store i32 %uisiext, ptr %9, align 4
|
||||
%zext = zext i8 %5 to i32
|
||||
store i32 %zext, ptr %9, align 4
|
||||
%10 = getelementptr inbounds %Large, ptr %literal, i32 0, i32 2
|
||||
%sisiext = sext i8 %6 to i32
|
||||
store i32 %sisiext, ptr %10, align 4
|
||||
%sext = sext i8 %6 to i32
|
||||
store i32 %sext, ptr %10, align 4
|
||||
%11 = getelementptr inbounds %Large, ptr %literal, i32 0, i32 3
|
||||
%uisiext1 = zext i8 %7 to i32
|
||||
store i32 %uisiext1, ptr %11, align 4
|
||||
%zext1 = zext i8 %7 to i32
|
||||
store i32 %zext1, ptr %11, align 4
|
||||
call void @llvm.memcpy.p0.p0.i32(ptr align 4 %0, ptr align 4 %literal, i32 16, i1 false)
|
||||
ret void
|
||||
}
|
||||
|
||||
@@ -21,9 +21,9 @@ fn Large f_scalar_stack_2(double a, int128 b, float128 c, V32i8 d,
|
||||
|
||||
define signext i32 @test.f_scalar_stack_1(i32 signext %0, i128 %1, float %2, fp128 %3, ptr align 32 %4, i8 zeroext %5, i8 %6, i8 %7)
|
||||
entry:
|
||||
%uisiext = zext i8 %6 to i32
|
||||
%uisiext1 = zext i8 %7 to i32
|
||||
%add = add i32 %uisiext, %uisiext1
|
||||
%zext = zext i8 %6 to i32
|
||||
%zext1 = zext i8 %7 to i32
|
||||
%add = add i32 %zext, %zext1
|
||||
ret i32 %add
|
||||
|
||||
define void @test.f_scalar_stack_2(ptr noalias sret(%Large) align 8 %0, double %1, i128 %2, fp128 %3, ptr align 32 %4, i8 zeroext %5, i8 %6, i8 %7)
|
||||
@@ -33,13 +33,13 @@ entry:
|
||||
%fpsi = fptosi double %1 to i64
|
||||
store i64 %fpsi, ptr %8, align 8
|
||||
%9 = getelementptr inbounds %Large, ptr %literal, i32 0, i32 1
|
||||
%uisiext = zext i8 %5 to i64
|
||||
store i64 %uisiext, ptr %9, align 8
|
||||
%zext = zext i8 %5 to i64
|
||||
store i64 %zext, ptr %9, align 8
|
||||
%10 = getelementptr inbounds %Large, ptr %literal, i32 0, i32 2
|
||||
%sisiext = sext i8 %6 to i64
|
||||
store i64 %sisiext, ptr %10, align 8
|
||||
%sext = sext i8 %6 to i64
|
||||
store i64 %sext, ptr %10, align 8
|
||||
%11 = getelementptr inbounds %Large, ptr %literal, i32 0, i32 3
|
||||
%uisiext1 = zext i8 %7 to i64
|
||||
store i64 %uisiext1, ptr %11, align 8
|
||||
%zext1 = zext i8 %7 to i64
|
||||
store i64 %zext1, ptr %11, align 8
|
||||
call void @llvm.memcpy.p0.p0.i32(ptr align 8 %0, ptr align 8 %literal, i32 32, i1 false)
|
||||
ret void
|
||||
|
||||
@@ -25,9 +25,9 @@ fn Large f_scalar_stack_2(double a, int128 b, float128 c, char[<32>] d,
|
||||
|
||||
define signext i32 @test.f_scalar_stack_1(i32 signext %0, i128 %1, double %2, fp128 %3, ptr align 32 %4, i8 zeroext %5, i8 %6, i8 %7) #0 {
|
||||
entry:
|
||||
%sisiext = sext i8 %6 to i32
|
||||
%uisiext = zext i8 %7 to i32
|
||||
%add = add i32 %sisiext, %uisiext
|
||||
%sext = sext i8 %6 to i32
|
||||
%zext = zext i8 %7 to i32
|
||||
%add = add i32 %sext, %zext
|
||||
ret i32 %add
|
||||
}
|
||||
|
||||
@@ -38,14 +38,14 @@ entry:
|
||||
%fpsi = fptosi double %1 to i64
|
||||
store i64 %fpsi, ptr %8, align 8
|
||||
%9 = getelementptr inbounds %Large, ptr %literal, i32 0, i32 1
|
||||
%uisiext = zext i8 %5 to i64
|
||||
store i64 %uisiext, ptr %9, align 8
|
||||
%zext = zext i8 %5 to i64
|
||||
store i64 %zext, ptr %9, align 8
|
||||
%10 = getelementptr inbounds %Large, ptr %literal, i32 0, i32 2
|
||||
%sisiext = sext i8 %6 to i64
|
||||
store i64 %sisiext, ptr %10, align 8
|
||||
%sext = sext i8 %6 to i64
|
||||
store i64 %sext, ptr %10, align 8
|
||||
%11 = getelementptr inbounds %Large, ptr %literal, i32 0, i32 3
|
||||
%uisiext1 = zext i8 %7 to i64
|
||||
store i64 %uisiext1, ptr %11, align 8
|
||||
%zext1 = zext i8 %7 to i64
|
||||
store i64 %zext1, ptr %11, align 8
|
||||
call void @llvm.memcpy.p0.p0.i32(ptr align 8 %0, ptr align 8 %literal, i32 32, i1 false)
|
||||
ret void
|
||||
}
|
||||
@@ -26,9 +26,9 @@ fn Large f_scalar_stack_2(double a, int128 b, float128 c, char[<32>] d,
|
||||
|
||||
define signext i32 @test.f_scalar_stack_1(i32 signext %0, i128 %1, double %2, fp128 %3, ptr align 32 %4, i8 zeroext %5, i8 %6, i8 %7) #0 {
|
||||
entry:
|
||||
%sisiext = sext i8 %6 to i32
|
||||
%uisiext = zext i8 %7 to i32
|
||||
%add = add i32 %sisiext, %uisiext
|
||||
%sext = sext i8 %6 to i32
|
||||
%zext = zext i8 %7 to i32
|
||||
%add = add i32 %sext, %zext
|
||||
ret i32 %add
|
||||
}
|
||||
|
||||
@@ -39,14 +39,14 @@ entry:
|
||||
%fpsi = fptosi double %1 to i64
|
||||
store i64 %fpsi, ptr %8, align 8
|
||||
%9 = getelementptr inbounds %Large, ptr %literal, i32 0, i32 1
|
||||
%uisiext = zext i8 %5 to i64
|
||||
store i64 %uisiext, ptr %9, align 8
|
||||
%zext = zext i8 %5 to i64
|
||||
store i64 %zext, ptr %9, align 8
|
||||
%10 = getelementptr inbounds %Large, ptr %literal, i32 0, i32 2
|
||||
%sisiext = sext i8 %6 to i64
|
||||
store i64 %sisiext, ptr %10, align 8
|
||||
%sext = sext i8 %6 to i64
|
||||
store i64 %sext, ptr %10, align 8
|
||||
%11 = getelementptr inbounds %Large, ptr %literal, i32 0, i32 3
|
||||
%uisiext1 = zext i8 %7 to i64
|
||||
store i64 %uisiext1, ptr %11, align 8
|
||||
%zext1 = zext i8 %7 to i64
|
||||
store i64 %zext1, ptr %11, align 8
|
||||
call void @llvm.memcpy.p0.p0.i32(ptr align 8 %0, ptr align 8 %literal, i32 32, i1 false)
|
||||
ret void
|
||||
}
|
||||
@@ -47,11 +47,11 @@ entry:
|
||||
call void @llvm.memcpy.p0.p0.i32(ptr align 1 %y, ptr align 1 %result, i32 3, i1 false)
|
||||
%5 = getelementptr inbounds %Foo, ptr %y, i32 0, i32 0
|
||||
%6 = load i8, ptr %5, align 1
|
||||
%uisiext = zext i8 %6 to i32
|
||||
%zext = zext i8 %6 to i32
|
||||
%7 = getelementptr inbounds %Foo, ptr %y, i32 0, i32 2
|
||||
%8 = load i8, ptr %7, align 1
|
||||
%uisiext2 = zext i8 %8 to i32
|
||||
%add = add i32 %uisiext, %uisiext2
|
||||
%zext2 = zext i8 %8 to i32
|
||||
%add = add i32 %zext, %zext2
|
||||
ret i32 %add
|
||||
}
|
||||
|
||||
|
||||
@@ -39,13 +39,13 @@ entry:
|
||||
store i32 3, ptr %j, align 4
|
||||
%10 = load <10 x i32>, ptr %1, align 64
|
||||
%11 = load i32, ptr %j, align 4
|
||||
%sisiext = sext i32 %11 to i64
|
||||
%12 = sub nuw i64 10, %sisiext
|
||||
%sext = sext i32 %11 to i64
|
||||
%12 = sub nuw i64 10, %sext
|
||||
%13 = extractelement <10 x i32> %10, i64 %12
|
||||
store i32 %13, ptr %e, align 4
|
||||
%14 = load i32, ptr %j, align 4
|
||||
%sisiext1 = sext i32 %14 to i64
|
||||
%15 = sub nuw i64 10, %sisiext1
|
||||
%sext1 = sext i32 %14 to i64
|
||||
%15 = sub nuw i64 10, %sext1
|
||||
%16 = getelementptr inbounds [10 x i32], ptr %0, i64 0, i64 %15
|
||||
%17 = load i32, ptr %16, align 4
|
||||
store i32 %17, ptr %f, align 4
|
||||
|
||||
@@ -24,8 +24,8 @@ fn void test_bar(int idx)
|
||||
|
||||
define void @foo.test_bar(i32 %0) #0 {
|
||||
entry:
|
||||
%sisiext = sext i32 %0 to i64
|
||||
%1 = getelementptr inbounds [6 x %Bar], ptr @foo.bar, i64 0, i64 %sisiext
|
||||
%sext = sext i32 %0 to i64
|
||||
%1 = getelementptr inbounds [6 x %Bar], ptr @foo.bar, i64 0, i64 %sext
|
||||
%2 = getelementptr inbounds %Bar, ptr %1, i32 0, i32 0
|
||||
store i32 0, ptr %2, align 4
|
||||
store i32 %0, ptr @foo.bar, align 4
|
||||
|
||||
@@ -315,8 +315,8 @@ entry:
|
||||
%92 = load i64, ptr %xx, align 8
|
||||
%lshrl = lshr i64 %92, 20
|
||||
%93 = and i64 1, %lshrl
|
||||
%ztrunc = trunc i64 %93 to i8
|
||||
%94 = trunc i8 %ztrunc to i1
|
||||
%trunc = trunc i64 %93 to i8
|
||||
%94 = trunc i8 %trunc to i1
|
||||
%boolsi = zext i1 %94 to i32
|
||||
call void (ptr, ...) @printf(ptr @.str.9, i32 %boolsi)
|
||||
%95 = load i64, ptr %xx, align 8
|
||||
@@ -325,8 +325,8 @@ entry:
|
||||
%97 = load i64, ptr %xx, align 8
|
||||
%lshrl67 = lshr i64 %97, 20
|
||||
%98 = and i64 1, %lshrl67
|
||||
%ztrunc68 = trunc i64 %98 to i8
|
||||
%99 = trunc i8 %ztrunc68 to i1
|
||||
%trunc68 = trunc i64 %98 to i8
|
||||
%99 = trunc i8 %trunc68 to i1
|
||||
%boolsi69 = zext i1 %99 to i32
|
||||
call void (ptr, ...) @printf(ptr @.str.10, i32 %boolsi69)
|
||||
ret void
|
||||
@@ -366,8 +366,8 @@ entry:
|
||||
%ashr8 = ashr i32 %shl7, 29
|
||||
%sub = sub i32 %ashr8, 1
|
||||
%13 = getelementptr inbounds [3 x i8], ptr %xx, i64 0, i64 0
|
||||
%ztrunc = trunc i32 %sub to i8
|
||||
%14 = and i8 %ztrunc, 7
|
||||
%trunc = trunc i32 %sub to i8
|
||||
%14 = and i8 %trunc, 7
|
||||
%15 = load i8, ptr %13, align 1
|
||||
%16 = and i8 %15, -8
|
||||
%17 = or i8 %16, %14
|
||||
@@ -403,15 +403,15 @@ entry:
|
||||
%mul = mul i32 %ashr23, 2
|
||||
%30 = getelementptr inbounds [3 x i8], ptr %xx, i64 0, i64 0
|
||||
%shl24 = shl i32 %mul, 3
|
||||
%ztrunc25 = trunc i32 %shl24 to i8
|
||||
%trunc25 = trunc i32 %shl24 to i8
|
||||
%31 = load i8, ptr %30, align 1
|
||||
%32 = and i8 %31, 7
|
||||
%33 = or i8 %32, %ztrunc25
|
||||
%33 = or i8 %32, %trunc25
|
||||
store i8 %33, ptr %30, align 1
|
||||
%lshrl26 = lshr i32 %mul, 5
|
||||
%34 = getelementptr inbounds [3 x i8], ptr %xx, i64 0, i64 1
|
||||
%ztrunc27 = trunc i32 %lshrl26 to i8
|
||||
%35 = and i8 %ztrunc27, 1
|
||||
%trunc27 = trunc i32 %lshrl26 to i8
|
||||
%35 = and i8 %trunc27, 1
|
||||
%36 = load i8, ptr %34, align 1
|
||||
%37 = and i8 %36, -2
|
||||
%38 = or i8 %37, %35
|
||||
@@ -447,15 +447,15 @@ entry:
|
||||
%xor = xor i32 %ashr42, 4
|
||||
%51 = getelementptr inbounds [3 x i8], ptr %xx, i64 0, i64 0
|
||||
%shl43 = shl i32 %xor, 3
|
||||
%ztrunc44 = trunc i32 %shl43 to i8
|
||||
%trunc44 = trunc i32 %shl43 to i8
|
||||
%52 = load i8, ptr %51, align 1
|
||||
%53 = and i8 %52, 7
|
||||
%54 = or i8 %53, %ztrunc44
|
||||
%54 = or i8 %53, %trunc44
|
||||
store i8 %54, ptr %51, align 1
|
||||
%lshrl45 = lshr i32 %xor, 5
|
||||
%55 = getelementptr inbounds [3 x i8], ptr %xx, i64 0, i64 1
|
||||
%ztrunc46 = trunc i32 %lshrl45 to i8
|
||||
%56 = and i8 %ztrunc46, 1
|
||||
%trunc46 = trunc i32 %lshrl45 to i8
|
||||
%56 = and i8 %trunc46, 1
|
||||
%57 = load i8, ptr %55, align 1
|
||||
%58 = and i8 %57, -2
|
||||
%59 = or i8 %58, %56
|
||||
@@ -491,15 +491,15 @@ entry:
|
||||
%or = or i32 %ashr61, 4
|
||||
%72 = getelementptr inbounds [3 x i8], ptr %xx, i64 0, i64 0
|
||||
%shl62 = shl i32 %or, 3
|
||||
%ztrunc63 = trunc i32 %shl62 to i8
|
||||
%trunc63 = trunc i32 %shl62 to i8
|
||||
%73 = load i8, ptr %72, align 1
|
||||
%74 = and i8 %73, 7
|
||||
%75 = or i8 %74, %ztrunc63
|
||||
%75 = or i8 %74, %trunc63
|
||||
store i8 %75, ptr %72, align 1
|
||||
%lshrl64 = lshr i32 %or, 5
|
||||
%76 = getelementptr inbounds [3 x i8], ptr %xx, i64 0, i64 1
|
||||
%ztrunc65 = trunc i32 %lshrl64 to i8
|
||||
%77 = and i8 %ztrunc65, 1
|
||||
%trunc65 = trunc i32 %lshrl64 to i8
|
||||
%77 = and i8 %trunc65, 1
|
||||
%78 = load i8, ptr %76, align 1
|
||||
%79 = and i8 %78, -2
|
||||
%80 = or i8 %79, %77
|
||||
@@ -536,15 +536,15 @@ entry:
|
||||
%93 = freeze i32 %shl81
|
||||
%94 = getelementptr inbounds [3 x i8], ptr %xx, i64 0, i64 0
|
||||
%shl82 = shl i32 %93, 3
|
||||
%ztrunc83 = trunc i32 %shl82 to i8
|
||||
%trunc83 = trunc i32 %shl82 to i8
|
||||
%95 = load i8, ptr %94, align 1
|
||||
%96 = and i8 %95, 7
|
||||
%97 = or i8 %96, %ztrunc83
|
||||
%97 = or i8 %96, %trunc83
|
||||
store i8 %97, ptr %94, align 1
|
||||
%lshrl84 = lshr i32 %93, 5
|
||||
%98 = getelementptr inbounds [3 x i8], ptr %xx, i64 0, i64 1
|
||||
%ztrunc85 = trunc i32 %lshrl84 to i8
|
||||
%99 = and i8 %ztrunc85, 1
|
||||
%trunc85 = trunc i32 %lshrl84 to i8
|
||||
%99 = and i8 %trunc85, 1
|
||||
%100 = load i8, ptr %98, align 1
|
||||
%101 = and i8 %100, -2
|
||||
%102 = or i8 %101, %99
|
||||
@@ -581,15 +581,15 @@ entry:
|
||||
%115 = freeze i32 %ashr101
|
||||
%116 = getelementptr inbounds [3 x i8], ptr %xx, i64 0, i64 0
|
||||
%shl102 = shl i32 %115, 3
|
||||
%ztrunc103 = trunc i32 %shl102 to i8
|
||||
%trunc103 = trunc i32 %shl102 to i8
|
||||
%117 = load i8, ptr %116, align 1
|
||||
%118 = and i8 %117, 7
|
||||
%119 = or i8 %118, %ztrunc103
|
||||
%119 = or i8 %118, %trunc103
|
||||
store i8 %119, ptr %116, align 1
|
||||
%lshrl104 = lshr i32 %115, 5
|
||||
%120 = getelementptr inbounds [3 x i8], ptr %xx, i64 0, i64 1
|
||||
%ztrunc105 = trunc i32 %lshrl104 to i8
|
||||
%121 = and i8 %ztrunc105, 1
|
||||
%trunc105 = trunc i32 %lshrl104 to i8
|
||||
%121 = and i8 %trunc105, 1
|
||||
%122 = load i8, ptr %120, align 1
|
||||
%123 = and i8 %122, -2
|
||||
%124 = or i8 %123, %121
|
||||
@@ -625,15 +625,15 @@ entry:
|
||||
%sdiv = sdiv i32 %ashr120, 2
|
||||
%137 = getelementptr inbounds [3 x i8], ptr %xx, i64 0, i64 0
|
||||
%shl121 = shl i32 %sdiv, 3
|
||||
%ztrunc122 = trunc i32 %shl121 to i8
|
||||
%trunc122 = trunc i32 %shl121 to i8
|
||||
%138 = load i8, ptr %137, align 1
|
||||
%139 = and i8 %138, 7
|
||||
%140 = or i8 %139, %ztrunc122
|
||||
%140 = or i8 %139, %trunc122
|
||||
store i8 %140, ptr %137, align 1
|
||||
%lshrl123 = lshr i32 %sdiv, 5
|
||||
%141 = getelementptr inbounds [3 x i8], ptr %xx, i64 0, i64 1
|
||||
%ztrunc124 = trunc i32 %lshrl123 to i8
|
||||
%142 = and i8 %ztrunc124, 1
|
||||
%trunc124 = trunc i32 %lshrl123 to i8
|
||||
%142 = and i8 %trunc124, 1
|
||||
%143 = load i8, ptr %141, align 1
|
||||
%144 = and i8 %143, -2
|
||||
%145 = or i8 %144, %142
|
||||
@@ -669,15 +669,15 @@ entry:
|
||||
%smod = srem i32 %ashr139, 2
|
||||
%158 = getelementptr inbounds [3 x i8], ptr %xx, i64 0, i64 0
|
||||
%shl140 = shl i32 %smod, 3
|
||||
%ztrunc141 = trunc i32 %shl140 to i8
|
||||
%trunc141 = trunc i32 %shl140 to i8
|
||||
%159 = load i8, ptr %158, align 1
|
||||
%160 = and i8 %159, 7
|
||||
%161 = or i8 %160, %ztrunc141
|
||||
%161 = or i8 %160, %trunc141
|
||||
store i8 %161, ptr %158, align 1
|
||||
%lshrl142 = lshr i32 %smod, 5
|
||||
%162 = getelementptr inbounds [3 x i8], ptr %xx, i64 0, i64 1
|
||||
%ztrunc143 = trunc i32 %lshrl142 to i8
|
||||
%163 = and i8 %ztrunc143, 1
|
||||
%trunc143 = trunc i32 %lshrl142 to i8
|
||||
%163 = and i8 %trunc143, 1
|
||||
%164 = load i8, ptr %162, align 1
|
||||
%165 = and i8 %164, -2
|
||||
%166 = or i8 %165, %163
|
||||
@@ -766,8 +766,8 @@ entry:
|
||||
%sub = sub i32 %ashr10, 1
|
||||
%13 = getelementptr inbounds [3 x i8], ptr %xx, i64 0, i64 0
|
||||
%shl11 = shl i32 %sub, 1
|
||||
%ztrunc = trunc i32 %shl11 to i8
|
||||
%14 = and i8 %ztrunc, 15
|
||||
%trunc = trunc i32 %shl11 to i8
|
||||
%14 = and i8 %trunc, 15
|
||||
%15 = load i8, ptr %13, align 1
|
||||
%16 = and i8 %15, -15
|
||||
%17 = or i8 %16, %14
|
||||
@@ -805,15 +805,15 @@ entry:
|
||||
%mul = mul i32 %ashr28, 2
|
||||
%30 = getelementptr inbounds [3 x i8], ptr %xx, i64 0, i64 0
|
||||
%shl29 = shl i32 %mul, 4
|
||||
%ztrunc30 = trunc i32 %shl29 to i8
|
||||
%trunc30 = trunc i32 %shl29 to i8
|
||||
%31 = load i8, ptr %30, align 1
|
||||
%32 = and i8 %31, 15
|
||||
%33 = or i8 %32, %ztrunc30
|
||||
%33 = or i8 %32, %trunc30
|
||||
store i8 %33, ptr %30, align 1
|
||||
%lshrl31 = lshr i32 %mul, 4
|
||||
%34 = getelementptr inbounds [3 x i8], ptr %xx, i64 0, i64 1
|
||||
%ztrunc32 = trunc i32 %lshrl31 to i8
|
||||
%35 = and i8 %ztrunc32, 3
|
||||
%trunc32 = trunc i32 %lshrl31 to i8
|
||||
%35 = and i8 %trunc32, 3
|
||||
%36 = load i8, ptr %34, align 1
|
||||
%37 = and i8 %36, -4
|
||||
%38 = or i8 %37, %35
|
||||
@@ -850,15 +850,15 @@ entry:
|
||||
%xor = xor i32 %ashr48, 4
|
||||
%51 = getelementptr inbounds [3 x i8], ptr %xx, i64 0, i64 0
|
||||
%shl49 = shl i32 %xor, 4
|
||||
%ztrunc50 = trunc i32 %shl49 to i8
|
||||
%trunc50 = trunc i32 %shl49 to i8
|
||||
%52 = load i8, ptr %51, align 1
|
||||
%53 = and i8 %52, 15
|
||||
%54 = or i8 %53, %ztrunc50
|
||||
%54 = or i8 %53, %trunc50
|
||||
store i8 %54, ptr %51, align 1
|
||||
%lshrl51 = lshr i32 %xor, 4
|
||||
%55 = getelementptr inbounds [3 x i8], ptr %xx, i64 0, i64 1
|
||||
%ztrunc52 = trunc i32 %lshrl51 to i8
|
||||
%56 = and i8 %ztrunc52, 3
|
||||
%trunc52 = trunc i32 %lshrl51 to i8
|
||||
%56 = and i8 %trunc52, 3
|
||||
%57 = load i8, ptr %55, align 1
|
||||
%58 = and i8 %57, -4
|
||||
%59 = or i8 %58, %56
|
||||
@@ -895,15 +895,15 @@ entry:
|
||||
%or = or i32 %ashr68, 4
|
||||
%72 = getelementptr inbounds [3 x i8], ptr %xx, i64 0, i64 0
|
||||
%shl69 = shl i32 %or, 4
|
||||
%ztrunc70 = trunc i32 %shl69 to i8
|
||||
%trunc70 = trunc i32 %shl69 to i8
|
||||
%73 = load i8, ptr %72, align 1
|
||||
%74 = and i8 %73, 15
|
||||
%75 = or i8 %74, %ztrunc70
|
||||
%75 = or i8 %74, %trunc70
|
||||
store i8 %75, ptr %72, align 1
|
||||
%lshrl71 = lshr i32 %or, 4
|
||||
%76 = getelementptr inbounds [3 x i8], ptr %xx, i64 0, i64 1
|
||||
%ztrunc72 = trunc i32 %lshrl71 to i8
|
||||
%77 = and i8 %ztrunc72, 3
|
||||
%trunc72 = trunc i32 %lshrl71 to i8
|
||||
%77 = and i8 %trunc72, 3
|
||||
%78 = load i8, ptr %76, align 1
|
||||
%79 = and i8 %78, -4
|
||||
%80 = or i8 %79, %77
|
||||
@@ -941,15 +941,15 @@ entry:
|
||||
%93 = freeze i32 %shl89
|
||||
%94 = getelementptr inbounds [3 x i8], ptr %xx, i64 0, i64 0
|
||||
%shl90 = shl i32 %93, 4
|
||||
%ztrunc91 = trunc i32 %shl90 to i8
|
||||
%trunc91 = trunc i32 %shl90 to i8
|
||||
%95 = load i8, ptr %94, align 1
|
||||
%96 = and i8 %95, 15
|
||||
%97 = or i8 %96, %ztrunc91
|
||||
%97 = or i8 %96, %trunc91
|
||||
store i8 %97, ptr %94, align 1
|
||||
%lshrl92 = lshr i32 %93, 4
|
||||
%98 = getelementptr inbounds [3 x i8], ptr %xx, i64 0, i64 1
|
||||
%ztrunc93 = trunc i32 %lshrl92 to i8
|
||||
%99 = and i8 %ztrunc93, 3
|
||||
%trunc93 = trunc i32 %lshrl92 to i8
|
||||
%99 = and i8 %trunc93, 3
|
||||
%100 = load i8, ptr %98, align 1
|
||||
%101 = and i8 %100, -4
|
||||
%102 = or i8 %101, %99
|
||||
@@ -987,15 +987,15 @@ entry:
|
||||
%115 = freeze i32 %ashr110
|
||||
%116 = getelementptr inbounds [3 x i8], ptr %xx, i64 0, i64 0
|
||||
%shl111 = shl i32 %115, 4
|
||||
%ztrunc112 = trunc i32 %shl111 to i8
|
||||
%trunc112 = trunc i32 %shl111 to i8
|
||||
%117 = load i8, ptr %116, align 1
|
||||
%118 = and i8 %117, 15
|
||||
%119 = or i8 %118, %ztrunc112
|
||||
%119 = or i8 %118, %trunc112
|
||||
store i8 %119, ptr %116, align 1
|
||||
%lshrl113 = lshr i32 %115, 4
|
||||
%120 = getelementptr inbounds [3 x i8], ptr %xx, i64 0, i64 1
|
||||
%ztrunc114 = trunc i32 %lshrl113 to i8
|
||||
%121 = and i8 %ztrunc114, 3
|
||||
%trunc114 = trunc i32 %lshrl113 to i8
|
||||
%121 = and i8 %trunc114, 3
|
||||
%122 = load i8, ptr %120, align 1
|
||||
%123 = and i8 %122, -4
|
||||
%124 = or i8 %123, %121
|
||||
@@ -1032,15 +1032,15 @@ entry:
|
||||
%sdiv = sdiv i32 %ashr130, 2
|
||||
%137 = getelementptr inbounds [3 x i8], ptr %xx, i64 0, i64 0
|
||||
%shl131 = shl i32 %sdiv, 4
|
||||
%ztrunc132 = trunc i32 %shl131 to i8
|
||||
%trunc132 = trunc i32 %shl131 to i8
|
||||
%138 = load i8, ptr %137, align 1
|
||||
%139 = and i8 %138, 15
|
||||
%140 = or i8 %139, %ztrunc132
|
||||
%140 = or i8 %139, %trunc132
|
||||
store i8 %140, ptr %137, align 1
|
||||
%lshrl133 = lshr i32 %sdiv, 4
|
||||
%141 = getelementptr inbounds [3 x i8], ptr %xx, i64 0, i64 1
|
||||
%ztrunc134 = trunc i32 %lshrl133 to i8
|
||||
%142 = and i8 %ztrunc134, 3
|
||||
%trunc134 = trunc i32 %lshrl133 to i8
|
||||
%142 = and i8 %trunc134, 3
|
||||
%143 = load i8, ptr %141, align 1
|
||||
%144 = and i8 %143, -4
|
||||
%145 = or i8 %144, %142
|
||||
@@ -1077,15 +1077,15 @@ entry:
|
||||
%smod = srem i32 %ashr150, 2
|
||||
%158 = getelementptr inbounds [3 x i8], ptr %xx, i64 0, i64 0
|
||||
%shl151 = shl i32 %smod, 4
|
||||
%ztrunc152 = trunc i32 %shl151 to i8
|
||||
%trunc152 = trunc i32 %shl151 to i8
|
||||
%159 = load i8, ptr %158, align 1
|
||||
%160 = and i8 %159, 15
|
||||
%161 = or i8 %160, %ztrunc152
|
||||
%161 = or i8 %160, %trunc152
|
||||
store i8 %161, ptr %158, align 1
|
||||
%lshrl153 = lshr i32 %smod, 4
|
||||
%162 = getelementptr inbounds [3 x i8], ptr %xx, i64 0, i64 1
|
||||
%ztrunc154 = trunc i32 %lshrl153 to i8
|
||||
%163 = and i8 %ztrunc154, 3
|
||||
%trunc154 = trunc i32 %lshrl153 to i8
|
||||
%163 = and i8 %trunc154, 3
|
||||
%164 = load i8, ptr %162, align 1
|
||||
%165 = and i8 %164, -4
|
||||
%166 = or i8 %165, %163
|
||||
|
||||
@@ -129,8 +129,8 @@ loop.exit15: ; preds = %loop.cond8
|
||||
%39 = load i32, ptr %abc, align 4
|
||||
%40 = call i32 @llvm.bswap.i32(i32 %39)
|
||||
%41 = and i32 65535, %40
|
||||
%ztrunc = trunc i32 %41 to i16
|
||||
store i16 %ztrunc, ptr %taddr21, align 2
|
||||
%trunc = trunc i32 %41 to i16
|
||||
store i16 %trunc, ptr %taddr21, align 2
|
||||
%42 = insertvalue %variant undef, ptr %taddr21, 0
|
||||
%43 = insertvalue %variant %42, i64 ptrtoint (ptr @"$ct.ushort" to i64), 1
|
||||
%44 = getelementptr inbounds [1 x %variant], ptr %varargslots20, i64 0, i64 0
|
||||
@@ -151,8 +151,8 @@ loop.exit15: ; preds = %loop.cond8
|
||||
%56 = load i32, ptr %abc, align 4
|
||||
%57 = call i32 @llvm.bswap.i32(i32 %56)
|
||||
%58 = and i32 65535, %57
|
||||
%ztrunc24 = trunc i32 %58 to i16
|
||||
store i16 %ztrunc24, ptr %taddr25, align 2
|
||||
%trunc24 = trunc i32 %58 to i16
|
||||
store i16 %trunc24, ptr %taddr25, align 2
|
||||
%59 = insertvalue %variant undef, ptr %taddr25, 0
|
||||
%60 = insertvalue %variant %59, i64 ptrtoint (ptr @"$ct.ushort" to i64), 1
|
||||
%61 = getelementptr inbounds [1 x %variant], ptr %varargslots23, i64 0, i64 0
|
||||
|
||||
@@ -130,20 +130,20 @@ entry:
|
||||
%21 = getelementptr inbounds [8 x i8], ptr %b, i64 0, i64 7
|
||||
store i8 0, ptr %21, align 1
|
||||
%22 = getelementptr inbounds [8 x i8], ptr %b, i64 0, i64 0
|
||||
%ztrunc = trunc i32 %0 to i8
|
||||
store i8 %ztrunc, ptr %22, align 1
|
||||
%trunc = trunc i32 %0 to i8
|
||||
store i8 %trunc, ptr %22, align 1
|
||||
%lshrl = lshr i32 %0, 8
|
||||
%23 = getelementptr inbounds [8 x i8], ptr %b, i64 0, i64 1
|
||||
%ztrunc2 = trunc i32 %lshrl to i8
|
||||
store i8 %ztrunc2, ptr %23, align 1
|
||||
%trunc2 = trunc i32 %lshrl to i8
|
||||
store i8 %trunc2, ptr %23, align 1
|
||||
%lshrl3 = lshr i32 %lshrl, 8
|
||||
%24 = getelementptr inbounds [8 x i8], ptr %b, i64 0, i64 2
|
||||
%ztrunc4 = trunc i32 %lshrl3 to i8
|
||||
store i8 %ztrunc4, ptr %24, align 1
|
||||
%trunc4 = trunc i32 %lshrl3 to i8
|
||||
store i8 %trunc4, ptr %24, align 1
|
||||
%lshrl5 = lshr i32 %lshrl3, 8
|
||||
%25 = getelementptr inbounds [8 x i8], ptr %b, i64 0, i64 3
|
||||
%ztrunc6 = trunc i32 %lshrl5 to i8
|
||||
store i8 %ztrunc6, ptr %25, align 1
|
||||
%trunc6 = trunc i32 %lshrl5 to i8
|
||||
store i8 %trunc6, ptr %25, align 1
|
||||
%lshrl7 = lshr i32 %lshrl5, 8
|
||||
%lt8 = icmp slt i32 %0, 100
|
||||
%26 = zext i1 %lt8 to i8
|
||||
@@ -155,8 +155,8 @@ entry:
|
||||
store i8 %30, ptr %27, align 1
|
||||
%31 = load i64, ptr %x, align 8
|
||||
%32 = and i64 4294967295, %31
|
||||
%ztrunc10 = trunc i64 %32 to i32
|
||||
store i32 %ztrunc10, ptr %taddr, align 4
|
||||
%trunc10 = trunc i64 %32 to i32
|
||||
store i32 %trunc10, ptr %taddr, align 4
|
||||
%33 = insertvalue %variant undef, ptr %taddr, 0
|
||||
%34 = insertvalue %variant %33, i64 ptrtoint (ptr @"$ct.uint" to i64), 1
|
||||
%35 = getelementptr inbounds [3 x %variant], ptr %varargslots, i64 0, i64 0
|
||||
@@ -164,8 +164,8 @@ entry:
|
||||
%36 = load i64, ptr %x, align 8
|
||||
%lshrl11 = lshr i64 %36, 32
|
||||
%37 = and i64 2147483647, %lshrl11
|
||||
%ztrunc12 = trunc i64 %37 to i32
|
||||
store i32 %ztrunc12, ptr %taddr13, align 4
|
||||
%trunc12 = trunc i64 %37 to i32
|
||||
store i32 %trunc12, ptr %taddr13, align 4
|
||||
%38 = insertvalue %variant undef, ptr %taddr13, 0
|
||||
%39 = insertvalue %variant %38, i64 ptrtoint (ptr @"$ct.uint" to i64), 1
|
||||
%40 = getelementptr inbounds [3 x %variant], ptr %varargslots, i64 0, i64 1
|
||||
@@ -173,8 +173,8 @@ entry:
|
||||
%41 = load i64, ptr %x, align 8
|
||||
%lshrl14 = lshr i64 %41, 63
|
||||
%42 = and i64 1, %lshrl14
|
||||
%ztrunc15 = trunc i64 %42 to i8
|
||||
store i8 %ztrunc15, ptr %taddr16, align 1
|
||||
%trunc15 = trunc i64 %42 to i8
|
||||
store i8 %trunc15, ptr %taddr16, align 1
|
||||
%43 = insertvalue %variant undef, ptr %taddr16, 0
|
||||
%44 = insertvalue %variant %43, i64 ptrtoint (ptr @"$ct.bool" to i64), 1
|
||||
%45 = getelementptr inbounds [3 x %variant], ptr %varargslots, i64 0, i64 2
|
||||
@@ -183,8 +183,8 @@ entry:
|
||||
%47 = getelementptr inbounds %Abc, ptr %y, i32 0, i32 1
|
||||
%48 = load i64, ptr %47, align 8
|
||||
%49 = and i64 4294967295, %48
|
||||
%ztrunc19 = trunc i64 %49 to i32
|
||||
store i32 %ztrunc19, ptr %taddr20, align 4
|
||||
%trunc19 = trunc i64 %49 to i32
|
||||
store i32 %trunc19, ptr %taddr20, align 4
|
||||
%50 = insertvalue %variant undef, ptr %taddr20, 0
|
||||
%51 = insertvalue %variant %50, i64 ptrtoint (ptr @"$ct.uint" to i64), 1
|
||||
%52 = getelementptr inbounds [3 x %variant], ptr %varargslots18, i64 0, i64 0
|
||||
@@ -193,8 +193,8 @@ entry:
|
||||
%54 = load i64, ptr %53, align 8
|
||||
%lshrl21 = lshr i64 %54, 32
|
||||
%55 = and i64 2147483647, %lshrl21
|
||||
%ztrunc22 = trunc i64 %55 to i32
|
||||
store i32 %ztrunc22, ptr %taddr23, align 4
|
||||
%trunc22 = trunc i64 %55 to i32
|
||||
store i32 %trunc22, ptr %taddr23, align 4
|
||||
%56 = insertvalue %variant undef, ptr %taddr23, 0
|
||||
%57 = insertvalue %variant %56, i64 ptrtoint (ptr @"$ct.uint" to i64), 1
|
||||
%58 = getelementptr inbounds [3 x %variant], ptr %varargslots18, i64 0, i64 1
|
||||
@@ -203,8 +203,8 @@ entry:
|
||||
%60 = load i64, ptr %59, align 8
|
||||
%lshrl24 = lshr i64 %60, 63
|
||||
%61 = and i64 1, %lshrl24
|
||||
%ztrunc25 = trunc i64 %61 to i8
|
||||
store i8 %ztrunc25, ptr %taddr26, align 1
|
||||
%trunc25 = trunc i64 %61 to i8
|
||||
store i8 %trunc25, ptr %taddr26, align 1
|
||||
%62 = insertvalue %variant undef, ptr %taddr26, 0
|
||||
%63 = insertvalue %variant %62, i64 ptrtoint (ptr @"$ct.bool" to i64), 1
|
||||
%64 = getelementptr inbounds [3 x %variant], ptr %varargslots18, i64 0, i64 2
|
||||
@@ -301,20 +301,20 @@ entry:
|
||||
store i8 0, ptr %118, align 1
|
||||
%add50 = add i32 %0, 1
|
||||
%119 = getelementptr inbounds [8 x i8], ptr %b, i64 0, i64 0
|
||||
%ztrunc51 = trunc i32 %add50 to i8
|
||||
store i8 %ztrunc51, ptr %119, align 1
|
||||
%trunc51 = trunc i32 %add50 to i8
|
||||
store i8 %trunc51, ptr %119, align 1
|
||||
%lshrl52 = lshr i32 %add50, 8
|
||||
%120 = getelementptr inbounds [8 x i8], ptr %b, i64 0, i64 1
|
||||
%ztrunc53 = trunc i32 %lshrl52 to i8
|
||||
store i8 %ztrunc53, ptr %120, align 1
|
||||
%trunc53 = trunc i32 %lshrl52 to i8
|
||||
store i8 %trunc53, ptr %120, align 1
|
||||
%lshrl54 = lshr i32 %lshrl52, 8
|
||||
%121 = getelementptr inbounds [8 x i8], ptr %b, i64 0, i64 2
|
||||
%ztrunc55 = trunc i32 %lshrl54 to i8
|
||||
store i8 %ztrunc55, ptr %121, align 1
|
||||
%trunc55 = trunc i32 %lshrl54 to i8
|
||||
store i8 %trunc55, ptr %121, align 1
|
||||
%lshrl56 = lshr i32 %lshrl54, 8
|
||||
%122 = getelementptr inbounds [8 x i8], ptr %b, i64 0, i64 3
|
||||
%ztrunc57 = trunc i32 %lshrl56 to i8
|
||||
store i8 %ztrunc57, ptr %122, align 1
|
||||
%trunc57 = trunc i32 %lshrl56 to i8
|
||||
store i8 %trunc57, ptr %122, align 1
|
||||
%lshrl58 = lshr i32 %lshrl56, 8
|
||||
%123 = getelementptr inbounds [8 x i8], ptr %b, i64 0, i64 4
|
||||
store i8 1, ptr %123, align 1
|
||||
@@ -336,8 +336,8 @@ entry:
|
||||
store i8 %133, ptr %130, align 1
|
||||
%134 = load i64, ptr %x, align 8
|
||||
%135 = and i64 4294967295, %134
|
||||
%ztrunc63 = trunc i64 %135 to i32
|
||||
store i32 %ztrunc63, ptr %taddr64, align 4
|
||||
%trunc63 = trunc i64 %135 to i32
|
||||
store i32 %trunc63, ptr %taddr64, align 4
|
||||
%136 = insertvalue %variant undef, ptr %taddr64, 0
|
||||
%137 = insertvalue %variant %136, i64 ptrtoint (ptr @"$ct.uint" to i64), 1
|
||||
%138 = getelementptr inbounds [3 x %variant], ptr %varargslots62, i64 0, i64 0
|
||||
@@ -345,8 +345,8 @@ entry:
|
||||
%139 = load i64, ptr %x, align 8
|
||||
%lshrl65 = lshr i64 %139, 32
|
||||
%140 = and i64 2147483647, %lshrl65
|
||||
%ztrunc66 = trunc i64 %140 to i32
|
||||
store i32 %ztrunc66, ptr %taddr67, align 4
|
||||
%trunc66 = trunc i64 %140 to i32
|
||||
store i32 %trunc66, ptr %taddr67, align 4
|
||||
%141 = insertvalue %variant undef, ptr %taddr67, 0
|
||||
%142 = insertvalue %variant %141, i64 ptrtoint (ptr @"$ct.uint" to i64), 1
|
||||
%143 = getelementptr inbounds [3 x %variant], ptr %varargslots62, i64 0, i64 1
|
||||
@@ -354,8 +354,8 @@ entry:
|
||||
%144 = load i64, ptr %x, align 8
|
||||
%lshrl68 = lshr i64 %144, 63
|
||||
%145 = and i64 1, %lshrl68
|
||||
%ztrunc69 = trunc i64 %145 to i8
|
||||
store i8 %ztrunc69, ptr %taddr70, align 1
|
||||
%trunc69 = trunc i64 %145 to i8
|
||||
store i8 %trunc69, ptr %taddr70, align 1
|
||||
%146 = insertvalue %variant undef, ptr %taddr70, 0
|
||||
%147 = insertvalue %variant %146, i64 ptrtoint (ptr @"$ct.bool" to i64), 1
|
||||
%148 = getelementptr inbounds [3 x %variant], ptr %varargslots62, i64 0, i64 2
|
||||
@@ -364,8 +364,8 @@ entry:
|
||||
%150 = getelementptr inbounds %Abc, ptr %y, i32 0, i32 1
|
||||
%151 = load i64, ptr %150, align 8
|
||||
%152 = and i64 4294967295, %151
|
||||
%ztrunc73 = trunc i64 %152 to i32
|
||||
store i32 %ztrunc73, ptr %taddr74, align 4
|
||||
%trunc73 = trunc i64 %152 to i32
|
||||
store i32 %trunc73, ptr %taddr74, align 4
|
||||
%153 = insertvalue %variant undef, ptr %taddr74, 0
|
||||
%154 = insertvalue %variant %153, i64 ptrtoint (ptr @"$ct.uint" to i64), 1
|
||||
%155 = getelementptr inbounds [3 x %variant], ptr %varargslots72, i64 0, i64 0
|
||||
@@ -374,8 +374,8 @@ entry:
|
||||
%157 = load i64, ptr %156, align 8
|
||||
%lshrl75 = lshr i64 %157, 32
|
||||
%158 = and i64 2147483647, %lshrl75
|
||||
%ztrunc76 = trunc i64 %158 to i32
|
||||
store i32 %ztrunc76, ptr %taddr77, align 4
|
||||
%trunc76 = trunc i64 %158 to i32
|
||||
store i32 %trunc76, ptr %taddr77, align 4
|
||||
%159 = insertvalue %variant undef, ptr %taddr77, 0
|
||||
%160 = insertvalue %variant %159, i64 ptrtoint (ptr @"$ct.uint" to i64), 1
|
||||
%161 = getelementptr inbounds [3 x %variant], ptr %varargslots72, i64 0, i64 1
|
||||
@@ -384,8 +384,8 @@ entry:
|
||||
%163 = load i64, ptr %162, align 8
|
||||
%lshrl78 = lshr i64 %163, 63
|
||||
%164 = and i64 1, %lshrl78
|
||||
%ztrunc79 = trunc i64 %164 to i8
|
||||
store i8 %ztrunc79, ptr %taddr80, align 1
|
||||
%trunc79 = trunc i64 %164 to i8
|
||||
store i8 %trunc79, ptr %taddr80, align 1
|
||||
%165 = insertvalue %variant undef, ptr %taddr80, 0
|
||||
%166 = insertvalue %variant %165, i64 ptrtoint (ptr @"$ct.bool" to i64), 1
|
||||
%167 = getelementptr inbounds [3 x %variant], ptr %varargslots72, i64 0, i64 2
|
||||
|
||||
@@ -74,32 +74,32 @@ entry:
|
||||
%4 = load i64, ptr %xxy, align 8
|
||||
%lshrl3 = lshr i64 %4, 5
|
||||
%5 = and i64 262143, %lshrl3
|
||||
%ztrunc = trunc i64 %5 to i32
|
||||
%trunc = trunc i64 %5 to i32
|
||||
%6 = load i64, ptr %xxy, align 8
|
||||
%lshrl4 = lshr i64 %6, 23
|
||||
%7 = and i64 262143, %lshrl4
|
||||
%ztrunc5 = trunc i64 %7 to i32
|
||||
%trunc5 = trunc i64 %7 to i32
|
||||
%8 = load i64, ptr %xxy, align 8
|
||||
%lshrl6 = lshr i64 %8, 41
|
||||
%9 = and i64 2097151, %lshrl6
|
||||
%ztrunc7 = trunc i64 %9 to i32
|
||||
call void (ptr, ...) @printf(ptr @.str.3, i32 %ztrunc, i32 %ztrunc5, i32 %ztrunc7)
|
||||
%trunc7 = trunc i64 %9 to i32
|
||||
call void (ptr, ...) @printf(ptr @.str.3, i32 %trunc, i32 %trunc5, i32 %trunc7)
|
||||
store i64 2292133196431502101, ptr %xxybe, align 8
|
||||
%10 = load i64, ptr %xxybe, align 8
|
||||
%11 = call i64 @llvm.bswap.i64(i64 %10)
|
||||
%lshrl8 = lshr i64 %11, 5
|
||||
%12 = and i64 262143, %lshrl8
|
||||
%ztrunc9 = trunc i64 %12 to i32
|
||||
%trunc9 = trunc i64 %12 to i32
|
||||
%13 = load i64, ptr %xxybe, align 8
|
||||
%14 = call i64 @llvm.bswap.i64(i64 %13)
|
||||
%lshrl10 = lshr i64 %14, 23
|
||||
%15 = and i64 262143, %lshrl10
|
||||
%ztrunc11 = trunc i64 %15 to i32
|
||||
%trunc11 = trunc i64 %15 to i32
|
||||
%16 = load i64, ptr %xxybe, align 8
|
||||
%17 = call i64 @llvm.bswap.i64(i64 %16)
|
||||
%lshrl12 = lshr i64 %17, 41
|
||||
%18 = and i64 2097151, %lshrl12
|
||||
%ztrunc13 = trunc i64 %18 to i32
|
||||
call void (ptr, ...) @printf(ptr @.str.4, i32 %ztrunc9, i32 %ztrunc11, i32 %ztrunc13)
|
||||
%trunc13 = trunc i64 %18 to i32
|
||||
call void (ptr, ...) @printf(ptr @.str.4, i32 %trunc9, i32 %trunc11, i32 %trunc13)
|
||||
ret void
|
||||
}
|
||||
@@ -95,8 +95,8 @@ entry:
|
||||
store i32 %and, ptr %f3, align 4
|
||||
%5 = load i32, ptr %f3, align 4
|
||||
%6 = and i32 1, %5
|
||||
%ztrunc = trunc i32 %6 to i8
|
||||
store i8 %ztrunc, ptr %taddr, align 1
|
||||
%trunc = trunc i32 %6 to i8
|
||||
store i8 %trunc, ptr %taddr, align 1
|
||||
%7 = insertvalue %variant undef, ptr %taddr, 0
|
||||
%8 = insertvalue %variant %7, i64 ptrtoint (ptr @"$ct.bool" to i64), 1
|
||||
%9 = getelementptr inbounds [2 x %variant], ptr %varargslots, i64 0, i64 0
|
||||
@@ -104,8 +104,8 @@ entry:
|
||||
%10 = load i32, ptr %f3, align 4
|
||||
%lshrl = lshr i32 %10, 1
|
||||
%11 = and i32 1, %lshrl
|
||||
%ztrunc1 = trunc i32 %11 to i8
|
||||
store i8 %ztrunc1, ptr %taddr2, align 1
|
||||
%trunc1 = trunc i32 %11 to i8
|
||||
store i8 %trunc1, ptr %taddr2, align 1
|
||||
%12 = insertvalue %variant undef, ptr %taddr2, 0
|
||||
%13 = insertvalue %variant %12, i64 ptrtoint (ptr @"$ct.bool" to i64), 1
|
||||
%14 = getelementptr inbounds [2 x %variant], ptr %varargslots, i64 0, i64 1
|
||||
@@ -120,8 +120,8 @@ entry:
|
||||
store i32 %xor, ptr %f4, align 4
|
||||
%19 = load i32, ptr %f4, align 4
|
||||
%20 = and i32 1, %19
|
||||
%ztrunc5 = trunc i32 %20 to i8
|
||||
store i8 %ztrunc5, ptr %taddr6, align 1
|
||||
%trunc5 = trunc i32 %20 to i8
|
||||
store i8 %trunc5, ptr %taddr6, align 1
|
||||
%21 = insertvalue %variant undef, ptr %taddr6, 0
|
||||
%22 = insertvalue %variant %21, i64 ptrtoint (ptr @"$ct.bool" to i64), 1
|
||||
%23 = getelementptr inbounds [2 x %variant], ptr %varargslots4, i64 0, i64 0
|
||||
@@ -129,8 +129,8 @@ entry:
|
||||
%24 = load i32, ptr %f4, align 4
|
||||
%lshrl7 = lshr i32 %24, 1
|
||||
%25 = and i32 1, %lshrl7
|
||||
%ztrunc8 = trunc i32 %25 to i8
|
||||
store i8 %ztrunc8, ptr %taddr9, align 1
|
||||
%trunc8 = trunc i32 %25 to i8
|
||||
store i8 %trunc8, ptr %taddr9, align 1
|
||||
%26 = insertvalue %variant undef, ptr %taddr9, 0
|
||||
%27 = insertvalue %variant %26, i64 ptrtoint (ptr @"$ct.bool" to i64), 1
|
||||
%28 = getelementptr inbounds [2 x %variant], ptr %varargslots4, i64 0, i64 1
|
||||
@@ -139,8 +139,8 @@ entry:
|
||||
store i32 3, ptr %f5, align 4
|
||||
%30 = load i32, ptr %f5, align 4
|
||||
%31 = and i32 1, %30
|
||||
%ztrunc12 = trunc i32 %31 to i8
|
||||
store i8 %ztrunc12, ptr %taddr13, align 1
|
||||
%trunc12 = trunc i32 %31 to i8
|
||||
store i8 %trunc12, ptr %taddr13, align 1
|
||||
%32 = insertvalue %variant undef, ptr %taddr13, 0
|
||||
%33 = insertvalue %variant %32, i64 ptrtoint (ptr @"$ct.bool" to i64), 1
|
||||
%34 = getelementptr inbounds [2 x %variant], ptr %varargslots11, i64 0, i64 0
|
||||
@@ -148,8 +148,8 @@ entry:
|
||||
%35 = load i32, ptr %f5, align 4
|
||||
%lshrl14 = lshr i32 %35, 1
|
||||
%36 = and i32 1, %lshrl14
|
||||
%ztrunc15 = trunc i32 %36 to i8
|
||||
store i8 %ztrunc15, ptr %taddr16, align 1
|
||||
%trunc15 = trunc i32 %36 to i8
|
||||
store i8 %trunc15, ptr %taddr16, align 1
|
||||
%37 = insertvalue %variant undef, ptr %taddr16, 0
|
||||
%38 = insertvalue %variant %37, i64 ptrtoint (ptr @"$ct.bool" to i64), 1
|
||||
%39 = getelementptr inbounds [2 x %variant], ptr %varargslots11, i64 0, i64 1
|
||||
@@ -161,8 +161,8 @@ entry:
|
||||
store i32 %and17, ptr %f5, align 4
|
||||
%43 = load i32, ptr %f5, align 4
|
||||
%44 = and i32 1, %43
|
||||
%ztrunc20 = trunc i32 %44 to i8
|
||||
store i8 %ztrunc20, ptr %taddr21, align 1
|
||||
%trunc20 = trunc i32 %44 to i8
|
||||
store i8 %trunc20, ptr %taddr21, align 1
|
||||
%45 = insertvalue %variant undef, ptr %taddr21, 0
|
||||
%46 = insertvalue %variant %45, i64 ptrtoint (ptr @"$ct.bool" to i64), 1
|
||||
%47 = getelementptr inbounds [2 x %variant], ptr %varargslots19, i64 0, i64 0
|
||||
@@ -170,8 +170,8 @@ entry:
|
||||
%48 = load i32, ptr %f5, align 4
|
||||
%lshrl22 = lshr i32 %48, 1
|
||||
%49 = and i32 1, %lshrl22
|
||||
%ztrunc23 = trunc i32 %49 to i8
|
||||
store i8 %ztrunc23, ptr %taddr24, align 1
|
||||
%trunc23 = trunc i32 %49 to i8
|
||||
store i8 %trunc23, ptr %taddr24, align 1
|
||||
%50 = insertvalue %variant undef, ptr %taddr24, 0
|
||||
%51 = insertvalue %variant %50, i64 ptrtoint (ptr @"$ct.bool" to i64), 1
|
||||
%52 = getelementptr inbounds [2 x %variant], ptr %varargslots19, i64 0, i64 1
|
||||
|
||||
@@ -18,5 +18,5 @@ fn void tester()
|
||||
store i16 %ptrxi, ptr %y, align 2
|
||||
%1 = load ptr, ptr %x, align 8
|
||||
%ptrxi1 = ptrtoint ptr %1 to i16
|
||||
%siuiext = sext i16 %ptrxi1 to i64
|
||||
store i64 %siuiext, ptr %z, align 8
|
||||
%sext = sext i16 %ptrxi1 to i64
|
||||
store i64 %sext, ptr %z, align 8
|
||||
|
||||
@@ -27,58 +27,58 @@ entry:
|
||||
store i32 0, ptr %x, align 4
|
||||
store i32 0, ptr %y, align 4
|
||||
%0 = load i32, ptr %x, align 4
|
||||
%sisiext = sext i32 %0 to i64
|
||||
%sext = sext i32 %0 to i64
|
||||
%1 = load i32, ptr %y, align 4
|
||||
%sisiext1 = sext i32 %1 to i64
|
||||
%mul = mul i64 %sisiext, %sisiext1
|
||||
%sext1 = sext i32 %1 to i64
|
||||
%mul = mul i64 %sext, %sext1
|
||||
store i64 %mul, ptr %z, align 8
|
||||
%2 = load i32, ptr %x, align 4
|
||||
%sisiext2 = sext i32 %2 to i64
|
||||
%sext2 = sext i32 %2 to i64
|
||||
%3 = load i32, ptr %y, align 4
|
||||
%sisiext3 = sext i32 %3 to i64
|
||||
%sdiv = sdiv i64 %sisiext2, %sisiext3
|
||||
%sext3 = sext i32 %3 to i64
|
||||
%sdiv = sdiv i64 %sext2, %sext3
|
||||
store i64 %sdiv, ptr %z, align 8
|
||||
%4 = load i32, ptr %x, align 4
|
||||
%sisiext4 = sext i32 %4 to i64
|
||||
%sext4 = sext i32 %4 to i64
|
||||
%5 = load i32, ptr %y, align 4
|
||||
%sisiext5 = sext i32 %5 to i64
|
||||
%add = add i64 %sisiext4, %sisiext5
|
||||
%sext5 = sext i32 %5 to i64
|
||||
%add = add i64 %sext4, %sext5
|
||||
store i64 %add, ptr %z, align 8
|
||||
%6 = load i32, ptr %x, align 4
|
||||
%sisiext6 = sext i32 %6 to i64
|
||||
%sext6 = sext i32 %6 to i64
|
||||
%7 = load i32, ptr %y, align 4
|
||||
%sisiext7 = sext i32 %7 to i64
|
||||
%sub = sub i64 %sisiext6, %sisiext7
|
||||
%sext7 = sext i32 %7 to i64
|
||||
%sub = sub i64 %sext6, %sext7
|
||||
store i64 %sub, ptr %z, align 8
|
||||
%8 = load i32, ptr %x, align 4
|
||||
%sisiext8 = sext i32 %8 to i64
|
||||
%sext8 = sext i32 %8 to i64
|
||||
%9 = load i32, ptr %y, align 4
|
||||
%sisiext9 = sext i32 %9 to i64
|
||||
%smod = srem i64 %sisiext8, %sisiext9
|
||||
%sext9 = sext i32 %9 to i64
|
||||
%smod = srem i64 %sext8, %sext9
|
||||
store i64 %smod, ptr %z, align 8
|
||||
%10 = load i32, ptr %x, align 4
|
||||
%sisiext10 = sext i32 %10 to i64
|
||||
%sext10 = sext i32 %10 to i64
|
||||
%11 = load i32, ptr %y, align 4
|
||||
%zext = zext i32 %11 to i64
|
||||
%shl = shl i64 %sisiext10, %zext
|
||||
%shl = shl i64 %sext10, %zext
|
||||
%12 = freeze i64 %shl
|
||||
store i64 %12, ptr %z, align 8
|
||||
%13 = load i32, ptr %x, align 4
|
||||
%sisiext11 = sext i32 %13 to i64
|
||||
%sext11 = sext i32 %13 to i64
|
||||
%14 = load i32, ptr %y, align 4
|
||||
%zext12 = zext i32 %14 to i64
|
||||
%ashr = ashr i64 %sisiext11, %zext12
|
||||
%ashr = ashr i64 %sext11, %zext12
|
||||
%15 = freeze i64 %ashr
|
||||
store i64 %15, ptr %z, align 8
|
||||
%16 = load i32, ptr %x, align 4
|
||||
%sisiext13 = sext i32 %16 to i64
|
||||
%bnot = xor i64 %sisiext13, -1
|
||||
%sext13 = sext i32 %16 to i64
|
||||
%bnot = xor i64 %sext13, -1
|
||||
store i64 %bnot, ptr %z, align 8
|
||||
%17 = load i32, ptr %x, align 4
|
||||
%sisiext14 = sext i32 %17 to i64
|
||||
%sext14 = sext i32 %17 to i64
|
||||
%18 = load i32, ptr %x, align 4
|
||||
%sisiext15 = sext i32 %18 to i64
|
||||
%neg = sub i64 0, %sisiext15
|
||||
%sext15 = sext i32 %18 to i64
|
||||
%neg = sub i64 0, %sext15
|
||||
store i64 %neg, ptr %z, align 8
|
||||
store i64 0, ptr %w.f, align 8
|
||||
store i32 0, ptr %w, align 4
|
||||
@@ -89,14 +89,14 @@ entry:
|
||||
|
||||
after_check: ; preds = %entry
|
||||
%20 = load i32, ptr %w, align 4
|
||||
%sisiext16 = sext i32 %20 to i64
|
||||
%sext16 = sext i32 %20 to i64
|
||||
br label %phi_block
|
||||
|
||||
else_block: ; preds = %entry
|
||||
br label %phi_block
|
||||
|
||||
phi_block: ; preds = %else_block, %after_check
|
||||
%val = phi i64 [ %sisiext16, %after_check ], [ 1, %else_block ]
|
||||
%val = phi i64 [ %sext16, %after_check ], [ 1, %else_block ]
|
||||
store i64 %val, ptr %z, align 8
|
||||
ret void
|
||||
}
|
||||
@@ -178,9 +178,9 @@ define ptr @test.rangematch(ptr %0, i32 %1, i32 %2) #0 {
|
||||
entry:
|
||||
%le = icmp sle i32 %2, %1
|
||||
%3 = call i32 @tolower(i32 %2)
|
||||
%siuitrunc = trunc i32 %1 to i8
|
||||
%uisiext = zext i8 %siuitrunc to i32
|
||||
%4 = call i32 @tolower(i32 %uisiext)
|
||||
%trunc = trunc i32 %1 to i8
|
||||
%zext = zext i8 %trunc to i32
|
||||
%4 = call i32 @tolower(i32 %zext)
|
||||
%le1 = icmp sle i32 %3, %4
|
||||
%or = or i1 %le, %le1
|
||||
br i1 %or, label %if.then, label %if.exit
|
||||
@@ -245,10 +245,10 @@ define i32 @test.testing(ptr %0) #0 {
|
||||
entry:
|
||||
%1 = getelementptr inbounds %Test, ptr %0, i32 0, i32 1
|
||||
%2 = load i16, ptr %1, align 2
|
||||
%sisiext = sext i16 %2 to i32
|
||||
%sext = sext i16 %2 to i32
|
||||
%3 = getelementptr inbounds %Test, ptr %0, i32 0, i32 2
|
||||
%4 = load i32, ptr %3, align 4
|
||||
%add = add i32 %sisiext, %4
|
||||
%add = add i32 %sext, %4
|
||||
ret i32 %add
|
||||
}
|
||||
|
||||
@@ -261,8 +261,8 @@ entry:
|
||||
%add = add i32 %0, %3
|
||||
%4 = getelementptr inbounds %Test, ptr %a, i32 0, i32 1
|
||||
%5 = load i16, ptr %4, align 2
|
||||
%sisiext = sext i16 %5 to i32
|
||||
%add1 = add i32 %add, %sisiext
|
||||
%sext = sext i16 %5 to i32
|
||||
%add1 = add i32 %add, %sext
|
||||
%6 = getelementptr inbounds %Test, ptr %a, i32 0, i32 2
|
||||
%7 = load i32, ptr %6, align 4
|
||||
%add2 = add i32 %add1, %7
|
||||
@@ -281,10 +281,10 @@ entry:
|
||||
store i32 %3, ptr %ptroffset1, align 8
|
||||
%4 = getelementptr inbounds %Test, ptr %a, i32 0, i32 1
|
||||
%5 = load i16, ptr %4, align 2
|
||||
%sisiext = sext i16 %5 to i32
|
||||
%sext = sext i16 %5 to i32
|
||||
%6 = getelementptr inbounds %Test, ptr %a, i32 0, i32 2
|
||||
%7 = load i32, ptr %6, align 4
|
||||
%add = add i32 %sisiext, %7
|
||||
%add = add i32 %sext, %7
|
||||
%8 = getelementptr inbounds %Test, ptr %b, i32 0, i32 2
|
||||
%9 = load i32, ptr %8, align 4
|
||||
%add2 = add i32 %add, %9
|
||||
|
||||
@@ -153,8 +153,8 @@ entry:
|
||||
%8 = load i32, ptr %7, align 4
|
||||
%9 = getelementptr inbounds %FooSt, ptr %0, i32 0, i32 4
|
||||
%10 = load i16, ptr %9, align 4
|
||||
%sisiext = sext i16 %10 to i32
|
||||
%11 = call i32 @testE(i8 zeroext %2, i16 signext %4, i8 zeroext %6, i32 %8, i32 %sisiext, float 0x3FB99999A0000000)
|
||||
%sext = sext i16 %10 to i32
|
||||
%11 = call i32 @testE(i8 zeroext %2, i16 signext %4, i8 zeroext %6, i32 %8, i32 %sext, float 0x3FB99999A0000000)
|
||||
call void @llvm.memcpy.p0.p0.i32(ptr align 8 %indirectarg, ptr align 4 %0, i32 20, i1 false)
|
||||
%12 = call i32 @testF(ptr byval(%FooSt) align 8 %indirectarg, float 0x3FB99999A0000000)
|
||||
call void @llvm.memcpy.p0.p0.i32(ptr align 8 %indirectarg1, ptr align 4 %0, i32 20, i1 false)
|
||||
|
||||
@@ -462,10 +462,10 @@ loop.cond: ; preds = %loop.body, %entry
|
||||
|
||||
loop.body: ; preds = %loop.cond
|
||||
%4 = load i64, ptr %dstp, align 8
|
||||
%xiptr = inttoptr i64 %4 to ptr
|
||||
%ptroffset = getelementptr inbounds i8, ptr %xiptr, i64 0
|
||||
%siuitrunc = trunc i32 %1 to i8
|
||||
store i8 %siuitrunc, ptr %ptroffset, align 1
|
||||
%intptr = inttoptr i64 %4 to ptr
|
||||
%ptroffset = getelementptr inbounds i8, ptr %intptr, i64 0
|
||||
%trunc = trunc i32 %1 to i8
|
||||
store i8 %trunc, ptr %ptroffset, align 1
|
||||
%5 = load i64, ptr %dstp, align 8
|
||||
%add = add i64 %5, 1
|
||||
store i64 %add, ptr %dstp, align 8
|
||||
@@ -553,25 +553,25 @@ entry:
|
||||
|
||||
define zeroext i8 @foo.ptrFunc2(ptr byval([30 x ptr]) align 8 %0, i32 %1) #0 {
|
||||
entry:
|
||||
%sisiext = sext i32 %1 to i64
|
||||
%2 = getelementptr inbounds [30 x ptr], ptr %0, i64 0, i64 %sisiext
|
||||
%sext = sext i32 %1 to i64
|
||||
%2 = getelementptr inbounds [30 x ptr], ptr %0, i64 0, i64 %sext
|
||||
%3 = load ptr, ptr %2, align 8
|
||||
%4 = call i32 %3(i32 98)
|
||||
%siuitrunc = trunc i32 %4 to i8
|
||||
ret i8 %siuitrunc
|
||||
%trunc = trunc i32 %4 to i8
|
||||
ret i8 %trunc
|
||||
}
|
||||
|
||||
define zeroext i8 @foo.smallArgs(i8 zeroext %0, i8 zeroext %1, i8 zeroext %2, i8 zeroext %3) #0 {
|
||||
entry:
|
||||
%4 = call i32 @someFuncA()
|
||||
%uisiext = zext i8 %0 to i32
|
||||
%sub = sub i32 %uisiext, 1
|
||||
%siuitrunc = trunc i32 %sub to i8
|
||||
%uisiext1 = zext i8 %1 to i32
|
||||
%add = add i32 %uisiext1, 1
|
||||
%siuitrunc2 = trunc i32 %add to i8
|
||||
%uisiext3 = zext i8 %2 to i64
|
||||
%5 = call i8 @smallArgs2(i8 zeroext %siuitrunc, i8 zeroext %siuitrunc2, i64 %uisiext3, i8 zeroext %3, i8 zeroext %0)
|
||||
%zext = zext i8 %0 to i32
|
||||
%sub = sub i32 %zext, 1
|
||||
%trunc = trunc i32 %sub to i8
|
||||
%zext1 = zext i8 %1 to i32
|
||||
%add = add i32 %zext1, 1
|
||||
%trunc2 = trunc i32 %add to i8
|
||||
%zext3 = zext i8 %2 to i64
|
||||
%5 = call i8 @smallArgs2(i8 zeroext %trunc, i8 zeroext %trunc2, i64 %zext3, i8 zeroext %3, i8 zeroext %0)
|
||||
ret i8 %5
|
||||
}
|
||||
|
||||
@@ -600,15 +600,15 @@ if.exit: ; preds = %if.then, %entry
|
||||
%9 = getelementptr inbounds %Quad, ptr %0, i32 0, i32 1
|
||||
%10 = getelementptr inbounds %SubStruct, ptr %9, i32 0, i32 1
|
||||
%11 = load i16, ptr %10, align 2
|
||||
%sisiext = sext i16 %11 to i32
|
||||
%add = add i32 %sisiext, %1
|
||||
%sext = sext i16 %11 to i32
|
||||
%add = add i32 %sext, %1
|
||||
%12 = getelementptr inbounds %Quad, ptr %r, i32 0, i32 4
|
||||
%13 = load i32, ptr %12, align 4
|
||||
%add1 = add i32 %add, %13
|
||||
%14 = getelementptr inbounds %Quad, ptr %0, i32 0, i32 3
|
||||
%15 = load i8, ptr %14, align 8
|
||||
%uisiext = zext i8 %15 to i32
|
||||
%sub = sub i32 %add1, %uisiext
|
||||
%zext = zext i8 %15 to i32
|
||||
%sub = sub i32 %add1, %zext
|
||||
ret i32 %sub
|
||||
}
|
||||
|
||||
@@ -617,11 +617,9 @@ entry:
|
||||
%r = alloca %Quad, align 8
|
||||
%intbool = icmp ne i32 %1, 0
|
||||
br i1 %intbool, label %if.then, label %if.exit
|
||||
|
||||
if.then: ; preds = %entry
|
||||
call void @llvm.memcpy.p0.p0.i32(ptr align 8 %r, ptr align 8 %0, i32 24, i1 false)
|
||||
br label %if.exit
|
||||
|
||||
if.exit: ; preds = %if.then, %entry
|
||||
%2 = getelementptr inbounds %Quad, ptr %0, i32 0, i32 0
|
||||
%3 = getelementptr inbounds %Quad, ptr %0, i32 0, i32 4
|
||||
@@ -632,15 +630,15 @@ if.exit: ; preds = %if.then, %entry
|
||||
%5 = getelementptr inbounds %Quad, ptr %0, i32 0, i32 1
|
||||
%6 = getelementptr inbounds %SubStruct, ptr %5, i32 0, i32 1
|
||||
%7 = load i16, ptr %6, align 2
|
||||
%sisiext = sext i16 %7 to i32
|
||||
%add = add i32 %sisiext, %1
|
||||
%sext = sext i16 %7 to i32
|
||||
%add = add i32 %sext, %1
|
||||
%8 = getelementptr inbounds %Quad, ptr %r, i32 0, i32 4
|
||||
%9 = load i32, ptr %8, align 4
|
||||
%add1 = add i32 %add, %9
|
||||
%10 = getelementptr inbounds %Quad, ptr %0, i32 0, i32 3
|
||||
%11 = load i8, ptr %10, align 8
|
||||
%uisiext = zext i8 %11 to i32
|
||||
%sub = sub i32 %add1, %uisiext
|
||||
%zext = zext i8 %11 to i32
|
||||
%sub = sub i32 %add1, %zext
|
||||
ret i32 %sub
|
||||
}
|
||||
|
||||
@@ -650,11 +648,9 @@ entry:
|
||||
%fpfpext = fpext float %0 to double
|
||||
%gt = fcmp ogt double %fpfpext, 1.234500e+01
|
||||
br i1 %gt, label %if.then, label %if.exit
|
||||
|
||||
if.then: ; preds = %entry
|
||||
store i32 4, ptr %result, align 4
|
||||
br label %if.exit
|
||||
|
||||
if.exit: ; preds = %if.then, %entry
|
||||
%1 = load i32, ptr %result, align 4
|
||||
ret i32 %1
|
||||
@@ -678,10 +674,10 @@ entry:
|
||||
|
||||
define signext i16 @foo.funFunc(i64 %0, i8 zeroext %1) #0 {
|
||||
entry:
|
||||
%uisiext = zext i8 %1 to i64
|
||||
%add = add i64 %0, %uisiext
|
||||
%sisitrunc = trunc i64 %add to i16
|
||||
ret i16 %sisitrunc
|
||||
%zext = zext i8 %1 to i64
|
||||
%add = add i64 %0, %zext
|
||||
%trunc = trunc i64 %add to i16
|
||||
ret i16 %trunc
|
||||
}
|
||||
|
||||
define i32 @foo.castTest(i32 %0) #0 {
|
||||
@@ -704,18 +700,15 @@ entry:
|
||||
store i32 %0, ptr %i, align 4
|
||||
store i32 %1, ptr %j, align 4
|
||||
br label %loop.cond
|
||||
|
||||
loop.cond: ; preds = %loop.body, %entry
|
||||
%2 = load i32, ptr %i, align 4
|
||||
%neq = icmp ne i32 %2, 20
|
||||
br i1 %neq, label %loop.body, label %loop.exit
|
||||
|
||||
loop.body: ; preds = %loop.cond
|
||||
%3 = load i32, ptr %i, align 4
|
||||
%add = add i32 %3, 2
|
||||
store i32 %add, ptr %i, align 4
|
||||
br label %loop.cond
|
||||
|
||||
loop.exit: ; preds = %loop.cond
|
||||
%4 = load i32, ptr %j, align 4
|
||||
%5 = load i32, ptr %i, align 4
|
||||
@@ -739,17 +732,15 @@ entry:
|
||||
store i32 0, ptr %result, align 4
|
||||
store i32 0, ptr %i, align 4
|
||||
br label %loop.cond
|
||||
|
||||
loop.cond: ; preds = %loop.body, %entry
|
||||
%2 = load i32, ptr %i, align 4
|
||||
%lt = icmp slt i32 %2, %1
|
||||
br i1 %lt, label %loop.body, label %loop.exit
|
||||
|
||||
loop.body: ; preds = %loop.cond
|
||||
%3 = load i32, ptr %result, align 4
|
||||
%4 = load i32, ptr %i, align 4
|
||||
%sisiext = sext i32 %4 to i64
|
||||
%ptroffset = getelementptr inbounds i32, ptr %0, i64 %sisiext
|
||||
%sext = sext i32 %4 to i64
|
||||
%ptroffset = getelementptr inbounds i32, ptr %0, i64 %sext
|
||||
%5 = load i32, ptr %ptroffset, align 4
|
||||
%add = add i32 %3, %5
|
||||
store i32 %add, ptr %result, align 4
|
||||
@@ -757,7 +748,6 @@ loop.body: ; preds = %loop.cond
|
||||
%add1 = add i32 %6, 1
|
||||
store i32 %add1, ptr %i, align 4
|
||||
br label %loop.cond
|
||||
|
||||
loop.exit: ; preds = %loop.cond
|
||||
%7 = load i32, ptr %result, align 4
|
||||
ret i32 %7
|
||||
@@ -767,10 +757,10 @@ define i32 @foo.arrayParam(ptr %0) #0 {
|
||||
entry:
|
||||
%ptroffset = getelementptr inbounds i32, ptr %0, i64 50
|
||||
%1 = load i32, ptr %ptroffset, align 4
|
||||
%sisiext = sext i32 %1 to i64
|
||||
%xiptr = inttoptr i64 %sisiext to ptr
|
||||
%sext = sext i32 %1 to i64
|
||||
%intptr = inttoptr i64 %sext to ptr
|
||||
%ptroffset1 = getelementptr inbounds i32, ptr %0, i64 50
|
||||
%2 = call i32 @ef1(ptr %xiptr, ptr inttoptr (i64 1 to ptr), ptr %ptroffset1)
|
||||
%2 = call i32 @ef1(ptr %intptr, ptr inttoptr (i64 1 to ptr), ptr %ptroffset1)
|
||||
ret i32 %2
|
||||
}
|
||||
|
||||
@@ -781,16 +771,14 @@ entry:
|
||||
store i32 0, ptr %i, align 4
|
||||
store i32 0, ptr %i, align 4
|
||||
br label %loop.cond
|
||||
|
||||
loop.cond: ; preds = %loop.body, %entry
|
||||
%0 = load i32, ptr %i, align 4
|
||||
%lt = icmp slt i32 %0, 100
|
||||
br i1 %lt, label %loop.body, label %loop.exit
|
||||
|
||||
loop.body: ; preds = %loop.cond
|
||||
%1 = load i32, ptr %i, align 4
|
||||
%sisiext = sext i32 %1 to i64
|
||||
%2 = getelementptr inbounds [100 x i32], ptr %a, i64 0, i64 %sisiext
|
||||
%sext = sext i32 %1 to i64
|
||||
%2 = getelementptr inbounds [100 x i32], ptr %a, i64 0, i64 %sext
|
||||
%3 = load i32, ptr %i, align 4
|
||||
%mul = mul i32 %3, 4
|
||||
store i32 %mul, ptr %2, align 4
|
||||
@@ -798,12 +786,11 @@ loop.body: ; preds = %loop.cond
|
||||
%add = add i32 %4, 1
|
||||
store i32 %add, ptr %i, align 4
|
||||
br label %loop.cond
|
||||
|
||||
loop.exit: ; preds = %loop.cond
|
||||
%5 = getelementptr inbounds [100 x i32], ptr %a, i64 0, i64 0
|
||||
%6 = load i32, ptr %5, align 4
|
||||
%sisiext1 = sext i32 %6 to i64
|
||||
%7 = getelementptr inbounds [100 x i32], ptr %a, i64 0, i64 %sisiext1
|
||||
%sext1 = sext i32 %6 to i64
|
||||
%7 = getelementptr inbounds [100 x i32], ptr %a, i64 0, i64 %sext1
|
||||
%8 = load i32, ptr %7, align 4
|
||||
ret i32 %8
|
||||
}
|
||||
@@ -812,16 +799,14 @@ define i32 @main(i32 %0, ptr %1) #0 {
|
||||
entry:
|
||||
%i = alloca i32, align 4
|
||||
%2 = call i32 @puts(ptr @.str.10)
|
||||
%sisitrunc = trunc i32 %0 to i16
|
||||
%3 = call i32 @foo.externFunc(i64 -1, ptr null, i16 signext %sisitrunc, i8 zeroext 2)
|
||||
%trunc = trunc i32 %0 to i16
|
||||
%3 = call i32 @foo.externFunc(i64 -1, ptr null, i16 signext %trunc, i8 zeroext 2)
|
||||
store i32 0, ptr %i, align 4
|
||||
br label %loop.cond
|
||||
|
||||
loop.cond: ; preds = %loop.body, %entry
|
||||
%4 = load i32, ptr %i, align 4
|
||||
%gt = icmp ugt i32 10, %4
|
||||
br i1 %gt, label %loop.body, label %loop.exit
|
||||
|
||||
loop.body: ; preds = %loop.cond
|
||||
%ptroffset = getelementptr inbounds ptr, ptr %1, i64 3
|
||||
%5 = load ptr, ptr %ptroffset, align 8
|
||||
@@ -830,7 +815,6 @@ loop.body: ; preds = %loop.cond
|
||||
%add = add i32 %7, 1
|
||||
store i32 %add, ptr %i, align 4
|
||||
br label %loop.cond
|
||||
|
||||
loop.exit: ; preds = %loop.cond
|
||||
ret i32 0
|
||||
}
|
||||
@@ -863,7 +847,6 @@ entry:
|
||||
store ptr %0, ptr %s1, align 8
|
||||
store ptr %1, ptr %s2, align 8
|
||||
br label %loop.cond
|
||||
|
||||
loop.cond: ; preds = %loop.body, %entry
|
||||
%2 = load ptr, ptr %s1, align 8
|
||||
%ptroffset = getelementptr i8, ptr %2, i8 1
|
||||
@@ -875,10 +858,8 @@ loop.cond: ; preds = %loop.body, %entry
|
||||
store i8 %4, ptr %2, align 1
|
||||
%intbool = icmp ne i8 %4, 0
|
||||
br i1 %intbool, label %loop.body, label %loop.exit
|
||||
|
||||
loop.body: ; preds = %loop.cond
|
||||
br label %loop.cond
|
||||
|
||||
loop.exit: ; preds = %loop.cond
|
||||
ret void
|
||||
}
|
||||
@@ -890,7 +871,6 @@ entry:
|
||||
store ptr %0, ptr %s1, align 8
|
||||
store ptr %1, ptr %s2, align 8
|
||||
br label %loop.cond
|
||||
|
||||
loop.cond: ; preds = %loop.body, %entry
|
||||
%2 = load ptr, ptr %s1, align 8
|
||||
%ptroffset = getelementptr i8, ptr %2, i8 1
|
||||
@@ -898,16 +878,13 @@ loop.cond: ; preds = %loop.body, %entry
|
||||
%3 = load i8, ptr %2, align 1
|
||||
%intbool = icmp ne i8 %3, 0
|
||||
br i1 %intbool, label %loop.body, label %loop.exit
|
||||
|
||||
loop.body: ; preds = %loop.cond
|
||||
br label %loop.cond
|
||||
|
||||
loop.exit: ; preds = %loop.cond
|
||||
%4 = load ptr, ptr %s1, align 8
|
||||
%ptroffset1 = getelementptr i8, ptr %4, i8 -1
|
||||
store ptr %ptroffset1, ptr %s1, align 8
|
||||
br label %loop.cond2
|
||||
|
||||
loop.cond2: ; preds = %loop.body6, %loop.exit
|
||||
%5 = load ptr, ptr %s1, align 8
|
||||
%ptroffset3 = getelementptr i8, ptr %5, i8 1
|
||||
@@ -919,10 +896,8 @@ loop.cond2: ; preds = %loop.body6, %loop.e
|
||||
store i8 %7, ptr %5, align 1
|
||||
%intbool5 = icmp ne i8 %7, 0
|
||||
br i1 %intbool5, label %loop.body6, label %loop.exit7
|
||||
|
||||
loop.body6: ; preds = %loop.cond2
|
||||
br label %loop.cond2
|
||||
|
||||
loop.exit7: ; preds = %loop.cond2
|
||||
ret void
|
||||
}
|
||||
@@ -934,7 +909,6 @@ entry:
|
||||
store ptr %0, ptr %s1, align 8
|
||||
store ptr %1, ptr %s2, align 8
|
||||
br label %loop.cond
|
||||
|
||||
loop.cond: ; preds = %loop.body, %entry
|
||||
%2 = load ptr, ptr %s1, align 8
|
||||
%ptroffset = getelementptr i8, ptr %2, i8 1
|
||||
@@ -946,51 +920,43 @@ loop.cond: ; preds = %loop.body, %entry
|
||||
%5 = load i8, ptr %4, align 1
|
||||
%eq = icmp eq i8 %3, %5
|
||||
br i1 %eq, label %loop.body, label %loop.exit
|
||||
|
||||
loop.body: ; preds = %loop.cond
|
||||
br label %loop.cond
|
||||
|
||||
loop.exit: ; preds = %loop.cond
|
||||
%6 = load ptr, ptr %s1, align 8
|
||||
%7 = load i8, ptr %6, align 1
|
||||
%zext = zext i8 %7 to i32
|
||||
%eq2 = icmp eq i32 0, %zext
|
||||
br i1 %eq2, label %if.then, label %if.else6
|
||||
|
||||
if.then: ; preds = %loop.exit
|
||||
%8 = load ptr, ptr %s2, align 8
|
||||
%9 = load i8, ptr %8, align 1
|
||||
%zext3 = zext i8 %9 to i32
|
||||
%eq4 = icmp eq i32 0, %zext3
|
||||
br i1 %eq4, label %if.then5, label %if.else
|
||||
|
||||
if.then5: ; preds = %if.then
|
||||
ret i32 0
|
||||
|
||||
if.else: ; preds = %if.then
|
||||
ret i32 -1
|
||||
|
||||
if.else6: ; preds = %loop.exit
|
||||
%10 = load ptr, ptr %s2, align 8
|
||||
%11 = load i8, ptr %10, align 1
|
||||
%zext7 = zext i8 %11 to i32
|
||||
%eq8 = icmp eq i32 0, %zext7
|
||||
br i1 %eq8, label %if.then9, label %if.else10
|
||||
|
||||
if.then9: ; preds = %if.else6
|
||||
ret i32 1
|
||||
|
||||
if.else10: ; preds = %if.else6
|
||||
%12 = load ptr, ptr %s1, align 8
|
||||
%ptroffset11 = getelementptr i8, ptr %12, i8 -1
|
||||
store ptr %ptroffset11, ptr %s1, align 8
|
||||
%13 = load i8, ptr %ptroffset11, align 1
|
||||
%uisiext = zext i8 %13 to i32
|
||||
%zext12 = zext i8 %13 to i32
|
||||
%14 = load ptr, ptr %s2, align 8
|
||||
%ptroffset12 = getelementptr i8, ptr %14, i8 -1
|
||||
store ptr %ptroffset12, ptr %s2, align 8
|
||||
%15 = load i8, ptr %ptroffset12, align 1
|
||||
%uisiext13 = zext i8 %15 to i32
|
||||
%sub = sub i32 %uisiext, %uisiext13
|
||||
%ptroffset13 = getelementptr i8, ptr %14, i8 -1
|
||||
store ptr %ptroffset13, ptr %s2, align 8
|
||||
%15 = load i8, ptr %ptroffset13, align 1
|
||||
%zext14 = zext i8 %15 to i32
|
||||
%sub = sub i32 %zext12, %zext14
|
||||
ret i32 %sub
|
||||
}
|
||||
|
||||
@@ -18,12 +18,12 @@ define void @foo.test(i32 %0) #0 {
|
||||
entry:
|
||||
%s = alloca i8, align 1
|
||||
%zd = alloca i32, align 4
|
||||
%sisiext = sext i32 %0 to i64
|
||||
%1 = getelementptr inbounds [100 x i8], ptr @foo.FOO, i64 0, i64 %sisiext
|
||||
%sext = sext i32 %0 to i64
|
||||
%1 = getelementptr inbounds [100 x i8], ptr @foo.FOO, i64 0, i64 %sext
|
||||
%2 = load i8, ptr %1, align 1
|
||||
store i8 %2, ptr %s, align 1
|
||||
%sisiext1 = sext i32 %0 to i64
|
||||
%3 = extractelement <4 x i32> <i32 1, i32 2, i32 3, i32 4>, i64 %sisiext1
|
||||
%sext1 = sext i32 %0 to i64
|
||||
%3 = extractelement <4 x i32> <i32 1, i32 2, i32 3, i32 4>, i64 %sext1
|
||||
store i32 %3, ptr %zd, align 4
|
||||
ret void
|
||||
}
|
||||
|
||||
@@ -66,8 +66,8 @@ entry:
|
||||
%0 = load i8, ptr %x, align 1
|
||||
store i8 %0, ptr %b2, align 1
|
||||
%1 = load i8, ptr %x, align 1
|
||||
%uisiext = zext i8 %1 to i32
|
||||
store i32 %uisiext, ptr %z2, align 4
|
||||
%zext = zext i8 %1 to i32
|
||||
store i32 %zext, ptr %z2, align 4
|
||||
store float 0.000000e+00, ptr %d, align 4
|
||||
store i8 0, ptr %hello, align 1
|
||||
store i8 1, ptr %xf, align 1
|
||||
|
||||
@@ -43,8 +43,8 @@ panic1: ; preds = %checkok
|
||||
br label %checkok2
|
||||
|
||||
checkok2: ; preds = %panic1, %checkok
|
||||
%ztrunc = trunc i32 %0 to i8
|
||||
store i8 %ztrunc, ptr %x, align 1
|
||||
%trunc = trunc i32 %0 to i8
|
||||
store i8 %trunc, ptr %x, align 1
|
||||
store i64 0, ptr %z, align 8
|
||||
%3 = load i64, ptr %z, align 8
|
||||
%lt3 = icmp slt i64 %3, 0
|
||||
@@ -65,8 +65,8 @@ panic7: ; preds = %checkok5
|
||||
br label %checkok8
|
||||
|
||||
checkok8: ; preds = %panic7, %checkok5
|
||||
%ztrunc9 = trunc i64 %3 to i8
|
||||
store i8 %ztrunc9, ptr %y, align 1
|
||||
%trunc9 = trunc i64 %3 to i8
|
||||
store i8 %trunc9, ptr %y, align 1
|
||||
store i32 256, ptr %a, align 4
|
||||
%6 = load i32, ptr %a, align 4
|
||||
%lt10 = icmp slt i32 %6, 0
|
||||
@@ -87,8 +87,8 @@ panic14: ; preds = %checkok12
|
||||
br label %checkok15
|
||||
|
||||
checkok15: ; preds = %panic14, %checkok12
|
||||
%ztrunc16 = trunc i32 %6 to i8
|
||||
store i8 %ztrunc16, ptr %y, align 1
|
||||
%trunc16 = trunc i32 %6 to i8
|
||||
store i8 %trunc16, ptr %y, align 1
|
||||
store i32 -1, ptr %a, align 4
|
||||
%9 = load i32, ptr %a, align 4
|
||||
%lt17 = icmp slt i32 %9, 0
|
||||
@@ -109,7 +109,7 @@ panic21: ; preds = %checkok19
|
||||
br label %checkok22
|
||||
|
||||
checkok22: ; preds = %panic21, %checkok19
|
||||
%ztrunc23 = trunc i32 %9 to i8
|
||||
store i8 %ztrunc23, ptr %y, align 1
|
||||
%trunc23 = trunc i32 %9 to i8
|
||||
store i8 %trunc23, ptr %y, align 1
|
||||
ret void
|
||||
}
|
||||
|
||||
@@ -32,8 +32,8 @@ entry:
|
||||
store i32 0, ptr %1, align 4
|
||||
%2 = getelementptr inbounds [2 x i32], ptr %literal, i64 0, i64 1
|
||||
store i32 1, ptr %2, align 4
|
||||
%sisiext = sext i32 %0 to i64
|
||||
%3 = getelementptr inbounds [2 x i32], ptr %literal, i64 0, i64 %sisiext
|
||||
%sext = sext i32 %0 to i64
|
||||
%3 = getelementptr inbounds [2 x i32], ptr %literal, i64 0, i64 %sext
|
||||
%4 = load i32, ptr %3, align 4
|
||||
store i32 %4, ptr %zonk, align 4
|
||||
ret void
|
||||
|
||||
@@ -172,14 +172,14 @@ cond.phi: ; preds = %cond.rhs, %cond.lhs
|
||||
store %"char[]" %val, ptr %title, align 8
|
||||
%7 = getelementptr inbounds %"char[]", ptr %title, i32 0, i32 1
|
||||
%8 = load i64, ptr %7, align 8
|
||||
%uisitrunc = trunc i64 %8 to i32
|
||||
%trunc = trunc i64 %8 to i32
|
||||
%9 = getelementptr inbounds %"char[]", ptr %title, i32 0, i32 0
|
||||
%10 = load ptr, ptr %9, align 8
|
||||
%11 = getelementptr inbounds %Summary, ptr %0, i32 0, i32 1
|
||||
%12 = load i8, ptr %11, align 8
|
||||
%13 = trunc i8 %12 to i1
|
||||
%ternary = select i1 %13, ptr @.str.45, ptr @.str.46
|
||||
%14 = call i32 (ptr, ptr, ...) @fprintf(ptr %1, ptr @.str.44, i32 %uisitrunc, ptr %10, ptr %ternary)
|
||||
%14 = call i32 (ptr, ptr, ...) @fprintf(ptr %1, ptr @.str.44, i32 %trunc, ptr %10, ptr %ternary)
|
||||
ret void
|
||||
}
|
||||
|
||||
@@ -321,24 +321,24 @@ entry:
|
||||
%literal101 = alloca %Head, align 8
|
||||
%error_var102 = alloca i64, align 8
|
||||
%value103 = alloca %"char[]", align 8
|
||||
%temp105 = alloca ptr, align 8
|
||||
%using106 = alloca ptr, align 8
|
||||
%end_padding107 = alloca i64, align 8
|
||||
%error_var109 = alloca i64, align 8
|
||||
%using110 = alloca ptr, align 8
|
||||
%end_padding111 = alloca i64, align 8
|
||||
%.anon112 = alloca i64, align 8
|
||||
%blockret113 = alloca ptr, align 8
|
||||
%retparam114 = alloca ptr, align 8
|
||||
%temp127 = alloca ptr, align 8
|
||||
%using128 = alloca ptr, align 8
|
||||
%end_padding129 = alloca i64, align 8
|
||||
%error_var131 = alloca i64, align 8
|
||||
%using132 = alloca ptr, align 8
|
||||
%end_padding133 = alloca i64, align 8
|
||||
%.anon134 = alloca i64, align 8
|
||||
%blockret135 = alloca ptr, align 8
|
||||
%retparam136 = alloca ptr, align 8
|
||||
%temp106 = alloca ptr, align 8
|
||||
%using107 = alloca ptr, align 8
|
||||
%end_padding108 = alloca i64, align 8
|
||||
%error_var110 = alloca i64, align 8
|
||||
%using111 = alloca ptr, align 8
|
||||
%end_padding112 = alloca i64, align 8
|
||||
%.anon113 = alloca i64, align 8
|
||||
%blockret114 = alloca ptr, align 8
|
||||
%retparam115 = alloca ptr, align 8
|
||||
%temp128 = alloca ptr, align 8
|
||||
%using129 = alloca ptr, align 8
|
||||
%end_padding130 = alloca i64, align 8
|
||||
%error_var132 = alloca i64, align 8
|
||||
%using133 = alloca ptr, align 8
|
||||
%end_padding134 = alloca i64, align 8
|
||||
%.anon135 = alloca i64, align 8
|
||||
%blockret136 = alloca ptr, align 8
|
||||
%retparam137 = alloca ptr, align 8
|
||||
store ptr %1, ptr %url, align 8
|
||||
%ptroffset = getelementptr inbounds i64, ptr %url, i64 1
|
||||
store i64 %2, ptr %ptroffset, align 8
|
||||
@@ -577,10 +577,10 @@ noerr_block73: ; preds = %if.exit71
|
||||
if.exit74: ; preds = %if.exit19
|
||||
%69 = getelementptr inbounds %"char[]", ptr %url, i32 0, i32 1
|
||||
%70 = load i64, ptr %69, align 8
|
||||
%uisitrunc = trunc i64 %70 to i32
|
||||
%trunc = trunc i64 %70 to i32
|
||||
%71 = getelementptr inbounds %"char[]", ptr %url, i32 0, i32 0
|
||||
%72 = load ptr, ptr %71, align 8
|
||||
%73 = call i32 (ptr, i64, ptr, ...) @snprintf(ptr null, i64 0, ptr @.str.13, i32 %uisitrunc, ptr %72)
|
||||
%73 = call i32 (ptr, i64, ptr, ...) @snprintf(ptr null, i64 0, ptr @.str.13, i32 %trunc, ptr %72)
|
||||
store i32 %73, ptr %len, align 4
|
||||
%74 = load ptr, ptr @std.core.mem.thread_allocator, align 8
|
||||
store ptr %74, ptr %using75, align 8
|
||||
@@ -594,9 +594,9 @@ if.exit74: ; preds = %if.exit19
|
||||
store i32 %add81, ptr %.anon80, align 4
|
||||
%78 = load ptr, ptr %using78, align 8
|
||||
%79 = load i32, ptr %.anon80, align 4
|
||||
%siuiext = sext i32 %79 to i64
|
||||
%sext = sext i32 %79 to i64
|
||||
%80 = load i64, ptr %end_padding79, align 8
|
||||
%add84 = add i64 %siuiext, %80
|
||||
%add84 = add i64 %sext, %80
|
||||
%81 = call i64 @std.core.mem.allocator.Allocator.alloc(ptr %retparam83, ptr %78, i64 %add84) #3
|
||||
%not_err85 = icmp eq i64 %81, 0
|
||||
%82 = call i1 @llvm.expect.i1(i1 %not_err85, i1 true)
|
||||
@@ -632,141 +632,141 @@ if.then92: ; preds = %noerr_block90
|
||||
if.exit93: ; preds = %noerr_block90
|
||||
%87 = load ptr, ptr %str, align 8
|
||||
%88 = load i32, ptr %len, align 4
|
||||
%siuiext94 = sext i32 %88 to i64
|
||||
%add95 = add i64 %siuiext94, 1
|
||||
%sext94 = sext i32 %88 to i64
|
||||
%add95 = add i64 %sext94, 1
|
||||
%89 = getelementptr inbounds %"char[]", ptr %url, i32 0, i32 1
|
||||
%90 = load i64, ptr %89, align 8
|
||||
%uisitrunc96 = trunc i64 %90 to i32
|
||||
%trunc96 = trunc i64 %90 to i32
|
||||
%91 = getelementptr inbounds %"char[]", ptr %url, i32 0, i32 0
|
||||
%92 = load ptr, ptr %91, align 8
|
||||
%93 = call i32 (ptr, i64, ptr, ...) @snprintf(ptr %87, i64 %add95, ptr @.str.17, i32 %uisitrunc96, ptr %92)
|
||||
%93 = call i32 (ptr, i64, ptr, ...) @snprintf(ptr %87, i64 %add95, ptr @.str.17, i32 %trunc96, ptr %92)
|
||||
%94 = getelementptr inbounds %Doc, ptr %literal98, i32 0, i32 0
|
||||
store ptr null, ptr %literal101, align 8
|
||||
%95 = getelementptr inbounds %Head, ptr %literal101, i32 0, i32 0
|
||||
%96 = load ptr, ptr %str, align 8
|
||||
%97 = load i32, ptr %len, align 4
|
||||
%sub = sub i32 %97, 1
|
||||
%sisiext = sext i32 %sub to i64
|
||||
%98 = add i64 %sisiext, 1
|
||||
%sext104 = sext i32 %sub to i64
|
||||
%98 = add i64 %sext104, 1
|
||||
%size = sub i64 %98, 0
|
||||
%ptroffset104 = getelementptr inbounds i8, ptr %96, i64 0
|
||||
%99 = insertvalue %"char[]" undef, ptr %ptroffset104, 0
|
||||
%ptroffset105 = getelementptr inbounds i8, ptr %96, i64 0
|
||||
%99 = insertvalue %"char[]" undef, ptr %ptroffset105, 0
|
||||
%100 = insertvalue %"char[]" %99, i64 %size, 1
|
||||
store %"char[]" %100, ptr %value103, align 8
|
||||
%101 = load ptr, ptr @std.core.mem.thread_allocator, align 8
|
||||
store ptr %101, ptr %using106, align 8
|
||||
store i64 0, ptr %end_padding107, align 8
|
||||
%102 = load ptr, ptr %using106, align 8
|
||||
store ptr %102, ptr %using110, align 8
|
||||
%103 = load i64, ptr %end_padding107, align 8
|
||||
store i64 %103, ptr %end_padding111, align 8
|
||||
store i64 16, ptr %.anon112, align 8
|
||||
%104 = load ptr, ptr %using110, align 8
|
||||
%105 = load i64, ptr %.anon112, align 8
|
||||
%106 = load i64, ptr %end_padding111, align 8
|
||||
%add115 = add i64 %105, %106
|
||||
%107 = call i64 @std.core.mem.allocator.Allocator.alloc(ptr %retparam114, ptr %104, i64 %add115) #3
|
||||
%not_err116 = icmp eq i64 %107, 0
|
||||
%108 = call i1 @llvm.expect.i1(i1 %not_err116, i1 true)
|
||||
br i1 %108, label %after_check118, label %assign_optional117
|
||||
store ptr %101, ptr %using107, align 8
|
||||
store i64 0, ptr %end_padding108, align 8
|
||||
%102 = load ptr, ptr %using107, align 8
|
||||
store ptr %102, ptr %using111, align 8
|
||||
%103 = load i64, ptr %end_padding108, align 8
|
||||
store i64 %103, ptr %end_padding112, align 8
|
||||
store i64 16, ptr %.anon113, align 8
|
||||
%104 = load ptr, ptr %using111, align 8
|
||||
%105 = load i64, ptr %.anon113, align 8
|
||||
%106 = load i64, ptr %end_padding112, align 8
|
||||
%add116 = add i64 %105, %106
|
||||
%107 = call i64 @std.core.mem.allocator.Allocator.alloc(ptr %retparam115, ptr %104, i64 %add116) #3
|
||||
%not_err117 = icmp eq i64 %107, 0
|
||||
%108 = call i1 @llvm.expect.i1(i1 %not_err117, i1 true)
|
||||
br i1 %108, label %after_check119, label %assign_optional118
|
||||
|
||||
assign_optional117: ; preds = %if.exit93
|
||||
store i64 %107, ptr %error_var109, align 8
|
||||
br label %panic_block120
|
||||
assign_optional118: ; preds = %if.exit93
|
||||
store i64 %107, ptr %error_var110, align 8
|
||||
br label %panic_block121
|
||||
|
||||
after_check118: ; preds = %if.exit93
|
||||
%109 = load ptr, ptr %retparam114, align 8
|
||||
store ptr %109, ptr %blockret113, align 8
|
||||
br label %expr_block.exit119
|
||||
after_check119: ; preds = %if.exit93
|
||||
%109 = load ptr, ptr %retparam115, align 8
|
||||
store ptr %109, ptr %blockret114, align 8
|
||||
br label %expr_block.exit120
|
||||
|
||||
expr_block.exit119: ; preds = %after_check118
|
||||
%110 = load ptr, ptr %blockret113, align 8
|
||||
br label %noerr_block121
|
||||
expr_block.exit120: ; preds = %after_check119
|
||||
%110 = load ptr, ptr %blockret114, align 8
|
||||
br label %noerr_block122
|
||||
|
||||
panic_block120: ; preds = %assign_optional117
|
||||
panic_block121: ; preds = %assign_optional118
|
||||
%111 = load ptr, ptr @std.core.builtin.panic, align 8
|
||||
call void %111(ptr @.panic_msg.18, i64 27, ptr @.file.19, i64 6, ptr @.func.20
|
||||
unreachable
|
||||
|
||||
noerr_block121: ; preds = %expr_block.exit119
|
||||
store ptr %110, ptr %temp105, align 8
|
||||
%112 = load ptr, ptr %temp105, align 8
|
||||
%not122 = icmp eq ptr %112, null
|
||||
br i1 %not122, label %if.then123, label %if.exit124
|
||||
noerr_block122: ; preds = %expr_block.exit120
|
||||
store ptr %110, ptr %temp106, align 8
|
||||
%112 = load ptr, ptr %temp106, align 8
|
||||
%not123 = icmp eq ptr %112, null
|
||||
br i1 %not123, label %if.then124, label %if.exit125
|
||||
|
||||
if.then123: ; preds = %noerr_block121
|
||||
if.then124: ; preds = %noerr_block122
|
||||
store i64 ptrtoint (ptr @"test.ReadError$OUT_OF_MEMORY" to i64), ptr %error_var102, align 8
|
||||
br label %guard_block125
|
||||
br label %guard_block126
|
||||
|
||||
if.exit124: ; preds = %noerr_block121
|
||||
%113 = load ptr, ptr %temp105, align 8
|
||||
if.exit125: ; preds = %noerr_block122
|
||||
%113 = load ptr, ptr %temp106, align 8
|
||||
call void @llvm.memcpy.p0.p0.i32(ptr align 8 %113, ptr align 8 %value103, i32 16, i1 false)
|
||||
br label %noerr_block126
|
||||
br label %noerr_block127
|
||||
|
||||
guard_block125: ; preds = %if.then123
|
||||
guard_block126: ; preds = %if.then124
|
||||
%114 = load i64, ptr %error_var102, align 8
|
||||
ret i64 %114
|
||||
|
||||
noerr_block126: ; preds = %if.exit124
|
||||
%115 = load ptr, ptr %temp105, align 8
|
||||
noerr_block127: ; preds = %if.exit125
|
||||
%115 = load ptr, ptr %temp106, align 8
|
||||
store ptr %115, ptr %95, align 8
|
||||
call void @llvm.memcpy.p0.p0.i32(ptr align 8 %value100, ptr align 8 %literal101, i32 8, i1 false)
|
||||
%116 = load ptr, ptr @std.core.mem.thread_allocator, align 8
|
||||
store ptr %116, ptr %using128, align 8
|
||||
store i64 0, ptr %end_padding129, align 8
|
||||
%117 = load ptr, ptr %using128, align 8
|
||||
store ptr %117, ptr %using132, align 8
|
||||
%118 = load i64, ptr %end_padding129, align 8
|
||||
store i64 %118, ptr %end_padding133, align 8
|
||||
store i64 8, ptr %.anon134, align 8
|
||||
%119 = load ptr, ptr %using132, align 8
|
||||
%120 = load i64, ptr %.anon134, align 8
|
||||
%121 = load i64, ptr %end_padding133, align 8
|
||||
%add137 = add i64 %120, %121
|
||||
%122 = call i64 @std.core.mem.allocator.Allocator.alloc(ptr %retparam136, ptr %119, i64 %add137) #3
|
||||
%not_err138 = icmp eq i64 %122, 0
|
||||
%123 = call i1 @llvm.expect.i1(i1 %not_err138, i1 true)
|
||||
br i1 %123, label %after_check140, label %assign_optional139
|
||||
store ptr %116, ptr %using129, align 8
|
||||
store i64 0, ptr %end_padding130, align 8
|
||||
%117 = load ptr, ptr %using129, align 8
|
||||
store ptr %117, ptr %using133, align 8
|
||||
%118 = load i64, ptr %end_padding130, align 8
|
||||
store i64 %118, ptr %end_padding134, align 8
|
||||
store i64 8, ptr %.anon135, align 8
|
||||
%119 = load ptr, ptr %using133, align 8
|
||||
%120 = load i64, ptr %.anon135, align 8
|
||||
%121 = load i64, ptr %end_padding134, align 8
|
||||
%add138 = add i64 %120, %121
|
||||
%122 = call i64 @std.core.mem.allocator.Allocator.alloc(ptr %retparam137, ptr %119, i64 %add138) #3
|
||||
%not_err139 = icmp eq i64 %122, 0
|
||||
%123 = call i1 @llvm.expect.i1(i1 %not_err139, i1 true)
|
||||
br i1 %123, label %after_check141, label %assign_optional140
|
||||
|
||||
assign_optional139: ; preds = %noerr_block126
|
||||
store i64 %122, ptr %error_var131, align 8
|
||||
br label %panic_block142
|
||||
assign_optional140: ; preds = %noerr_block127
|
||||
store i64 %122, ptr %error_var132, align 8
|
||||
br label %panic_block143
|
||||
|
||||
after_check140: ; preds = %noerr_block126
|
||||
%124 = load ptr, ptr %retparam136, align 8
|
||||
store ptr %124, ptr %blockret135, align 8
|
||||
br label %expr_block.exit141
|
||||
after_check141: ; preds = %noerr_block127
|
||||
%124 = load ptr, ptr %retparam137, align 8
|
||||
store ptr %124, ptr %blockret136, align 8
|
||||
br label %expr_block.exit142
|
||||
|
||||
expr_block.exit141: ; preds = %after_check140
|
||||
%125 = load ptr, ptr %blockret135, align 8
|
||||
br label %noerr_block143
|
||||
expr_block.exit142: ; preds = %after_check141
|
||||
%125 = load ptr, ptr %blockret136, align 8
|
||||
br label %noerr_block144
|
||||
|
||||
panic_block142: ; preds = %assign_optional139
|
||||
panic_block143: ; preds = %assign_optional140
|
||||
%126 = load ptr, ptr @std.core.builtin.panic, align 8
|
||||
call void %126(ptr @.panic_msg.21, i64 27, ptr @.file.22, i64 6, ptr @.func.23
|
||||
unreachable
|
||||
|
||||
noerr_block143: ; preds = %expr_block.exit141
|
||||
store ptr %125, ptr %temp127, align 8
|
||||
%127 = load ptr, ptr %temp127, align 8
|
||||
%not144 = icmp eq ptr %127, null
|
||||
br i1 %not144, label %if.then145, label %if.exit146
|
||||
noerr_block144: ; preds = %expr_block.exit142
|
||||
store ptr %125, ptr %temp128, align 8
|
||||
%127 = load ptr, ptr %temp128, align 8
|
||||
%not145 = icmp eq ptr %127, null
|
||||
br i1 %not145, label %if.then146, label %if.exit147
|
||||
|
||||
if.then145: ; preds = %noerr_block143
|
||||
if.then146: ; preds = %noerr_block144
|
||||
store i64 ptrtoint (ptr @"test.ReadError$OUT_OF_MEMORY" to i64), ptr %error_var99, align 8
|
||||
br label %guard_block147
|
||||
br label %guard_block148
|
||||
|
||||
if.exit146: ; preds = %noerr_block143
|
||||
%128 = load ptr, ptr %temp127, align 8
|
||||
if.exit147: ; preds = %noerr_block144
|
||||
%128 = load ptr, ptr %temp128, align 8
|
||||
call void @llvm.memcpy.p0.p0.i32(ptr align 8 %128, ptr align 8 %value100, i32 8, i1 false)
|
||||
br label %noerr_block148
|
||||
br label %noerr_block149
|
||||
|
||||
guard_block147: ; preds = %if.then145
|
||||
guard_block148: ; preds = %if.then146
|
||||
%129 = load i64, ptr %error_var99, align 8
|
||||
ret i64 %129
|
||||
|
||||
noerr_block148: ; preds = %if.exit146
|
||||
%130 = load ptr, ptr %temp127, align 8
|
||||
noerr_block149: ; preds = %if.exit147
|
||||
%130 = load ptr, ptr %temp128, align 8
|
||||
store ptr %130, ptr %94, align 8
|
||||
call void @llvm.memcpy.p0.p0.i32(ptr align 8 %0, ptr align 8 %literal98, i32 8, i1 false)
|
||||
ret i64 0
|
||||
@@ -1023,10 +1023,10 @@ loop.body: ; preds = %loop.cond
|
||||
call void @llvm.memcpy.p0.p0.i32(ptr align 8 %url, ptr align 8 %ptroffset, i32 16, i1 false)
|
||||
%14 = getelementptr inbounds %"char[]", ptr %url, i32 0, i32 1
|
||||
%15 = load i64, ptr %14, align 8
|
||||
%uisitrunc = trunc i64 %15 to i32
|
||||
%trunc = trunc i64 %15 to i32
|
||||
%16 = getelementptr inbounds %"char[]", ptr %url, i32 0, i32 0
|
||||
%17 = load ptr, ptr %16, align 8
|
||||
%18 = call i32 (ptr, ...) @printf(ptr @.str.35, i32 %uisitrunc, ptr %17)
|
||||
%18 = call i32 (ptr, ...) @printf(ptr @.str.35, i32 %trunc, ptr %17)
|
||||
%19 = getelementptr inbounds %"char[]", ptr %url, i32 0, i32 0
|
||||
%lo = load ptr, ptr %19, align 8
|
||||
%20 = getelementptr inbounds %"char[]", ptr %url, i32 0, i32 1
|
||||
@@ -1057,10 +1057,10 @@ cond.phi: ; preds = %cond.rhs, %cond.lhs
|
||||
store %"char[]" %val, ptr %title_sure, align 8
|
||||
%30 = getelementptr inbounds %"char[]", ptr %title_sure, i32 0, i32 1
|
||||
%31 = load i64, ptr %30, align 8
|
||||
%uisitrunc2 = trunc i64 %31 to i32
|
||||
%trunc2 = trunc i64 %31 to i32
|
||||
%32 = getelementptr inbounds %"char[]", ptr %title_sure, i32 0, i32 0
|
||||
%33 = load ptr, ptr %32, align 8
|
||||
%34 = call i32 (ptr, ...) @printf(ptr @.str.39, i32 %uisitrunc2, ptr %33)
|
||||
%34 = call i32 (ptr, ...) @printf(ptr @.str.39, i32 %trunc2, ptr %33)
|
||||
%35 = getelementptr inbounds %"char[]", ptr %url, i32 0, i32 0
|
||||
%lo3 = load ptr, ptr %35, align 8
|
||||
%36 = getelementptr inbounds %"char[]", ptr %url, i32 0, i32 1
|
||||
|
||||
@@ -21,7 +21,7 @@ define i32 @main
|
||||
store i32 20, ptr %b
|
||||
%2 = load i32, ptr %a
|
||||
trunc i32 %2 to i8
|
||||
sext i8 %sisitrunc to i32
|
||||
store i32 %sisiext, ptr %c
|
||||
sext i8 %trunc to i32
|
||||
store i32 %sext, ptr %c
|
||||
ret i32 0
|
||||
}
|
||||
|
||||
@@ -17,7 +17,7 @@ entry:
|
||||
store i64 3, ptr %b, align 8
|
||||
%0 = load i64, ptr %b, align 8
|
||||
%1 = load i32, ptr %a, align 4
|
||||
%sisiext = sext i32 %1 to i64
|
||||
%sub = sub i64 %0, %sisiext
|
||||
%sext = sext i32 %1 to i64
|
||||
%sub = sub i64 %0, %sext
|
||||
ret i32 1
|
||||
}
|
||||
@@ -379,10 +379,10 @@ entry:
|
||||
|
||||
loop.cond: ; preds = %loop.body, %entry
|
||||
%2 = load i32, ptr %i, align 4
|
||||
%sisiext = sext i32 %2 to i64
|
||||
%sext = sext i32 %2 to i64
|
||||
%3 = getelementptr inbounds %"int[]", ptr %x, i32 0, i32 1
|
||||
%4 = load i64, ptr %3, align 8
|
||||
%lt = icmp slt i64 %sisiext, %4
|
||||
%lt = icmp slt i64 %sext, %4
|
||||
%check = icmp slt i64 %4, 0
|
||||
%siui-lt = or i1 %check, %lt
|
||||
br i1 %siui-lt, label %loop.body, label %loop.exit
|
||||
@@ -392,8 +392,8 @@ loop.body: ; preds = %loop.cond
|
||||
%6 = getelementptr inbounds %"int[]", ptr %x, i32 0, i32 0
|
||||
%7 = load ptr, ptr %6, align 8
|
||||
%8 = load i32, ptr %i, align 4
|
||||
%sisiext1 = sext i32 %8 to i64
|
||||
%ptroffset2 = getelementptr inbounds i32, ptr %7, i64 %sisiext1
|
||||
%sext1 = sext i32 %8 to i64
|
||||
%ptroffset2 = getelementptr inbounds i32, ptr %7, i64 %sext1
|
||||
%9 = load i32, ptr %ptroffset2, align 4
|
||||
%add = add i32 %5, %9
|
||||
store i32 %add, ptr %sum, align 4
|
||||
@@ -440,15 +440,15 @@ entry:
|
||||
loop.cond: ; preds = %loop.body, %entry
|
||||
%3 = load i32, ptr %i, align 4
|
||||
%4 = call i64 @"std.collections.linkedlist$int$.LinkedList.len"(ptr %list) #3
|
||||
%uisitrunc = trunc i64 %4 to i32
|
||||
%lt = icmp slt i32 %3, %uisitrunc
|
||||
%trunc = trunc i64 %4 to i32
|
||||
%lt = icmp slt i32 %3, %trunc
|
||||
br i1 %lt, label %loop.body, label %loop.exit
|
||||
|
||||
loop.body: ; preds = %loop.cond
|
||||
%5 = load i32, ptr %i, align 4
|
||||
%6 = load i32, ptr %i, align 4
|
||||
%siuiext = sext i32 %6 to i64
|
||||
%7 = call i32 @"std.collections.linkedlist$int$.LinkedList.get"(ptr %list, i64 %siuiext)
|
||||
%sext = sext i32 %6 to i64
|
||||
%7 = call i32 @"std.collections.linkedlist$int$.LinkedList.get"(ptr %list, i64 %sext)
|
||||
%8 = call i32 (ptr, ...) @printf(ptr @.str.2, i32 %5, i32 %7)
|
||||
%9 = load i32, ptr %i, align 4
|
||||
%add = add i32 %9, 1
|
||||
@@ -472,15 +472,15 @@ loop.exit: ; preds = %loop.cond
|
||||
loop.cond2: ; preds = %loop.body5, %loop.exit
|
||||
%12 = load i32, ptr %i1, align 4
|
||||
%13 = call i64 @"std.collections.list$int$.List.len"(ptr %array)
|
||||
%uisitrunc3 = trunc i64 %13 to i32
|
||||
%lt4 = icmp slt i32 %12, %uisitrunc3
|
||||
%trunc3 = trunc i64 %13 to i32
|
||||
%lt4 = icmp slt i32 %12, %trunc3
|
||||
br i1 %lt4, label %loop.body5, label %loop.exit8
|
||||
|
||||
loop.body5: ; preds = %loop.cond2
|
||||
%14 = load i32, ptr %i1, align 4
|
||||
%15 = load i32, ptr %i1, align 4
|
||||
%siuiext6 = sext i32 %15 to i64
|
||||
%16 = call i32 @"std.collections.list$int$.List.get"(ptr %array, i64 %siuiext6)
|
||||
%sext6 = sext i32 %15 to i64
|
||||
%16 = call i32 @"std.collections.list$int$.List.get"(ptr %array, i64 %sext6)
|
||||
%17 = call i32 (ptr, ...) @printf(ptr @.str.5, i32 %14, i32 %16)
|
||||
%18 = load i32, ptr %i1, align 4
|
||||
%add7 = add i32 %18, 1
|
||||
|
||||
@@ -416,10 +416,10 @@ entry:
|
||||
|
||||
loop.cond: ; preds = %loop.body, %entry
|
||||
%1 = load i32, ptr %i, align 4
|
||||
%sisiext = sext i32 %1 to i64
|
||||
%sext = sext i32 %1 to i64
|
||||
%2 = getelementptr inbounds %"int[]", ptr %0, i32 0, i32 1
|
||||
%3 = load i64, ptr %2, align 8
|
||||
%lt = icmp slt i64 %sisiext, %3
|
||||
%lt = icmp slt i64 %sext, %3
|
||||
%check = icmp slt i64 %3, 0
|
||||
%siui-lt = or i1 %check, %lt
|
||||
br i1 %siui-lt, label %loop.body, label %loop.exit
|
||||
@@ -429,8 +429,8 @@ loop.body: ; preds = %loop.cond
|
||||
%5 = getelementptr inbounds %"int[]", ptr %0, i32 0, i32 0
|
||||
%6 = load ptr, ptr %5, align 8
|
||||
%7 = load i32, ptr %i, align 4
|
||||
%sisiext1 = sext i32 %7 to i64
|
||||
%ptroffset = getelementptr inbounds i32, ptr %6, i64 %sisiext1
|
||||
%sext1 = sext i32 %7 to i64
|
||||
%ptroffset = getelementptr inbounds i32, ptr %6, i64 %sext1
|
||||
%8 = load i32, ptr %ptroffset, align 4
|
||||
%add = add i32 %4, %8
|
||||
store i32 %add, ptr %sum, align 4
|
||||
@@ -483,15 +483,15 @@ entry:
|
||||
loop.cond: ; preds = %loop.body, %entry
|
||||
%3 = load i32, ptr %i, align 4
|
||||
%4 = call i64 @"std.collections.linkedlist$int$.LinkedList.len"(ptr %list) #3
|
||||
%uisitrunc = trunc i64 %4 to i32
|
||||
%lt = icmp slt i32 %3, %uisitrunc
|
||||
%trunc = trunc i64 %4 to i32
|
||||
%lt = icmp slt i32 %3, %trunc
|
||||
br i1 %lt, label %loop.body, label %loop.exit
|
||||
|
||||
loop.body: ; preds = %loop.cond
|
||||
%5 = load i32, ptr %i, align 4
|
||||
%6 = load i32, ptr %i, align 4
|
||||
%siuiext = sext i32 %6 to i64
|
||||
%7 = call i32 @"std.collections.linkedlist$int$.LinkedList.get"(ptr %list, i64 %siuiext)
|
||||
%sext = sext i32 %6 to i64
|
||||
%7 = call i32 @"std.collections.linkedlist$int$.LinkedList.get"(ptr %list, i64 %sext)
|
||||
%8 = call i32 (ptr, ...) @printf(ptr @.str.2, i32 %5, i32 %7)
|
||||
%9 = load i32, ptr %i, align 4
|
||||
%add = add i32 %9, 1
|
||||
@@ -515,15 +515,15 @@ loop.exit: ; preds = %loop.cond
|
||||
loop.cond2: ; preds = %loop.body5, %loop.exit
|
||||
%12 = load i32, ptr %i1, align 4
|
||||
%13 = call i64 @"std.collections.list$int$.List.len"(ptr %array)
|
||||
%uisitrunc3 = trunc i64 %13 to i32
|
||||
%lt4 = icmp slt i32 %12, %uisitrunc3
|
||||
%trunc3 = trunc i64 %13 to i32
|
||||
%lt4 = icmp slt i32 %12, %trunc3
|
||||
br i1 %lt4, label %loop.body5, label %loop.exit8
|
||||
|
||||
loop.body5: ; preds = %loop.cond2
|
||||
%14 = load i32, ptr %i1, align 4
|
||||
%15 = load i32, ptr %i1, align 4
|
||||
%siuiext6 = sext i32 %15 to i64
|
||||
%16 = call i32 @"std.collections.list$int$.List.get"(ptr %array, i64 %siuiext6)
|
||||
%sext6 = sext i32 %15 to i64
|
||||
%16 = call i32 @"std.collections.list$int$.List.get"(ptr %array, i64 %sext6)
|
||||
%17 = call i32 (ptr, ...) @printf(ptr @.str.5, i32 %14, i32 %16)
|
||||
%18 = load i32, ptr %i1, align 4
|
||||
%add7 = add i32 %18, 1
|
||||
|
||||
@@ -33,8 +33,8 @@ entry:
|
||||
%boolsi = zext i1 %1 to i32
|
||||
call void (ptr, ...) @printf(ptr @.str.3, i32 %boolsi)
|
||||
%2 = load i8, ptr %x1, align 1
|
||||
%sisiext = sext i8 %2 to i32
|
||||
call void (ptr, ...) @printf(ptr @.str.4, i32 %sisiext)
|
||||
%sext = sext i8 %2 to i32
|
||||
call void (ptr, ...) @printf(ptr @.str.4, i32 %sext)
|
||||
%3 = load float, ptr %z1, align 4
|
||||
%fpfpext = fpext float %3 to double
|
||||
call void (ptr, ...) @printf(ptr @.str.5, double %fpfpext)
|
||||
|
||||
@@ -30,12 +30,12 @@ entry:
|
||||
store i64 %2, ptr %ptroffset, align 8
|
||||
%4 = getelementptr inbounds %"int[]", ptr %y, i32 0, i32 1
|
||||
%5 = load i64, ptr %4, align 8
|
||||
%uisitrunc = trunc i64 %5 to i32
|
||||
%trunc = trunc i64 %5 to i32
|
||||
%6 = getelementptr inbounds %"int[]", ptr %y, i32 0, i32 0
|
||||
%7 = load ptr, ptr %6, align 8
|
||||
%ptroffset1 = getelementptr inbounds i32, ptr %7, i64 0
|
||||
%8 = load i32, ptr %ptroffset1, align 4
|
||||
call void (ptr, ...) @printf(ptr @.str, i32 %0, i32 %uisitrunc, i32 %3, i32 %8)
|
||||
call void (ptr, ...) @printf(ptr @.str, i32 %0, i32 %trunc, i32 %3, i32 %8)
|
||||
ret void
|
||||
}
|
||||
|
||||
@@ -48,8 +48,8 @@ entry:
|
||||
store i64 %2, ptr %ptroffset, align 8
|
||||
%4 = getelementptr inbounds %"variant[]", ptr %y, i32 0, i32 1
|
||||
%5 = load i64, ptr %4, align 8
|
||||
%uisitrunc = trunc i64 %5 to i32
|
||||
call void (ptr, ...) @printf(ptr @.str.1, i32 %0, i32 %uisitrunc, i32 %3)
|
||||
%trunc = trunc i64 %5 to i32
|
||||
call void (ptr, ...) @printf(ptr @.str.1, i32 %0, i32 %trunc, i32 %3)
|
||||
ret void
|
||||
}
|
||||
|
||||
|
||||
@@ -179,13 +179,13 @@ loop.body: ; preds = %loop.cond
|
||||
%6 = getelementptr inbounds %"char[]", ptr %seq, i32 0, i32 0
|
||||
%7 = load ptr, ptr %6, align 8
|
||||
%8 = load i32, ptr %i, align 4
|
||||
%sisiext = sext i32 %8 to i64
|
||||
%sext = sext i32 %8 to i64
|
||||
%9 = load i64, ptr %len, align 8
|
||||
%smod = srem i64 %sisiext, %9
|
||||
%smod = srem i64 %sext, %9
|
||||
%ptroffset1 = getelementptr inbounds i8, ptr %7, i64 %smod
|
||||
%10 = load i8, ptr %ptroffset1, align 1
|
||||
%uisiext = zext i8 %10 to i32
|
||||
call void @putchar(i32 %uisiext)
|
||||
%zext = zext i8 %10 to i32
|
||||
call void @putchar(i32 %zext)
|
||||
%11 = load i32, ptr %i, align 4
|
||||
%smod2 = srem i32 %11, 60
|
||||
%eq = icmp eq i32 %smod2, 59
|
||||
@@ -238,8 +238,8 @@ entry:
|
||||
call void @llvm.assume(i1 %eq)
|
||||
%9 = getelementptr inbounds %"double[]", ptr %probability, i32 0, i32 1
|
||||
%10 = load i64, ptr %9, align 8
|
||||
%uisitrunc = trunc i64 %10 to i32
|
||||
store i32 %uisitrunc, ptr %len, align 4
|
||||
%trunc = trunc i64 %10 to i32
|
||||
store i32 %trunc, ptr %len, align 4
|
||||
store i32 0, ptr %i, align 4
|
||||
br label %loop.cond
|
||||
|
||||
@@ -267,8 +267,8 @@ loop.body4: ; preds = %loop.cond2
|
||||
%16 = getelementptr inbounds %"double[]", ptr %probability, i32 0, i32 0
|
||||
%17 = load ptr, ptr %16, align 8
|
||||
%18 = load i32, ptr %j, align 4
|
||||
%sisiext = sext i32 %18 to i64
|
||||
%ptroffset5 = getelementptr inbounds double, ptr %17, i64 %sisiext
|
||||
%sext = sext i32 %18 to i64
|
||||
%ptroffset5 = getelementptr inbounds double, ptr %17, i64 %sext
|
||||
%19 = load double, ptr %ptroffset5, align 8
|
||||
%fsub = fsub double %15, %19
|
||||
store double %fsub, ptr %v, align 8
|
||||
@@ -289,11 +289,11 @@ loop.exit: ; preds = %if.then, %loop.cond
|
||||
%22 = getelementptr inbounds %"char[]", ptr %symb, i32 0, i32 0
|
||||
%23 = load ptr, ptr %22, align 8
|
||||
%24 = load i32, ptr %j, align 4
|
||||
%sisiext7 = sext i32 %24 to i64
|
||||
%ptroffset8 = getelementptr inbounds i8, ptr %23, i64 %sisiext7
|
||||
%sext7 = sext i32 %24 to i64
|
||||
%ptroffset8 = getelementptr inbounds i8, ptr %23, i64 %sext7
|
||||
%25 = load i8, ptr %ptroffset8, align 1
|
||||
%uisiext = zext i8 %25 to i32
|
||||
call void @putchar(i32 %uisiext)
|
||||
%zext = zext i8 %25 to i32
|
||||
call void @putchar(i32 %zext)
|
||||
%26 = load i32, ptr %i, align 4
|
||||
%smod = srem i32 %26, 60
|
||||
%eq9 = icmp eq i32 %smod, 59
|
||||
|
||||
@@ -119,12 +119,12 @@ entry:
|
||||
%16 = call i64 @std.io.File.printn(ptr %retparam, ptr %14, ptr %15, i64 6)
|
||||
%17 = getelementptr inbounds %"int[]", ptr %x, i32 0, i32 1
|
||||
%18 = load i64, ptr %17, align 8
|
||||
%uisitrunc = trunc i64 %18 to i32
|
||||
%trunc = trunc i64 %18 to i32
|
||||
%19 = getelementptr inbounds %"int[]", ptr %x, i32 0, i32 0
|
||||
%20 = load ptr, ptr %19, align 8
|
||||
%ptroffset4 = getelementptr inbounds i32, ptr %20, i64 1
|
||||
%21 = load i32, ptr %ptroffset4, align 4
|
||||
%22 = call i32 (ptr, ...) @printf(ptr @.str.6, i32 %uisitrunc, i32 %21)
|
||||
%22 = call i32 (ptr, ...) @printf(ptr @.str.6, i32 %trunc, i32 %21)
|
||||
%23 = load ptr, ptr %y, align 8
|
||||
%ptroffset5 = getelementptr inbounds i32, ptr %23, i64 1
|
||||
%24 = load i32, ptr %ptroffset5, align 4
|
||||
|
||||
@@ -181,20 +181,20 @@ entry:
|
||||
store i32 0, ptr %a, align 4
|
||||
%0 = getelementptr inbounds %Foo, ptr %x, i32 0, i32 0
|
||||
%1 = load i32, ptr %a, align 4
|
||||
%sisiext = sext i32 %1 to i64
|
||||
%2 = getelementptr inbounds [3 x i32], ptr %0, i64 0, i64 %sisiext
|
||||
%sext = sext i32 %1 to i64
|
||||
%2 = getelementptr inbounds [3 x i32], ptr %0, i64 0, i64 %sext
|
||||
%3 = load i32, ptr %2, align 4
|
||||
store i32 1, ptr %a1, align 4
|
||||
%4 = getelementptr inbounds %Foo, ptr %x, i32 0, i32 0
|
||||
%5 = load i32, ptr %a1, align 4
|
||||
%sisiext2 = sext i32 %5 to i64
|
||||
%6 = getelementptr inbounds [3 x i32], ptr %4, i64 0, i64 %sisiext2
|
||||
%sext2 = sext i32 %5 to i64
|
||||
%6 = getelementptr inbounds [3 x i32], ptr %4, i64 0, i64 %sext2
|
||||
%7 = load i32, ptr %6, align 4
|
||||
store i32 2, ptr %a3, align 4
|
||||
%8 = getelementptr inbounds %Foo, ptr %x, i32 0, i32 0
|
||||
%9 = load i32, ptr %a3, align 4
|
||||
%sisiext4 = sext i32 %9 to i64
|
||||
%10 = getelementptr inbounds [3 x i32], ptr %8, i64 0, i64 %sisiext4
|
||||
%sext4 = sext i32 %9 to i64
|
||||
%10 = getelementptr inbounds [3 x i32], ptr %8, i64 0, i64 %sext4
|
||||
%11 = load i32, ptr %10, align 4
|
||||
call void (ptr, ...) @printf(ptr @.str.2, i32 %3, i32 %7, i32 %11)
|
||||
%12 = call ptr @foo.call(ptr %x)
|
||||
@@ -217,8 +217,8 @@ loop.body: ; preds = %loop.cond
|
||||
store i32 %17, ptr %a7, align 4
|
||||
%18 = getelementptr inbounds %Foo, ptr %16, i32 0, i32 0
|
||||
%19 = load i32, ptr %a7, align 4
|
||||
%sisiext8 = sext i32 %19 to i64
|
||||
%20 = getelementptr inbounds [3 x i32], ptr %18, i64 0, i64 %sisiext8
|
||||
%sext8 = sext i32 %19 to i64
|
||||
%20 = getelementptr inbounds [3 x i32], ptr %18, i64 0, i64 %sext8
|
||||
%21 = load i32, ptr %20, align 4
|
||||
store i32 %21, ptr %y, align 4
|
||||
%22 = load i32, ptr %i, align 4
|
||||
@@ -247,8 +247,8 @@ loop.body13: ; preds = %loop.cond11
|
||||
store i32 %28, ptr %a16, align 4
|
||||
%29 = getelementptr inbounds %Foo, ptr %x, i32 0, i32 0
|
||||
%30 = load i32, ptr %a16, align 4
|
||||
%sisiext17 = sext i32 %30 to i64
|
||||
%31 = getelementptr inbounds [3 x i32], ptr %29, i64 0, i64 %sisiext17
|
||||
%sext17 = sext i32 %30 to i64
|
||||
%31 = getelementptr inbounds [3 x i32], ptr %29, i64 0, i64 %sext17
|
||||
store ptr %31, ptr %y15, align 8
|
||||
%32 = load ptr, ptr %y15, align 8
|
||||
%33 = load i32, ptr %32, align 4
|
||||
@@ -281,8 +281,8 @@ loop.body25: ; preds = %loop.cond23
|
||||
store i32 %41, ptr %a28, align 4
|
||||
%42 = getelementptr inbounds %Foo, ptr %x, i32 0, i32 0
|
||||
%43 = load i32, ptr %a28, align 4
|
||||
%sisiext29 = sext i32 %43 to i64
|
||||
%44 = getelementptr inbounds [3 x i32], ptr %42, i64 0, i64 %sisiext29
|
||||
%sext29 = sext i32 %43 to i64
|
||||
%44 = getelementptr inbounds [3 x i32], ptr %42, i64 0, i64 %sext29
|
||||
%45 = load i32, ptr %44, align 4
|
||||
store i32 %45, ptr %y27, align 4
|
||||
%46 = load i32, ptr %i26, align 4
|
||||
@@ -311,8 +311,8 @@ loop.body36: ; preds = %loop.cond34
|
||||
store i32 %52, ptr %a39, align 4
|
||||
%53 = getelementptr inbounds %Foo, ptr %x, i32 0, i32 0
|
||||
%54 = load i32, ptr %a39, align 4
|
||||
%sisiext40 = sext i32 %54 to i64
|
||||
%55 = getelementptr inbounds [3 x i32], ptr %53, i64 0, i64 %sisiext40
|
||||
%sext40 = sext i32 %54 to i64
|
||||
%55 = getelementptr inbounds [3 x i32], ptr %53, i64 0, i64 %sext40
|
||||
%56 = load i32, ptr %55, align 4
|
||||
store i32 %56, ptr %y38, align 4
|
||||
%57 = load i32, ptr %i37, align 4
|
||||
@@ -341,8 +341,8 @@ loop.body47: ; preds = %loop.cond45
|
||||
store i32 %63, ptr %a50, align 4
|
||||
%64 = getelementptr inbounds %Foo, ptr %x, i32 0, i32 0
|
||||
%65 = load i32, ptr %a50, align 4
|
||||
%sisiext51 = sext i32 %65 to i64
|
||||
%66 = getelementptr inbounds [3 x i32], ptr %64, i64 0, i64 %sisiext51
|
||||
%sext51 = sext i32 %65 to i64
|
||||
%66 = getelementptr inbounds [3 x i32], ptr %64, i64 0, i64 %sext51
|
||||
%67 = load i32, ptr %66, align 4
|
||||
store i32 %67, ptr %y49, align 4
|
||||
%68 = load i32, ptr %i48, align 4
|
||||
@@ -440,21 +440,21 @@ loop.exit81: ; preds = %loop.cond75
|
||||
store i32 0, ptr %a82, align 4
|
||||
%98 = getelementptr inbounds %Foo, ptr %x, i32 0, i32 0
|
||||
%99 = load i32, ptr %a82, align 4
|
||||
%sisiext83 = sext i32 %99 to i64
|
||||
%100 = getelementptr inbounds [3 x i32], ptr %98, i64 0, i64 %sisiext83
|
||||
%sext83 = sext i32 %99 to i64
|
||||
%100 = getelementptr inbounds [3 x i32], ptr %98, i64 0, i64 %sext83
|
||||
%101 = load i32, ptr %100, align 4
|
||||
store i32 1, ptr %a84, align 4
|
||||
%102 = getelementptr inbounds %Foo, ptr %x, i32 0, i32 0
|
||||
%103 = load i32, ptr %a84, align 4
|
||||
%sisiext85 = sext i32 %103 to i64
|
||||
%104 = getelementptr inbounds [3 x i32], ptr %102, i64 0, i64 %sisiext85
|
||||
%sext85 = sext i32 %103 to i64
|
||||
%104 = getelementptr inbounds [3 x i32], ptr %102, i64 0, i64 %sext85
|
||||
%105 = load i32, ptr %104, align 4
|
||||
call void (ptr, ...) @printf(ptr @.str.12, i32 %101, i32 %105)
|
||||
store i32 1, ptr %a87, align 4
|
||||
%106 = getelementptr inbounds %Foo, ptr %x, i32 0, i32 0
|
||||
%107 = load i32, ptr %a87, align 4
|
||||
%sisiext88 = sext i32 %107 to i64
|
||||
%108 = getelementptr inbounds [3 x i32], ptr %106, i64 0, i64 %sisiext88
|
||||
%sext88 = sext i32 %107 to i64
|
||||
%108 = getelementptr inbounds [3 x i32], ptr %106, i64 0, i64 %sext88
|
||||
store ptr %108, ptr %y86, align 8
|
||||
%109 = load ptr, ptr %y86, align 8
|
||||
%110 = load i32, ptr %109, align 4
|
||||
@@ -463,14 +463,14 @@ loop.exit81: ; preds = %loop.cond75
|
||||
store i32 0, ptr %a90, align 4
|
||||
%111 = getelementptr inbounds %Foo, ptr %x, i32 0, i32 0
|
||||
%112 = load i32, ptr %a90, align 4
|
||||
%sisiext91 = sext i32 %112 to i64
|
||||
%113 = getelementptr inbounds [3 x i32], ptr %111, i64 0, i64 %sisiext91
|
||||
%sext91 = sext i32 %112 to i64
|
||||
%113 = getelementptr inbounds [3 x i32], ptr %111, i64 0, i64 %sext91
|
||||
%114 = load i32, ptr %113, align 4
|
||||
store i32 1, ptr %a92, align 4
|
||||
%115 = getelementptr inbounds %Foo, ptr %x, i32 0, i32 0
|
||||
%116 = load i32, ptr %a92, align 4
|
||||
%sisiext93 = sext i32 %116 to i64
|
||||
%117 = getelementptr inbounds [3 x i32], ptr %115, i64 0, i64 %sisiext93
|
||||
%sext93 = sext i32 %116 to i64
|
||||
%117 = getelementptr inbounds [3 x i32], ptr %115, i64 0, i64 %sext93
|
||||
%118 = load i32, ptr %117, align 4
|
||||
call void (ptr, ...) @printf(ptr @.str.13, i32 %114, i32 %118)
|
||||
ret void
|
||||
|
||||
@@ -199,17 +199,17 @@ loop.cond26: ; preds = %loop.body28, %loop.
|
||||
|
||||
loop.body28: ; preds = %loop.cond26
|
||||
%29 = load i64, ptr %.anon25, align 8
|
||||
%ztrunc = trunc i64 %29 to i8
|
||||
store i8 %ztrunc, ptr %i29, align 1
|
||||
%trunc = trunc i64 %29 to i8
|
||||
store i8 %trunc, ptr %i29, align 1
|
||||
%30 = load i64, ptr %.anon25, align 8
|
||||
%31 = getelementptr inbounds [3 x float], ptr %foo, i64 0, i64 %30
|
||||
%32 = load float, ptr %31, align 4
|
||||
%fpfpext31 = fpext float %32 to double
|
||||
store double %fpfpext31, ptr %a30, align 8
|
||||
%33 = load i8, ptr %i29, align 1
|
||||
%uisiext = zext i8 %33 to i32
|
||||
%zext = zext i8 %33 to i32
|
||||
%34 = load double, ptr %a30, align 8
|
||||
call void (ptr, ...) @printf(ptr @.str.4, i32 %uisiext, double %34)
|
||||
call void (ptr, ...) @printf(ptr @.str.4, i32 %zext, double %34)
|
||||
%35 = load i64, ptr %.anon25, align 8
|
||||
%add32 = add i64 %35, 1
|
||||
store i64 %add32, ptr %.anon25, align 8
|
||||
@@ -329,17 +329,17 @@ loop.cond72: ; preds = %loop.body74, %loop.
|
||||
|
||||
loop.body74: ; preds = %loop.cond72
|
||||
%69 = load i64, ptr %.anon71, align 8
|
||||
%ztrunc76 = trunc i64 %69 to i8
|
||||
store i8 %ztrunc76, ptr %i75, align 1
|
||||
%trunc76 = trunc i64 %69 to i8
|
||||
store i8 %trunc76, ptr %i75, align 1
|
||||
%70 = load <3 x float>, ptr %foo2, align 16
|
||||
%71 = load i64, ptr %.anon71, align 8
|
||||
%72 = extractelement <3 x float> %70, i64 %71
|
||||
%fpfpext78 = fpext float %72 to double
|
||||
store double %fpfpext78, ptr %a77, align 8
|
||||
%73 = load i8, ptr %i75, align 1
|
||||
%uisiext79 = zext i8 %73 to i32
|
||||
%zext79 = zext i8 %73 to i32
|
||||
%74 = load double, ptr %a77, align 8
|
||||
call void (ptr, ...) @printf(ptr @.str.9, i32 %uisiext79, double %74)
|
||||
call void (ptr, ...) @printf(ptr @.str.9, i32 %zext79, double %74)
|
||||
%75 = load i64, ptr %.anon71, align 8
|
||||
%add80 = add i64 %75, 1
|
||||
store i64 %add80, ptr %.anon71, align 8
|
||||
|
||||
@@ -197,17 +197,17 @@ loop.body28: ; preds = %loop.cond26
|
||||
%sub29 = sub i64 %29, 1
|
||||
store i64 %sub29, ptr %.anon25, align 8
|
||||
%30 = load i64, ptr %.anon25, align 8
|
||||
%ztrunc = trunc i64 %30 to i8
|
||||
store i8 %ztrunc, ptr %i30, align 1
|
||||
%trunc = trunc i64 %30 to i8
|
||||
store i8 %trunc, ptr %i30, align 1
|
||||
%31 = load i64, ptr %.anon25, align 8
|
||||
%32 = getelementptr inbounds [3 x float], ptr %foo, i64 0, i64 %31
|
||||
%33 = load float, ptr %32, align 4
|
||||
%fpfpext32 = fpext float %33 to double
|
||||
store double %fpfpext32, ptr %a31, align 8
|
||||
%34 = load i8, ptr %i30, align 1
|
||||
%uisiext = zext i8 %34 to i32
|
||||
%zext = zext i8 %34 to i32
|
||||
%35 = load double, ptr %a31, align 8
|
||||
call void (ptr, ...) @printf(ptr @.str.4, i32 %uisiext, double %35)
|
||||
call void (ptr, ...) @printf(ptr @.str.4, i32 %zext, double %35)
|
||||
br label %loop.cond26
|
||||
|
||||
loop.exit33: ; preds = %loop.cond26
|
||||
@@ -319,17 +319,17 @@ loop.body71: ; preds = %loop.cond69
|
||||
%sub72 = sub i64 %65, 1
|
||||
store i64 %sub72, ptr %.anon68, align 8
|
||||
%66 = load i64, ptr %.anon68, align 8
|
||||
%ztrunc74 = trunc i64 %66 to i8
|
||||
store i8 %ztrunc74, ptr %i73, align 1
|
||||
%trunc74 = trunc i64 %66 to i8
|
||||
store i8 %trunc74, ptr %i73, align 1
|
||||
%67 = load <3 x float>, ptr %foo2, align 16
|
||||
%68 = load i64, ptr %.anon68, align 8
|
||||
%69 = extractelement <3 x float> %67, i64 %68
|
||||
%fpfpext76 = fpext float %69 to double
|
||||
store double %fpfpext76, ptr %a75, align 8
|
||||
%70 = load i8, ptr %i73, align 1
|
||||
%uisiext77 = zext i8 %70 to i32
|
||||
%zext77 = zext i8 %70 to i32
|
||||
%71 = load double, ptr %a75, align 8
|
||||
call void (ptr, ...) @printf(ptr @.str.9, i32 %uisiext77, double %71)
|
||||
call void (ptr, ...) @printf(ptr @.str.9, i32 %zext77, double %71)
|
||||
br label %loop.cond69
|
||||
|
||||
loop.exit78: ; preds = %loop.cond69
|
||||
|
||||
@@ -93,9 +93,9 @@ entry:
|
||||
store i8 %0, ptr %1, align 16
|
||||
%2 = getelementptr inbounds %Foo5, ptr %y, i32 0, i32 2
|
||||
%3 = load i8, ptr %2, align 16
|
||||
%sisiext = sext i8 %3 to i32
|
||||
%sext = sext i8 %3 to i32
|
||||
%4 = getelementptr inbounds %Foo5, ptr %y, i32 0, i32 0
|
||||
%5 = load i32, ptr %4, align 16
|
||||
%add = add i32 %sisiext, %5
|
||||
%add = add i32 %sext, %5
|
||||
ret i32 %add
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user