From 2f2e7b1da225aa3bf066c2fc689a08fab9851a53 Mon Sep 17 00:00:00 2001 From: Léo Gourdin Date: Thu, 8 Apr 2021 20:47:38 +0200 Subject: bugfix --- riscV/ExpansionOracle.ml | 4 ++-- riscV/OpWeights.ml | 1 + 2 files changed, 3 insertions(+), 2 deletions(-) (limited to 'riscV') 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 -- cgit