Ignore:
Timestamp:
Feb 27, 2013, 5:42:59 PM (7 years ago)
Author:
sacerdot
Message:

Untrusted register colouring fully branched.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • extracted/untrusted/build.ml

    r2740 r2742  
    44open Untrusted_interference
    55
    6 let build globals int_fun liveafter =
     6let build globals int_fun uses liveafter =
    77
    88  (* Create an interference graph whose vertices are the procedure's
    99     pseudo-registers. This graph initially has no edges. *)
    1010
    11   (*CSC: we are not precise here, we take all the pseudoregisters in the
    12     universe; we could compute the set by iteration over the code *)
    1311  let f_locals =
    14    let first_fresh = int_fun.Joint.joint_if_luniverse in
    15    let rec aux n =
    16     if Positive.eqb0 n first_fresh = Bool.True then
    17      Pset.empty
    18     else
    19      Pset.add n (aux (Positive.succ n))
    20    in
    21     aux Positive.One in
     12   Identifiers.foldi0 PreIdentifiers.RegisterTag
     13    (fun id _ map -> Pset.add id map
     14    ) uses Pset.empty in
    2215
    2316  let graph = create f_locals in
Note: See TracChangeset for help on using the changeset viewer.