You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I added the following tests to the test folder. Each one contains (what I believe are) the expected results from the compiler, followed by a single method implementing the computation.
1.Matrix multiply (matrix_multiply.c)
2.Matrix/vector multiply (matrix_vector_multiply.c)
3.Forward (triangular) solve (forward_solve.c)
4.COO format sparse matrix vector multiply (coo_spmv.c)
5.CSR format spmv (csr_spmv.c)
Here are the issues I found -- discrepancies between my expectations and the compiler's results. They're really just lists of statements missing from the compiler's output, since that was the only sort of issue encountered. These tests were performed at d7ec3d9.
return statement in the first if statement, everything after the first statement of the second (nested) loop including the return statement after the loops conclude.
return statement in the first if, everything after first statement of the first loop (similar to the previous issue)
every statement after the start of the second for loop (which is not nested in the first)
the statement in the loop and the final return statement -- only the iterator variable initialization is counted
same as previous, except there are two iterator variables with both initializations printed
Given my limited knowledge of the compiler code I don't know what is causing these issues yet. It does seem that the compiler ignores return statements entirely. From a separate test, I know it is not simply ignoring statements that occur inside an if -- however, when it does pick up a statement inside an if, the if condition is not noted in the iteration domain or execution schedule. Additionally, chunks of (sequential) statements with no clear reason for being left out were missing in almost every test.
The text was updated successfully, but these errors were encountered:
if statements can be represented as constraints in the presgbugger sets
if a statement is in an if statement we take out the if statement but have the domain of elements in that if statement have a constraint of the if condition in the presburger formula.
Return statements are ignored too
the idea is to manipulate the content of the function (each individual statements) and go do some transformations on the IR and bring it back to replace the original code you dont want to permute your return statement right? or do transformation on your return statement
Ah i see about the if condition. There was a lot of things left un implemented in the software, I had to do all of this from the scratch in a single semester.
I would take note of them when I have the time to continue the project
I added the following tests to the
test
folder. Each one contains (what I believe are) the expected results from the compiler, followed by a single method implementing the computation.1.Matrix multiply (matrix_multiply.c)
2.Matrix/vector multiply (matrix_vector_multiply.c)
3.Forward (triangular) solve (forward_solve.c)
4.COO format sparse matrix vector multiply (coo_spmv.c)
5.CSR format spmv (csr_spmv.c)
Here are the issues I found -- discrepancies between my expectations and the compiler's results. They're really just lists of statements missing from the compiler's output, since that was the only sort of issue encountered. These tests were performed at d7ec3d9.
return
statement in the firstif
statement, everything after the first statement of the second (nested) loop including thereturn
statement after the loops conclude.return
statement in the firstif
, everything after first statement of the first loop (similar to the previous issue)for
loop (which is not nested in the first)Given my limited knowledge of the compiler code I don't know what is causing these issues yet. It does seem that the compiler ignores
return
statements entirely. From a separate test, I know it is not simply ignoring statements that occur inside anif
-- however, when it does pick up a statement inside anif
, theif
condition is not noted in the iteration domain or execution schedule. Additionally, chunks of (sequential) statements with no clear reason for being left out were missing in almost every test.The text was updated successfully, but these errors were encountered: