diff options
author | Cyril SIX <cyril.six@kalray.eu> | 2020-07-13 14:29:19 +0200 |
---|---|---|
committer | Cyril SIX <cyril.six@kalray.eu> | 2020-07-13 14:29:19 +0200 |
commit | 5b756533e3fbd51b8b824e9ed87d2be3feff8f36 (patch) | |
tree | 5da83270093370e8930c99eda971881c96e59220 /kvx | |
parent | 291b7bd92b510f9dd2edabcae49d13f8c7466c25 (diff) | |
download | compcert-kvx-5b756533e3fbd51b8b824e9ed87d2be3feff8f36.tar.gz compcert-kvx-5b756533e3fbd51b8b824e9ed87d2be3feff8f36.zip |
Fix Icond bug
Diffstat (limited to 'kvx')
-rw-r--r-- | kvx/lib/RTLpathScheduleraux.ml | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/kvx/lib/RTLpathScheduleraux.ml b/kvx/lib/RTLpathScheduleraux.ml index 7a43fed5..08cda134 100644 --- a/kvx/lib/RTLpathScheduleraux.ml +++ b/kvx/lib/RTLpathScheduleraux.ml @@ -167,7 +167,12 @@ let change_successors i = function | Icall (a,b,c,d,n) -> Icall (a,b,c,d,s) | Ibuiltin (a,b,c,n) -> Ibuiltin (a,b,c,s) | Ijumptable (a,[n]) -> Ijumptable (a,[s]) - | Icond _ -> failwith "Icond Wrong instruction (2)" + | Icond (a,b,n1,n2,p) -> ( + match p with + | Some true -> Icond (a,b,s,n2,p) + | Some false -> Icond (a,b,n1,s,p) + | None -> failwith "Icond Wrong instruction (2) ; should not happen?" + ) | _ -> failwith "Wrong instruction (2)") | [s1; s2] -> ( match i with |