diff options
author | François Pottier <francois.pottier@inria.fr> | 2015-10-23 15:08:33 +0200 |
---|---|---|
committer | François Pottier <francois.pottier@inria.fr> | 2015-10-23 15:08:33 +0200 |
commit | 8b817cda643d180d43ab8c84809ca2d55c7dd3df (patch) | |
tree | 812fe2f7ec68c03c5f0762f1266f383193bbfe92 /backend/Linearize.v | |
parent | c46723c0169145d41d1879c236f53314456f1ba1 (diff) | |
parent | 1cb3d93ff278ebbd0c6967c5f9401a97f9b618b4 (diff) | |
download | compcert-8b817cda643d180d43ab8c84809ca2d55c7dd3df.tar.gz compcert-8b817cda643d180d43ab8c84809ca2d55c7dd3df.zip |
Merge remote branch 'upstream/master' into clean
Conflicts:
Makefile.extr
Diffstat (limited to 'backend/Linearize.v')
-rw-r--r-- | backend/Linearize.v | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/backend/Linearize.v b/backend/Linearize.v index 78cdd743..68c2b32f 100644 --- a/backend/Linearize.v +++ b/backend/Linearize.v @@ -56,7 +56,7 @@ Open Scope error_monad_scope. The main challenge in code linearization is therefore to pick a ``good'' order for the nodes that exploits well the fall-through behavior. Many clever trace picking heuristics - have been developed for this purpose. + have been developed for this purpose. In this file, we present linearization in a way that clearly separates the heuristic part (choosing an order for the basic blocks) @@ -96,7 +96,7 @@ Definition reachable_aux (f: LTL.function) : option (PMap.t bool) := f.(fn_entrypoint) true. Definition reachable (f: LTL.function) : PMap.t bool := - match reachable_aux f with + match reachable_aux f with | None => PMap.init true | Some rs => rs end. @@ -118,7 +118,7 @@ Fixpoint nodeset_of_list (l: list node) (s: Nodeset.t) match l with | nil => OK s | hd :: tl => - if Nodeset.mem hd s + if Nodeset.mem hd s then Error (msg "Linearize: duplicates in enumeration") else nodeset_of_list tl (Nodeset.add hd s) end. |