aboutsummaryrefslogtreecommitdiffstats
path: root/scheduling
diff options
context:
space:
mode:
authorLeo Gourdin <leo.gourdin@univ-grenoble-alpes.fr>2021-08-02 11:59:11 +0200
committerLeo Gourdin <leo.gourdin@univ-grenoble-alpes.fr>2021-08-02 11:59:11 +0200
commit806a3844f154fb76ce45c446c35d846c58b942fc (patch)
tree93a18ce499a17c51a4c84fe9cb0641fdb2c3cd15 /scheduling
parent92cca153569e44cd11ba3d1b68c2708c0cc46899 (diff)
downloadcompcert-kvx-806a3844f154fb76ce45c446c35d846c58b942fc.tar.gz
compcert-kvx-806a3844f154fb76ce45c446c35d846c58b942fc.zip
non-trapping loads fix
Diffstat (limited to 'scheduling')
-rw-r--r--scheduling/BTLScheduleraux.ml14
1 files changed, 11 insertions, 3 deletions
diff --git a/scheduling/BTLScheduleraux.ml b/scheduling/BTLScheduleraux.ml
index c8c4e0d3..00be2aa7 100644
--- a/scheduling/BTLScheduleraux.ml
+++ b/scheduling/BTLScheduleraux.ml
@@ -120,9 +120,17 @@ let rec do_schedule btl = function
| [] -> btl
| (n, ibf) :: blks ->
let code_exp = expanse n ibf btl in
- let code_nt = turn_all_loads_nontrap n ibf code_exp in
- let btl' = schedule_blk n ibf code_nt in
- do_schedule btl' blks
+ let ibf_exp = get_some @@ PTree.get n code_exp in
+ let code_nt = turn_all_loads_nontrap n ibf_exp code_exp in
+ let ibf_nt = get_some @@ PTree.get n code_nt in
+ let btl' = schedule_blk n ibf_nt code_nt in
+ begin
+ (*debug_flag := true;*)
+ print_btl_code stderr code_nt;
+ print_btl_code stderr btl';
+ (*debug_flag := false;*)
+ do_schedule btl' blks
+ end
let btl_scheduler f =
let btl = f.fn_code in