bugfix, resolved #90

This commit is contained in:
JanLJL
2023-03-07 17:05:31 +01:00
parent 27828ec5b4
commit 23139d4d5b
3 changed files with 4 additions and 5 deletions

View File

@@ -272,9 +272,7 @@ class KernelDG(nx.DiGraph):
# print(" TO", instr_form.line, register_changes)
if "register" in dst:
# read of register
if self.is_read(dst.register, instr_form) and not (
dst.get("pre_indexed", False) or dst.get("post_indexed", False)
):
if self.is_read(dst.register, instr_form):
yield instr_form, []
# write to register -> abort
if self.is_written(dst.register, instr_form):

View File

@@ -23,3 +23,4 @@
// OSACA-END
fmov s1, #2.0e+2f
prfm pldl1keep, [x26, #2112]
add x11, x11, x11

View File

@@ -369,7 +369,7 @@ class TestSemanticTools(unittest.TestCase):
self.assertTrue(nx.algorithms.dag.is_directed_acyclic_graph(dg.dg))
self.assertEqual(set(dg.get_dependent_instruction_forms(line_number=3)), {7, 8})
self.assertEqual(set(dg.get_dependent_instruction_forms(line_number=4)), {9, 10})
self.assertEqual(set(dg.get_dependent_instruction_forms(line_number=5)), {7, 8})
self.assertEqual(set(dg.get_dependent_instruction_forms(line_number=5)), {6, 7, 8})
self.assertEqual(set(dg.get_dependent_instruction_forms(line_number=6)), {9, 10})
self.assertEqual(next(dg.get_dependent_instruction_forms(line_number=7)), 13)
self.assertEqual(next(dg.get_dependent_instruction_forms(line_number=8)), 14)
@@ -438,7 +438,7 @@ class TestSemanticTools(unittest.TestCase):
self.semantics_tx2,
)
lc_deps = dg.get_loopcarried_dependencies()
self.assertEqual(len(lc_deps), 2)
self.assertEqual(len(lc_deps), 4)
# based on line 6
self.assertEqual(lc_deps[6]["latency"], 28.0)
self.assertEqual(