diff options
Diffstat (limited to 'riscV/ExpansionOracle.ml')
-rw-r--r-- | riscV/ExpansionOracle.ml | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/riscV/ExpansionOracle.ml b/riscV/ExpansionOracle.ml index e0c9b9b2..b54bd5e1 100644 --- a/riscV/ExpansionOracle.ml +++ b/riscV/ExpansionOracle.ml @@ -1053,15 +1053,15 @@ let expanse (sb : superblock) code pm = | _ -> ()); (* Update code, liveins, pathmap, and order of the superblock for one expansion *) if !was_exp then ( - node := !node + List.length !exp - 1; (if !was_branch && List.length !exp > 1 then let lives = PTree.get n !liveins in match lives with | Some lives -> - let new_branch_pc = n2p () in + let new_branch_pc = P.of_int (!node + 1) in liveins := PTree.set new_branch_pc lives !liveins; liveins := PTree.remove n !liveins | _ -> ()); + node := !node + List.length !exp - 1; write_pathmap sb.instructions.(0) (List.length !exp - 1) pm'; write_tree vn (List.rev !exp) n !node code' new_order true) else new_order := n :: !new_order) |