diff options
author | Jacques-Henri Jourdan <jacques-henri.jourdan@inria.fr> | 2015-11-04 03:04:21 +0100 |
---|---|---|
committer | Jacques-Henri Jourdan <jacques-henri.jourdan@inria.fr> | 2015-11-04 03:04:21 +0100 |
commit | 5664fddcab15ef4482d583673c75e07bd1e96d0a (patch) | |
tree | 878b22860e69405ba5cf6fd2798731dac8ce660c /backend/Linearize.v | |
parent | b960c83725d7e185ac5c6e3c0d6043c7dcd2f556 (diff) | |
parent | fe73ed58ef80da7c53c124302a608948fb190229 (diff) | |
download | compcert-5664fddcab15ef4482d583673c75e07bd1e96d0a.tar.gz compcert-5664fddcab15ef4482d583673c75e07bd1e96d0a.zip |
Merge remote-tracking branch 'origin/master' into parser_fix
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. |