packages feed

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
}