diff options
author | David Monniaux <david.monniaux@univ-grenoble-alpes.fr> | 2020-11-06 16:46:21 +0100 |
---|---|---|
committer | David Monniaux <david.monniaux@univ-grenoble-alpes.fr> | 2020-11-06 16:46:21 +0100 |
commit | a00d05e5336d208238b169ee6abf651398a130e2 (patch) | |
tree | 89e8858445417a0a88d4ee84135b4143024a6c0d /backend/LICMaux.ml | |
parent | 39d14caa044364ea93da7dbc49a699008e505311 (diff) | |
parent | 362bdda28ca3c4dcc992575cbbe9400b64425990 (diff) | |
download | compcert-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.ml | 14 |
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 |