Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ; ModuleID = 'add_u8S'
- target triple = "x86_64-apple-darwin12.5.0"
- %likely_matrix = type { i8*, i32, i32, i32, i32, i32, %likely_matrix_private* }
- %likely_matrix_private = type opaque
- ; Function Attrs: nounwind
- define noalias %likely_matrix* @add_u8S(%likely_matrix* noalias nocapture %srcA) #0 {
- entry:
- %0 = getelementptr inbounds %likely_matrix* %srcA, i32 0, i32 1
- %kernel_type = load i32* %0
- %1 = getelementptr inbounds %likely_matrix* %srcA, i32 0, i32 2
- %kernel_channels = load i32* %1
- %2 = getelementptr inbounds %likely_matrix* %srcA, i32 0, i32 3
- %kernel_columns = load i32* %2
- %3 = getelementptr inbounds %likely_matrix* %srcA, i32 0, i32 4
- %kernel_rows = load i32* %3
- %4 = getelementptr inbounds %likely_matrix* %srcA, i32 0, i32 5
- %kernel_frames = load i32* %4
- %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)
- %6 = getelementptr inbounds %likely_matrix* %srcA, i32 0, i32 2
- %kernel_channels1 = load i32* %6
- %7 = getelementptr inbounds %likely_matrix* %srcA, i32 0, i32 3
- %kernel_columns2 = load i32* %7
- %8 = mul i32 %kernel_channels1, %kernel_columns2
- %9 = getelementptr inbounds %likely_matrix* %srcA, i32 0, i32 4
- %kernel_rows3 = load i32* %9
- %10 = mul i32 %8, %kernel_rows3
- %11 = getelementptr inbounds %likely_matrix* %srcA, i32 0, i32 5
- %kernel_frames4 = load i32* %11
- %12 = mul i32 %10, %kernel_frames4
- %13 = getelementptr inbounds %likely_matrix* %srcA, i32 0, i32 0
- %kernel_data = load i8** %13
- %14 = getelementptr inbounds %likely_matrix* %5, i32 0, i32 0
- %kernel_data8 = load i8** %14
- br label %kernel_loop_body
- kernel_loop_body: ; preds = %kernel_loop_latch, %entry
- %kernel_i = phi i32 [ 0, %entry ], [ %kernel_loop_increment, %kernel_loop_latch ]
- %15 = getelementptr i8* %kernel_data, i32 %kernel_i
- %16 = load i8* %15, !llvm.mem.parallel_loop_access !0
- %kernel = add i8 %16, 32
- %kernel5 = icmp ult i8 %kernel, %16
- %17 = zext i1 %kernel5 to i8
- %kernel6 = sub i8 0, %17
- %kernel7 = or i8 %kernel, %kernel6
- %18 = getelementptr i8* %kernel_data8, i32 %kernel_i
- store i8 %kernel7, i8* %18, !llvm.mem.parallel_loop_access !0
- %kernel_loop_increment = add i32 %kernel_i, 1
- br label %kernel_loop_latch
- kernel_loop_latch: ; preds = %kernel_loop_body
- %kernel_loop_test = icmp eq i32 %kernel_loop_increment, %12
- br i1 %kernel_loop_test, label %kernel_loop_exit, label %kernel_loop_body, !llvm.loop !0
- kernel_loop_exit: ; preds = %kernel_loop_latch
- ret %likely_matrix* %5
- }
- declare noalias %likely_matrix* @likely_new(i32, i32, i32, i32, i32, i8* noalias nocapture, i8)
- attributes #0 = { nounwind }
- !0 = metadata !{metadata !0}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement