Changeset 3263 for src/ERTL/uses.ma


Ignore:
Timestamp:
May 10, 2013, 1:40:31 PM (7 years ago)
Author:
tranquil
Message:

moved callee saved saving and restoring to ERTL -> LTL pass (untrusted
colourer and interference graph creator still need to be updated)
joint now has the stack size split in three (referenced locals, params
and spilled)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/ERTL/uses.ma

    r3257 r3263  
    1919
    2020definition examine_internal:
    21  ∀globals. joint_internal_function ERTL globals →
     21 ∀globals. joint_internal_function ERTL globals → list register →
    2222  identifier_map RegisterTag Pos ≝
    23 λglobals,fun.
     23λglobals,fun,callee_saved_store.
    2424 let incr ≝
    2525  λr,map.
     
    7474   | FCOND (abs : has_fcond ERTL) _ _ _ ⇒ Ⓧabs ]
    7575 in
    76  foldi … f (joint_if_code … fun) (empty_map …).
     76 foldi … f (joint_if_code … fun)
     77  (* registers used to store callee saved are used 2 times. We can
     78     increase the likelihood of these registers being assigned the
     79     corresponding callee saved reg by artificially increasing their uses *)
     80  (foldl … (λmap,r.incr r (incr r map)) (empty_map …) callee_saved_store).
Note: See TracChangeset for help on using the changeset viewer.