diff options
author | Yann Herklotz <git@yannherklotz.com> | 2022-03-06 17:52:06 +0000 |
---|---|---|
committer | Yann Herklotz <git@yannherklotz.com> | 2022-03-06 17:52:06 +0000 |
commit | d3f4c2ef8afa87619af1a92c23e3e97711835015 (patch) | |
tree | 5dcaf5437fb699fe5d0efda9465a1e34df3d21f1 /src | |
parent | 518acb94265ad29f7a6081efb682d10bc685e759 (diff) | |
download | vericert-d3f4c2ef8afa87619af1a92c23e3e97711835015.tar.gz vericert-d3f4c2ef8afa87619af1a92c23e3e97711835015.zip |
Fix RAW dependency calculation for predicates
Diffstat (limited to 'src')
-rw-r--r-- | src/hls/Schedule.ml | 3 |
1 files changed, 3 insertions, 0 deletions
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 = |