llvm-hs-pretty-0.4.0.0: tests/input/tensorflow_kernel.ll
define float @someFunc(float * %d1, float *%v1) {
%1 = fadd float 3.0, 4.0
%2 = load float, float *%d1
%3 = getelementptr float , float *%d1, i32 3
store float %2, float *%3
ret float 4.5
}
define void @someKernel(float * %d1, float * %d2) {
%1 = alloca float *, i32 1
%2 = load float *, float **%1
%3 = call float @someFunc(float *%d1, float *%2)
%4 = call float @someFunc(float *%2, float *%d1)
%5 = call float @someFunc(float *%d1, float *%d1)
ret void
}
; %29 = getelementptr %struct.mystruct , %struct.mystruct *%24, i32 0, i32 0
define void @testBranches_phifromfuture(float *%d1) {
label1:
%0 = fadd float 3.0, 4.0
br label %label2
label2:
%1 = phi float [%0, %label1], [%2, %label2], [%4, %label3]
%2 = fadd float %1, 7.0
%3 = fcmp ogt float %2, 6.0
br i1 %3, label %label1, label %label2
label3:
%4 = fadd float 8.0, 2.0
br label %label2
}
define float *@returnsPointer(float *%in) {
ret float * %in
}
define void @usesPointerFunction(float *%in) {
call float *@returnsPointer(float *%in)
%2 = alloca float, i32 1
call float *@returnsPointer(float *%2)
ret void
}
define void @returnsVoid(float *%in) {
store float 3.0, float * %in
ret void
}
define void @usesFunctionReturningVoid(float *%in) {
call void @returnsVoid(float *%in)
ret void
}
define void @mysuperlongfunctionnamemysuperlongfunctionnamemysuperlongfunctionnamemysuperlongfunctionnamemysuperlongfunctionnamemysuperlongfunctionnamemysuperlongfunctionnamemysuperlongfunctionnamea(float *%d) {
ret void
}
define void @mysuperlongfunctionnamemysuperlongfunctionnamemysuperlongfunctionnamemysuperlongfunctionnamemysuperlongfunctionnamemysuperlongfunctionnamemysuperlongfunctionnamemysuperlongfunctionnameb(float *%d) {
ret void
}
define void @mysuperlongfunctionnamemysuperlongfunctionnamemysuperlongfunctionnamemysuperlongfunctionnamemysuperlongfunctionnamemysuperlongfunctionnamemysuperlongfunctionnamemysuperlongfunctionnamec(float *%d) {
call void @mysuperlongfunctionnamemysuperlongfunctionnamemysuperlongfunctionnamemysuperlongfunctionnamemysuperlongfunctionnamemysuperlongfunctionnamemysuperlongfunctionnamemysuperlongfunctionnamea(float *%d)
call void @mysuperlongfunctionnamemysuperlongfunctionnamemysuperlongfunctionnamemysuperlongfunctionnamemysuperlongfunctionnamemysuperlongfunctionnamemysuperlongfunctionnamemysuperlongfunctionnameb(float *%d)
ret void
}
%"class.tensorflow::random::Array" = type { [4 x i32] }
define void @test_randomintarray(i32 *%data) {
%1 = alloca %"class.tensorflow::random::Array", i32 1
%2 = load %"class.tensorflow::random::Array", %"class.tensorflow::random::Array"* %1
%3 = extractvalue %"class.tensorflow::random::Array" %2, 0
%4 = extractvalue [4 x i32] %3, 0
%5 = extractvalue [4 x i32] %3, 1
%6 = extractvalue [4 x i32] %3, 2
%7 = add i32 %4, %5
%8 = add i32 %7, %6
store i32 %8, i32* %data
ret void
}