Change hw6 to an unsolved version.
Signed-off-by: jmug <u.g.a.mariano@gmail.com>
This commit is contained in:
parent
0c04936ccf
commit
ee01a8f5b2
186 changed files with 9605 additions and 4019 deletions
37
hw6/llprograms/sp24_hw3/mariaagn_matrixsum.ll
Normal file
37
hw6/llprograms/sp24_hw3/mariaagn_matrixsum.ll
Normal file
|
|
@ -0,0 +1,37 @@
|
|||
%arr = type [6 x i64]
|
||||
|
||||
@my_arr = global [6 x %arr] [ %arr [ i64 1, i64 2, i64 3, i64 4, i64 5, i64 6 ],
|
||||
%arr [ i64 1, i64 2, i64 3, i64 4, i64 5, i64 6 ],
|
||||
%arr [ i64 1, i64 2, i64 3, i64 4, i64 5, i64 6 ],
|
||||
%arr [ i64 1, i64 2, i64 3, i64 4, i64 5, i64 6 ],
|
||||
%arr [ i64 1, i64 2, i64 3, i64 4, i64 5, i64 6 ],
|
||||
%arr [ i64 1, i64 2, i64 3, i64 4, i64 5, i64 6 ] ]
|
||||
|
||||
|
||||
define i64 @main(i64 %argc, i8** %arcv) {
|
||||
%2 = call i64 @get_matrix_sum([6 x %arr]* @my_arr, i64 0, i64 0, i64 0)
|
||||
ret i64 %2
|
||||
}
|
||||
|
||||
|
||||
define i64 @get_matrix_sum([6 x %arr]* %matrix, i64 %running_sum, i64 %row, i64 %col) {
|
||||
%check_row = icmp eq i64 %row, 6
|
||||
br i1 %check_row, label %end, label %check
|
||||
check:
|
||||
%check_col = icmp eq i64 %col, 6
|
||||
br i1 %check_col, label %next_row, label %add_col
|
||||
next_row:
|
||||
%nxt_row = add i64 %row, 1
|
||||
%rv1 = call i64 @get_matrix_sum([6 x %arr]* %matrix, i64 %running_sum, i64 %nxt_row, i64 0)
|
||||
ret i64 %rv1
|
||||
add_col:
|
||||
%c = getelementptr [6 x %arr], [6 x %arr]* %matrix, i64 0, i64 %row, i64 %col
|
||||
%val = load i64, i64* %c
|
||||
%update_sum = add i64 %running_sum, %val
|
||||
%nxt_col = add i64 %col, 1
|
||||
%rv2 = call i64 @get_matrix_sum([6 x %arr]* %matrix, i64 %update_sum, i64 %row, i64 %nxt_col)
|
||||
ret i64 %rv2
|
||||
end:
|
||||
ret i64 %running_sum
|
||||
}
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue