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 5 target datalayout = "e-p:32:32-i64:64-v128:64:128-n32-S64" 6 target 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 11 define void @an_invokable(float %i) local_unnamed_addr #0 { 12 entry: 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 19 declare void @_Z7rsDebugPKci(i8*, i32) local_unnamed_addr #1 20 21 ; Function Attrs: norecurse nounwind readnone 22 define internal fastcc float @sum(float %i, float %j) unnamed_addr #2 { 23 entry: 24 %add = fadd float %i, %j 25 ret float %add 26 } 27 28 ; Function Attrs: norecurse nounwind readnone 29 define float @inc(float %i) local_unnamed_addr #2 { 30 entry: 31 %call = tail call fastcc float @sum(float %i, float 1.000000e+00) 32 ret float %call 33 } 34 35 ; Function Attrs: noinline nounwind 36 define void @.helper_an_invokable({ float }* nocapture) local_unnamed_addr #3 { 37 entry: 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 44 attributes #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" } 45 attributes #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" } 46 attributes #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" } 47 attributes #3 = { noinline nounwind } 48 attributes #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