1; RUN: rs2spirv_lit_driver.sh %s | FileCheck %s 2; CHECK: OpEntryPoint GLCompute %{{[a-zA-Z_0-9]*}} "entry_inc" %gl_GlobalInvocationID 3; CHECK-NOT: an_invokable 4 5target datalayout = "e-p:32:32-i64:64-v128:64:128-n32-S64" 6target triple = "armv7-none-linux-gnueabi" 7 8@.str = private unnamed_addr constant [24 x i8] c"test_root_output FAILED\00", align 1 9 10; Function Attrs: nounwind 11define void @an_invokable(float %i) local_unnamed_addr #0 { 12entry: 13 %call = tail call fastcc float @sum(float %i, float 2.000000e+00) 14 %conv = fptosi float %call to i32 15 tail call void @_Z7rsDebugPKci(i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str, i32 0, i32 0), i32 %conv) #4 16 ret void 17} 18 19declare void @_Z7rsDebugPKci(i8*, i32) local_unnamed_addr #1 20 21; Function Attrs: norecurse nounwind readnone 22define internal fastcc float @sum(float %i, float %j) unnamed_addr #2 { 23entry: 24 %add = fadd float %i, %j 25 ret float %add 26} 27 28; Function Attrs: norecurse nounwind readnone 29define float @inc(float %i) local_unnamed_addr #2 { 30entry: 31 %call = tail call fastcc float @sum(float %i, float 1.000000e+00) 32 ret float %call 33} 34 35; Function Attrs: noinline nounwind 36define void @.helper_an_invokable({ float }* nocapture) local_unnamed_addr #3 { 37entry: 38 %1 = getelementptr inbounds { float }, { float }* %0, i32 0, i32 0 39 %2 = load float, float* %1, align 4 40 tail call void @an_invokable(float %2) 41 ret void 42} 43 44attributes #0 = { nounwind "disable-tail-calls"="false" "less-precise-fpmad"="false" "no-frame-pointer-elim"="false" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "stack-protector-buffer-size"="0" "stackrealign" "unsafe-fp-math"="false" "use-soft-float"="false" } 45attributes #1 = { "disable-tail-calls"="false" "less-precise-fpmad"="false" "no-frame-pointer-elim"="false" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "stack-protector-buffer-size"="0" "stackrealign" "unsafe-fp-math"="false" "use-soft-float"="false" } 46attributes #2 = { norecurse nounwind readnone "disable-tail-calls"="false" "less-precise-fpmad"="false" "no-frame-pointer-elim"="false" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "stack-protector-buffer-size"="0" "stackrealign" "unsafe-fp-math"="false" "use-soft-float"="false" } 47attributes #3 = { noinline nounwind } 48attributes #4 = { nounwind } 49 50!llvm.module.flags = !{!0, !1} 51!llvm.ident = !{!2} 52!\23pragma = !{!3, !4} 53!\23rs_export_func = !{!5} 54!\23rs_export_foreach_name = !{!6, !7} 55!\23rs_export_foreach = !{!8, !9} 56 57!0 = !{i32 1, !"wchar_size", i32 4} 58!1 = !{i32 1, !"min_enum_size", i32 4} 59!2 = !{!"Android clang version 3.8.275480 (based on LLVM 3.8.275480)"} 60!3 = !{!"version", !"1"} 61!4 = !{!"java_package_name", !"rs2spirv"} 62!5 = !{!".helper_an_invokable"} 63!6 = !{!"root"} 64!7 = !{!"inc"} 65!8 = !{!"0"} 66!9 = !{!"35"} 67