Fixing live analysis
This commit is contained in:
@ -755,10 +755,15 @@ let convert (prg: CfgImp.SSCfg.t) : RISCCfg.t =
|
||||
} ->
|
||||
let initial_bindings =
|
||||
match inputOutputVar with
|
||||
| Some (i, o) ->
|
||||
RegisterMap.empty |>
|
||||
RegisterMap.set_register i {index = "in"} |>
|
||||
RegisterMap.set_register o {index = "out"}
|
||||
| Some (i, o) -> (
|
||||
if i = o then
|
||||
RegisterMap.empty |>
|
||||
RegisterMap.set_register i {index = "in"}
|
||||
else
|
||||
RegisterMap.empty |>
|
||||
RegisterMap.set_register i {index = "in"} |>
|
||||
RegisterMap.set_register o {index = "out"}
|
||||
)
|
||||
| None ->
|
||||
RegisterMap.empty
|
||||
in
|
||||
@ -767,7 +772,16 @@ let convert (prg: CfgImp.SSCfg.t) : RISCCfg.t =
|
||||
edges = edges;
|
||||
reverseEdges = reverseEdges;
|
||||
inputVal = inputVal;
|
||||
inputOutputVar = Some ("in", "out");
|
||||
inputOutputVar = (
|
||||
match inputOutputVar with
|
||||
| Some (i, o) -> (
|
||||
if i = o then
|
||||
Some ("in", "in")
|
||||
else
|
||||
Some ("in", "out")
|
||||
)
|
||||
| None -> Some ("in", "out")
|
||||
);
|
||||
initial = initial;
|
||||
terminal = terminal;
|
||||
content = helper content initial_bindings;
|
||||
|
||||
Reference in New Issue
Block a user