From d3f4c2ef8afa87619af1a92c23e3e97711835015 Mon Sep 17 00:00:00 2001 From: Yann Herklotz Date: Sun, 6 Mar 2022 17:52:06 +0000 Subject: Fix RAW dependency calculation for predicates --- src/hls/Schedule.ml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/hls/Schedule.ml b/src/hls/Schedule.ml index 1969cad..11c7308 100644 --- a/src/hls/Schedule.ml +++ b/src/hls/Schedule.ml @@ -328,6 +328,7 @@ let accumulate_RAW_deps map dfg curr = match curr with | RBop (op, _, rs, dst) -> acc_dep_instruction rs dst | RBload (op, _mem, _addr, rs, dst) -> acc_dep_instruction rs dst + | RBsetpred (_op, _mem, rs, _p) -> acc_dep_instruction_nodst rs | RBstore (op, _mem, _addr, rs, src) -> acc_dep_instruction_nodst (src :: rs) | _ -> (i + 1, dst_map, graph) @@ -425,6 +426,7 @@ let get_predicate = function | RBop (p, _, _, _) -> p | RBload (p, _, _, _, _) -> p | RBstore (p, _, _, _, _) -> p + | RBsetpred (p, _, _, _) -> p | _ -> None let rec next_setpred p i = function @@ -448,6 +450,7 @@ let rec next_preduse p i instr= | RBload (Some p', _, _, _, _) :: rst -> next p' rst | RBstore (Some p', _, _, _, _) :: rst -> next p' rst | RBop (Some p', _, _, _) :: rst -> next p' rst + | RBsetpred (Some p', _, _, _) :: rst -> next p' rst | _ :: rst -> next_load (i + 1) rst let accumulate_RAW_pred_deps instrs dfg curri = -- cgit