aboutsummaryrefslogtreecommitdiffstats
path: root/backend/LICMaux.ml
diff options
context:
space:
mode:
authorDavid Monniaux <david.monniaux@univ-grenoble-alpes.fr>2020-11-06 16:46:21 +0100
committerDavid Monniaux <david.monniaux@univ-grenoble-alpes.fr>2020-11-06 16:46:21 +0100
commita00d05e5336d208238b169ee6abf651398a130e2 (patch)
tree89e8858445417a0a88d4ee84135b4143024a6c0d /backend/LICMaux.ml
parent39d14caa044364ea93da7dbc49a699008e505311 (diff)
parent362bdda28ca3c4dcc992575cbbe9400b64425990 (diff)
downloadcompcert-kvx-a00d05e5336d208238b169ee6abf651398a130e2.tar.gz
compcert-kvx-a00d05e5336d208238b169ee6abf651398a130e2.zip
Merge remote-tracking branch 'origin/kvx-work' into kvx-test-prepass
Diffstat (limited to 'backend/LICMaux.ml')
-rw-r--r--backend/LICMaux.ml14
1 files changed, 14 insertions, 0 deletions
diff --git a/backend/LICMaux.ml b/backend/LICMaux.ml
index f166e9e4..602d078d 100644
--- a/backend/LICMaux.ml
+++ b/backend/LICMaux.ml
@@ -61,6 +61,20 @@ let print_intlist oc l =
end
end
+(* Adapted from backend/PrintRTL.ml: print_function *)
+let print_code code = let open PrintRTL in let open Printf in
+ if (!debug_flag) then begin
+ fprintf stdout "{\n";
+ let instrs =
+ List.sort
+ (fun (pc1, _) (pc2, _) -> compare pc2 pc1)
+ (List.rev_map
+ (fun (pc, i) -> (P.to_int pc, i))
+ (PTree.elements code)) in
+ List.iter (print_instruction stdout) instrs;
+ fprintf stdout "}"
+ end
+
(** Getting loop branches with a DFS visit :
* Each node is either Unvisited, Visited, or Processed
* pre-order: node becomes Processed