aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Monniaux <david.monniaux@univ-grenoble-alpes.fr>2020-04-09 09:49:57 +0200
committerDavid Monniaux <david.monniaux@univ-grenoble-alpes.fr>2020-04-09 09:49:57 +0200
commit3907d3d6029a7d867f5be2c0434a44eeca1d9e46 (patch)
tree4c753a995b495d771b1ae9cd15e7438f76d06ecb
parentfaefa6511fc98977e4af3750ca152441284e8186 (diff)
parent1a12e99fcc6c2c1ff3cca70612f3c98493743c68 (diff)
downloadcompcert-kvx-3907d3d6029a7d867f5be2c0434a44eeca1d9e46.tar.gz
compcert-kvx-3907d3d6029a7d867f5be2c0434a44eeca1d9e46.zip
Merge remote-tracking branch 'origin/mppa-work' into mppa-profiling
-rw-r--r--backend/Linearizeaux.ml5
1 files changed, 3 insertions, 2 deletions
diff --git a/backend/Linearizeaux.ml b/backend/Linearizeaux.ml
index 1381877b..9d5a5ba6 100644
--- a/backend/Linearizeaux.ml
+++ b/backend/Linearizeaux.ml
@@ -193,8 +193,9 @@ let forward_sequences code entry =
if get_some @@ PTree.get ifnot join_points then ([], [ifso; ifnot])
else let ln, rem = traverse_fallthrough code ifnot in (ln, [ifso] @ rem)
| Some true ->
- let errstr = Printf.sprintf ("Inconsistency detected in node %d: ifnot is not the preferred branch") (P.to_int node) in
- failwith errstr)
+ if get_some @@ PTree.get ifso join_points then ([], [ifso; ifnot])
+ else let ln, rem = traverse_fallthrough code ifso in (ln, [ifnot] @ rem)
+ )
| Ljumptable(_, ln) -> begin (* debug "STOP Ljumptable\n"; *) ([], ln) end
in ([node] @ ln, rem)
end