Skip to content

Instantly share code, notes, and snippets.

Created June 14, 2015 13:24
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save anonymous/55f29c2b165efd66f0a3 to your computer and use it in GitHub Desktop.
Save anonymous/55f29c2b165efd66f0a3 to your computer and use it in GitHub Desktop.
; ModuleID = 'WinterModule'
target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
%struct.barney.1 = type { %struct.quux, float, float, float, float }
%struct.quux = type { <8 x float> }
%struct.bar = type { <4 x float> }
%struct.eggs.2 = type { float, i1 }
%struct.hoge.3 = type { %struct.bar, %struct.bar, %struct.bar, %struct.bar, i32*, i32*, i32*, %struct.hoge, %struct.barney.4, i32*, float, i1, i1, i1, i32*, i32* }
%struct.hoge = type { <2 x float> }
%struct.barney.4 = type { %struct.hoge, i32 }
@global22 = private unnamed_addr constant [14 x i8] c"a_dot_orig_Ng\00"
@global23 = private unnamed_addr constant [9 x i8] c"a_dot_Ns\00"
@global24 = private unnamed_addr constant [9 x i8] c"b_dot_Ns\00"
@global25 = private unnamed_addr constant [17 x i8] c"a_dot_prebump_Ns\00"
@global26 = private unnamed_addr constant [17 x i8] c"smoothing_factor\00"
@global27 = private unnamed_addr constant [15 x i8] c"x_for_n_dot_k1\00"
@global28 = private unnamed_addr constant [15 x i8] c"x_for_n_dot_k2\00"
@global88 = private unnamed_addr constant [8 x i8] c"use_dot\00"
; Function Attrs: nounwind
define internal void @snork146(%struct.barney.1* noalias sret %arg, %struct.quux* noalias readonly %arg1, float %arg2, float %arg3, float %arg4, float %arg5) #0 {
bb:
%tmp = getelementptr inbounds %struct.barney.1* %arg, i32 0, i32 0
%tmp6 = load %struct.quux* %arg1
store %struct.quux %tmp6, %struct.quux* %tmp
%tmp7 = getelementptr inbounds %struct.barney.1* %arg, i32 0, i32 1
store float %arg2, float* %tmp7
%tmp8 = getelementptr inbounds %struct.barney.1* %arg, i32 0, i32 2
store float %arg3, float* %tmp8
%tmp9 = getelementptr inbounds %struct.barney.1* %arg, i32 0, i32 3
store float %arg4, float* %tmp9
%tmp10 = getelementptr inbounds %struct.barney.1* %arg, i32 0, i32 4
store float %arg5, float* %tmp10
ret void
}
; Function Attrs: nounwind
define internal void @foo153(%struct.quux* noalias sret %arg, float %arg1) #0 {
bb:
%tmp = insertelement <8 x float> undef, float %arg1, i32 0
%tmp2 = shufflevector <8 x float> %tmp, <8 x float> undef, <8 x i32> zeroinitializer
call void @wombat154(%struct.quux* %arg, <8 x float> %tmp2)
ret void
}
; Function Attrs: nounwind
define internal void @wombat154(%struct.quux* noalias sret %arg, <8 x float> %arg1) #0 {
bb:
%tmp = getelementptr inbounds %struct.quux* %arg, i32 0, i32 0
store <8 x float> %arg1, <8 x float>* %tmp
ret void
}
; Function Attrs: nounwind
define internal float @foo155(float %arg) #0 {
bb:
%tmp = call float @llvm.fabs.f32(float %arg)
ret float %tmp
}
; Function Attrs: nounwind readnone
declare float @llvm.fabs.f32(float) #1
declare void @blam174(i8*, float)
; Function Attrs: nounwind
define internal float @wombat182(float %arg, float %arg1) #0 {
bb:
%tmp = fcmp olt float %arg, %arg1
br i1 %tmp, label %bb2, label %bb3
bb2: ; preds = %bb
br label %bb4
bb3: ; preds = %bb
br label %bb4
bb4: ; preds = %bb3, %bb2
%tmp5 = phi float [ %arg, %bb2 ], [ %arg1, %bb3 ]
ret float %tmp5
}
; Function Attrs: nounwind
define internal float @wombat183(float %arg, float %arg1) #0 {
bb:
%tmp = fcmp ogt float %arg, %arg1
br i1 %tmp, label %bb2, label %bb3
bb2: ; preds = %bb
br label %bb4
bb3: ; preds = %bb
br label %bb4
bb4: ; preds = %bb3, %bb2
%tmp5 = phi float [ %arg, %bb2 ], [ %arg1, %bb3 ]
ret float %tmp5
}
; Function Attrs: nounwind
define internal void @spam200(%struct.bar* noalias sret %arg, <4 x float> %arg1) #0 {
bb:
%tmp = getelementptr inbounds %struct.bar* %arg, i32 0, i32 0
store <4 x float> %arg1, <4 x float>* %tmp
ret void
}
; Function Attrs: nounwind
define internal float @wobble211(float %arg) #0 {
bb:
%tmp = call float @llvm.sqrt.f32(float %arg)
ret float %tmp
}
; Function Attrs: nounwind
define internal float @eggs245(%struct.bar* noalias readonly %arg, %struct.bar* noalias readonly %arg3) #0 {
bb:
%tmp = getelementptr inbounds %struct.bar* %arg, i32 0, i32 0
%tmp4 = load <4 x float>* %tmp
%tmp5 = getelementptr inbounds %struct.bar* %arg3, i32 0, i32 0
%tmp6 = load <4 x float>* %tmp5
%tmp7 = call float @spam246(<4 x float> %tmp4, <4 x float> %tmp6)
ret float %tmp7
}
; Function Attrs: nounwind
define internal float @spam246(<4 x float> %arg, <4 x float> %arg1) #0 {
bb:
%tmp = call <4 x float> @llvm.x86.sse41.dpps(<4 x float> %arg, <4 x float> %arg1, i8 -1)
%tmp2 = extractelement <4 x float> %tmp, i32 0
ret float %tmp2
}
; Function Attrs: nounwind readnone
declare <4 x float> @llvm.x86.sse41.dpps(<4 x float>, <4 x float>, i8) #1
; Function Attrs: nounwind
define void @pluto323(%struct.barney.1* noalias sret %arg, %struct.eggs.2* noalias readonly %arg12, %struct.hoge.3* noalias readonly %arg13, %struct.bar* noalias readonly %arg14, %struct.bar* noalias readonly %arg15, %struct.quux* noalias readonly %arg16) #0 {
bb:
%tmp = alloca %struct.quux
%tmp17 = alloca %struct.bar
%tmp18 = alloca %struct.bar
%tmp19 = getelementptr inbounds %struct.hoge.3* %arg13, i32 0, i32 0
%tmp20 = call float @eggs245(%struct.bar* %arg14, %struct.bar* %tmp19)
call void @blam174(i8* getelementptr inbounds ([14 x i8]* @global22, i32 0, i32 0), float %tmp20)
%tmp21 = getelementptr inbounds %struct.hoge.3* %arg13, i32 0, i32 1
%tmp22 = getelementptr inbounds %struct.hoge.3* %arg13, i32 0, i32 0
%tmp23 = call float @eggs245(%struct.bar* %tmp21, %struct.bar* %tmp22)
%tmp24 = fmul nnan ninf nsz float %tmp23, %tmp20
%tmp25 = fcmp ogt float %tmp24, 0.000000e+00
br i1 %tmp25, label %bb26, label %bb28
bb26: ; preds = %bb
%tmp27 = getelementptr inbounds %struct.hoge.3* %arg13, i32 0, i32 1
br label %bb30
bb28: ; preds = %bb
%tmp29 = getelementptr inbounds %struct.hoge.3* %arg13, i32 0, i32 1
call void @widget324(%struct.bar* %tmp18, %struct.bar* %tmp29)
br label %bb30
bb30: ; preds = %bb28, %bb26
%tmp31 = phi %struct.bar* [ %tmp27, %bb26 ], [ %tmp18, %bb28 ]
%tmp32 = getelementptr inbounds %struct.hoge.3* %arg13, i32 0, i32 1
%tmp33 = getelementptr inbounds %struct.hoge.3* %arg13, i32 0, i32 0
%tmp34 = call float @eggs245(%struct.bar* %tmp32, %struct.bar* %tmp33)
%tmp35 = fmul nnan ninf nsz float %tmp34, %tmp20
%tmp36 = fcmp ogt float %tmp35, 0.000000e+00
br i1 %tmp36, label %bb37, label %bb39
bb37: ; preds = %bb30
%tmp38 = getelementptr inbounds %struct.hoge.3* %arg13, i32 0, i32 2
br label %bb41
bb39: ; preds = %bb30
%tmp40 = getelementptr inbounds %struct.hoge.3* %arg13, i32 0, i32 2
call void @widget324(%struct.bar* %tmp17, %struct.bar* %tmp40)
br label %bb41
bb41: ; preds = %bb39, %bb37
%tmp42 = phi %struct.bar* [ %tmp38, %bb37 ], [ %tmp17, %bb39 ]
%tmp43 = call float @eggs245(%struct.bar* %arg14, %struct.bar* %tmp31)
call void @blam174(i8* getelementptr inbounds ([9 x i8]* @global23, i32 0, i32 0), float %tmp43)
%tmp44 = call float @eggs245(%struct.bar* %arg15, %struct.bar* %tmp31)
call void @blam174(i8* getelementptr inbounds ([9 x i8]* @global24, i32 0, i32 0), float %tmp44)
%tmp45 = call float @eggs245(%struct.bar* %arg14, %struct.bar* %tmp42)
call void @blam174(i8* getelementptr inbounds ([17 x i8]* @global25, i32 0, i32 0), float %tmp45)
%tmp46 = call float @snork325(float %tmp45, float %tmp43, float %tmp20)
call void @blam174(i8* getelementptr inbounds ([17 x i8]* @global26, i32 0, i32 0), float %tmp46)
%tmp47 = call float @wombat326(float %tmp43)
call void @blam174(i8* getelementptr inbounds ([15 x i8]* @global27, i32 0, i32 0), float %tmp47)
%tmp48 = call float @foo155(float %tmp44)
%tmp49 = call float @wombat326(float %tmp48)
call void @blam174(i8* getelementptr inbounds ([15 x i8]* @global28, i32 0, i32 0), float %tmp49)
%tmp50 = fmul nnan ninf nsz float %tmp47, %tmp49
call void @foo153(%struct.quux* %tmp, float %tmp50)
call void @snork146(%struct.barney.1* %arg, %struct.quux* %tmp, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00)
ret void
}
; Function Attrs: nounwind
define internal void @widget324(%struct.bar* noalias sret %arg, %struct.bar* noalias readonly %arg1) #0 {
bb:
%tmp = getelementptr inbounds %struct.bar* %arg1, i32 0, i32 0
%tmp2 = load <4 x float>* %tmp
%tmp3 = fmul nnan ninf nsz <4 x float> %tmp2, <float -1.000000e+00, float -1.000000e+00, float -1.000000e+00, float -1.000000e+00>
call void @spam200(%struct.bar* %arg, <4 x float> %tmp3)
ret void
}
; Function Attrs: nounwind
define internal float @snork325(float %arg, float %arg1, float %arg2) #0 {
bb:
%tmp = fmul nnan ninf nsz float %arg, 5.000000e+00
%tmp3 = call float @wombat182(float %tmp, float %arg1)
call void @blam174(i8* getelementptr inbounds ([8 x i8]* @global88, i32 0, i32 0), float %tmp3)
%tmp4 = call float @foo155(float %arg2)
%tmp5 = fdiv nnan ninf nsz float %tmp3, %tmp4
%tmp6 = call float @wombat183(float %tmp5, float 0.000000e+00)
ret float %tmp6
}
; Function Attrs: nounwind
define internal float @wombat326(float %arg) #0 {
bb:
%tmp = call float @wobble211(float %arg)
%tmp1 = fsub nnan ninf nsz float 1.000000e+00, %tmp
ret float %tmp1
}
; Function Attrs: nounwind readnone
declare float @llvm.sqrt.f32(float) #1
attributes #0 = { nounwind }
attributes #1 = { nounwind readnone }
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment