Advertisement
Guest User

Untitled

a guest
Nov 15th, 2013
97
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.82 KB | None | 0 0
  1. ; ModuleID = 'add_u8S'
  2. target triple = "x86_64-apple-darwin12.5.0"
  3.  
  4. %likely_matrix = type { i8*, i32, i32, i32, i32, i32, %likely_matrix_private* }
  5. %likely_matrix_private = type opaque
  6.  
  7. ; Function Attrs: nounwind
  8. define noalias %likely_matrix* @add_u8S(%likely_matrix* noalias nocapture %srcA) #0 {
  9. entry:
  10. %0 = getelementptr inbounds %likely_matrix* %srcA, i32 0, i32 1
  11. %kernel_type = load i32* %0
  12. %1 = getelementptr inbounds %likely_matrix* %srcA, i32 0, i32 2
  13. %kernel_channels = load i32* %1
  14. %2 = getelementptr inbounds %likely_matrix* %srcA, i32 0, i32 3
  15. %kernel_columns = load i32* %2
  16. %3 = getelementptr inbounds %likely_matrix* %srcA, i32 0, i32 4
  17. %kernel_rows = load i32* %3
  18. %4 = getelementptr inbounds %likely_matrix* %srcA, i32 0, i32 5
  19. %kernel_frames = load i32* %4
  20. %5 = call %likely_matrix* @likely_new(i32 %kernel_type, i32 %kernel_channels, i32 %kernel_columns, i32 %kernel_rows, i32 %kernel_frames, i8* null, i8 0)
  21. %6 = getelementptr inbounds %likely_matrix* %srcA, i32 0, i32 2
  22. %kernel_channels1 = load i32* %6
  23. %7 = getelementptr inbounds %likely_matrix* %srcA, i32 0, i32 3
  24. %kernel_columns2 = load i32* %7
  25. %8 = mul i32 %kernel_channels1, %kernel_columns2
  26. %9 = getelementptr inbounds %likely_matrix* %srcA, i32 0, i32 4
  27. %kernel_rows3 = load i32* %9
  28. %10 = mul i32 %8, %kernel_rows3
  29. %11 = getelementptr inbounds %likely_matrix* %srcA, i32 0, i32 5
  30. %kernel_frames4 = load i32* %11
  31. %12 = mul i32 %10, %kernel_frames4
  32. %13 = getelementptr inbounds %likely_matrix* %srcA, i32 0, i32 0
  33. %kernel_data = load i8** %13
  34. %14 = getelementptr inbounds %likely_matrix* %5, i32 0, i32 0
  35. %kernel_data8 = load i8** %14
  36. br label %kernel_loop_body
  37.  
  38. kernel_loop_body: ; preds = %kernel_loop_latch, %entry
  39. %kernel_i = phi i32 [ 0, %entry ], [ %kernel_loop_increment, %kernel_loop_latch ]
  40. %15 = getelementptr i8* %kernel_data, i32 %kernel_i
  41. %16 = load i8* %15, !llvm.mem.parallel_loop_access !0
  42. %kernel = add i8 %16, 32
  43. %kernel5 = icmp ult i8 %kernel, %16
  44. %17 = zext i1 %kernel5 to i8
  45. %kernel6 = sub i8 0, %17
  46. %kernel7 = or i8 %kernel, %kernel6
  47. %18 = getelementptr i8* %kernel_data8, i32 %kernel_i
  48. store i8 %kernel7, i8* %18, !llvm.mem.parallel_loop_access !0
  49. %kernel_loop_increment = add i32 %kernel_i, 1
  50. br label %kernel_loop_latch
  51.  
  52. kernel_loop_latch: ; preds = %kernel_loop_body
  53. %kernel_loop_test = icmp eq i32 %kernel_loop_increment, %12
  54. br i1 %kernel_loop_test, label %kernel_loop_exit, label %kernel_loop_body, !llvm.loop !0
  55.  
  56. kernel_loop_exit: ; preds = %kernel_loop_latch
  57. ret %likely_matrix* %5
  58. }
  59.  
  60. declare noalias %likely_matrix* @likely_new(i32, i32, i32, i32, i32, i8* noalias nocapture, i8)
  61.  
  62. attributes #0 = { nounwind }
  63.  
  64. !0 = metadata !{metadata !0}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement