aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Monniaux <david.monniaux@univ-grenoble-alpes.fr>2020-07-10 17:27:38 +0200
committerDavid Monniaux <david.monniaux@univ-grenoble-alpes.fr>2020-07-10 17:27:38 +0200
commit36d6c732567a10a893b502ab86f6b438fa5e0a8a (patch)
treeaadd7f3e45d04d5f0cbb408629ea37a04290729d
parent2ff09832c0c3a2c50d51ec90566ad74e093ab3da (diff)
downloadcompcert-kvx-36d6c732567a10a893b502ab86f6b438fa5e0a8a.tar.gz
compcert-kvx-36d6c732567a10a893b502ab86f6b438fa5e0a8a.zip
trapping ops
-rw-r--r--kvx/lib/PrepassSchedulingOracle.ml1
1 files changed, 1 insertions, 0 deletions
diff --git a/kvx/lib/PrepassSchedulingOracle.ml b/kvx/lib/PrepassSchedulingOracle.ml
index c1a3804f..6169bf16 100644
--- a/kvx/lib/PrepassSchedulingOracle.ml
+++ b/kvx/lib/PrepassSchedulingOracle.ml
@@ -132,6 +132,7 @@ let get_simple_dependencies (seqa : (instruction*Regset.t) array) =
match insn with
| Inop _ -> ()
| Iop(op, inputs, output, _) ->
+ (if Op.is_trapping_op op then irreversible_action i);
add_input_regs i inputs;
add_output_reg i (latency_of_op op (List.length inputs)) output
| Iload(trap, chunk, addressing, addr_regs, output, _) ->