aboutsummaryrefslogtreecommitdiffstats
path: root/kvx
diff options
context:
space:
mode:
authorCyril SIX <cyril.six@kalray.eu>2020-07-13 14:29:19 +0200
committerCyril SIX <cyril.six@kalray.eu>2020-07-13 14:29:19 +0200
commit5b756533e3fbd51b8b824e9ed87d2be3feff8f36 (patch)
tree5da83270093370e8930c99eda971881c96e59220 /kvx
parent291b7bd92b510f9dd2edabcae49d13f8c7466c25 (diff)
downloadcompcert-kvx-5b756533e3fbd51b8b824e9ed87d2be3feff8f36.tar.gz
compcert-kvx-5b756533e3fbd51b8b824e9ed87d2be3feff8f36.zip
Fix Icond bug
Diffstat (limited to 'kvx')
-rw-r--r--kvx/lib/RTLpathScheduleraux.ml7
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