aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--riscV/ExpansionOracle.ml4
-rw-r--r--riscV/OpWeights.ml1
2 files changed, 3 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)
diff --git a/riscV/OpWeights.ml b/riscV/OpWeights.ml
index 23fbd4fc..0a1d9ad4 100644
--- a/riscV/OpWeights.ml
+++ b/riscV/OpWeights.ml
@@ -63,6 +63,7 @@ module Rocket = struct
1
| Ccompf _ | Cnotcompf _ -> 2
| Ccompfs _ | Cnotcompfs _ -> 2)
+ | OEmayundef _ -> 0
| _ -> 1
let resources_of_op (op : operation) (nargs : int) = resource_bounds