aboutsummaryrefslogtreecommitdiffstats
path: root/scheduling/BTLRenumber.ml
diff options
context:
space:
mode:
authorLéo Gourdin <leo.gourdin@univ-grenoble-alpes.fr>2021-05-28 11:44:11 +0200
committerLéo Gourdin <leo.gourdin@univ-grenoble-alpes.fr>2021-05-28 11:44:11 +0200
commit05b24fdb11414100b9b04867e6e2d3a1a9054162 (patch)
tree6ae4a50a2f311c6b2786e64de12d4d5f7755f865 /scheduling/BTLRenumber.ml
parent56901933d110adef341312e1c7630b672827b41d (diff)
downloadcompcert-kvx-05b24fdb11414100b9b04867e6e2d3a1a9054162.tar.gz
compcert-kvx-05b24fdb11414100b9b04867e6e2d3a1a9054162.zip
Improvements in scheduling and renumbering BTL code
Diffstat (limited to 'scheduling/BTLRenumber.ml')
-rw-r--r--scheduling/BTLRenumber.ml16
1 files changed, 8 insertions, 8 deletions
diff --git a/scheduling/BTLRenumber.ml b/scheduling/BTLRenumber.ml
index 36f3bcf5..58d4f7ac 100644
--- a/scheduling/BTLRenumber.ml
+++ b/scheduling/BTLRenumber.ml
@@ -3,6 +3,8 @@ open BTL
open RTLcommonaux
open BTLcommonaux
open BTLtypes
+open DebugPrint
+open PrintBTL
let recompute_inumbs btl entry =
let btl = reset_visited_ib (reset_visited_ibf btl) in
@@ -53,13 +55,6 @@ let recompute_inumbs btl entry =
walk succ None;
iinfo.inumb <- ipos ()
| Bseq (ib1, ib2) -> walk ib1 (Some ib2)
- | Bcond (_, _, BF (Bgoto s1, iinfoL), BF (Bgoto s2, iinfoR), iinfo) ->
- iinfoL.visited <- true;
- iinfoR.visited <- true;
- let ib1 = get_some @@ PTree.get s1 btl in
- let ib2 = get_some @@ PTree.get s2 btl in
- walk_smallest_child (p2i s1) (p2i s2) ib1.entry ib2.entry;
- iinfo.inumb <- ipos ()
| Bcond (_, _, BF (Bgoto s1, iinfoL), Bnop None, iinfoF) ->
iinfoL.visited <- true;
let ib1 = get_some @@ PTree.get s1 btl in
@@ -104,8 +99,13 @@ let regenerate_btl_tree btl entry =
PTree.set n_pos ibf ord_btl)
btl PTree.empty
in
+ debug "Renumbered BTL with new_entry=%d:\n" (p2i !new_entry);
+ print_btl_code stderr ord_btl;
(ord_btl, !new_entry)
let renumber btl entry =
+ (*debug_flag := true;*)
let btl' = recompute_inumbs btl entry in
- regenerate_btl_tree btl' entry
+ let ord_btl, new_entry = regenerate_btl_tree btl' entry in
+ (*debug_flag := false;*)
+ (ord_btl, new_entry)