Guest User

Untitled

a guest
Oct 18th, 2017
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.82 KB | None | 0 0
  1. ; ModuleID = '<stdin>'
  2. source_filename = "kernel.cpp.kernel.tmp.cpp"
  3. target datalayout = "e-p:64:64-p1:64:64-p2:64:64-p3:32:32-p4:32:32-p5:32:32-i64:64-v16:16-v24:32-v32:32-v48:64-v96:128-v192:256-v256:256-v512:512-v1024:1024-v2048:2048-n32:64-A5"
  4. target triple = "amdgcn--amdhsa-hcc"
  5.  
  6. %struct.grid_launch_parm = type { %struct.gl_dim3, %struct.gl_dim3, i32, i32, i32, %"class.hc::accelerator_view"*, %"class.hc::completion_future"* }
  7. %struct.gl_dim3 = type { i32, i32, i32 }
  8. %"class.hc::accelerator_view" = type opaque
  9. %"class.hc::completion_future" = type opaque
  10.  
  11. @llvm.used = appending global [1 x i8*] [i8* bitcast (void (%struct.grid_launch_parm addrspace(5)*, float*, float*, i32)* @__hcLaunchKernel__Z15matrixTranspose16grid_launch_parmPfS0_i to i8*)], section "llvm.metadata"
  12.  
  13. ; Function Attrs: alwaysinline nounwind
  14. define void @_Z15matrixTranspose16grid_launch_parmPfS0_i(%struct.grid_launch_parm addrspace(5)* byval nocapture readnone align 8 %lp, float* nocapture %out, float* nocapture readonly %in, i32 %width) #0 {
  15. %call = tail call i64 @hc_get_group_size(i32 0) #2
  16. %call1 = tail call i64 @hc_get_group_id(i32 0) #2
  17. %mul = mul nsw i64 %call1, %call
  18. %call2 = tail call i64 @hc_get_workitem_id(i32 0) #2
  19. %add = add nsw i64 %mul, %call2
  20. %conv = trunc i64 %add to i32
  21. %call3 = tail call i64 @hc_get_group_size(i32 1) #2
  22. %call4 = tail call i64 @hc_get_group_id(i32 1) #2
  23. %mul5 = mul nsw i64 %call4, %call3
  24. %call6 = tail call i64 @hc_get_workitem_id(i32 1) #2
  25. %add7 = add nsw i64 %mul5, %call6
  26. %conv8 = trunc i64 %add7 to i32
  27. %mul9 = mul nsw i32 %conv, %width
  28. %add10 = add nsw i32 %mul9, %conv8
  29. %idxprom = sext i32 %add10 to i64
  30. %arrayidx = getelementptr inbounds float, float* %out, i64 %idxprom
  31. %mul11 = mul nsw i32 %conv8, %width
  32. %add12 = add nsw i32 %mul11, %conv
  33. %idxprom13 = sext i32 %add12 to i64
  34. %arrayidx14 = getelementptr inbounds float, float* %in, i64 %idxprom13
  35. %1 = load float, float* %arrayidx14, align 4, !tbaa !2
  36. %2 = tail call float asm sideeffect "v_mov_b32_e32 $0, $1", "=v,v"(float %1) #3, !srcloc !6
  37. store float %2, float* %arrayidx, align 4, !tbaa !2
  38. ret void
  39. }
  40.  
  41. ; Function Attrs: nounwind readnone
  42. declare i64 @hc_get_group_size(i32) local_unnamed_addr #1
  43.  
  44. ; Function Attrs: nounwind readnone
  45. declare i64 @hc_get_group_id(i32) local_unnamed_addr #1
  46.  
  47. ; Function Attrs: nounwind readnone
  48. declare i64 @hc_get_workitem_id(i32) local_unnamed_addr #1
  49.  
  50. declare void @__hcLaunchKernel__Z15matrixTranspose16grid_launch_parmPfS0_i(%struct.grid_launch_parm addrspace(5)*, float*, float*, i32)
  51.  
  52. attributes #0 = { alwaysinline nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "hc_grid_launch" "less-precise-fpmad"="false" "no-frame-pointer-elim"="true" "no-frame-pointer-elim-non-leaf" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="false" "stack-protector-buffer-size"="8" "target-features"="+fp64-fp16-denormals,-fp32-denormals" "unsafe-fp-math"="false" "use-soft-float"="false" }
  53. attributes #1 = { nounwind readnone "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "less-precise-fpmad"="false" "no-frame-pointer-elim"="true" "no-frame-pointer-elim-non-leaf" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="false" "stack-protector-buffer-size"="8" "target-features"="+fp64-fp16-denormals,-fp32-denormals" "unsafe-fp-math"="false" "use-soft-float"="false" }
  54. attributes #2 = { nobuiltin nounwind readnone }
  55. attributes #3 = { nounwind }
  56.  
  57. !llvm.module.flags = !{!0}
  58. !llvm.ident = !{!1}
  59.  
  60. !0 = !{i32 1, !"wchar_size", i32 4}
  61. !1 = !{!"HCC clang version 5.0.0 (based on HCC 1.0.17312-d1f4a8a-19aa706-56b5abe )"}
  62. !2 = !{!3, !3, i64 0}
  63. !3 = !{!"float", !4, i64 0}
  64. !4 = !{!"omnipotent char", !5, i64 0}
  65. !5 = !{!"Simple C++ TBAA"}
  66. !6 = !{i32 460}
Add Comment
Please, Sign In to add comment