equal
deleted
inserted
replaced
37 // already live-out (extra stuff is added to the live-out sets). Then the |
37 // already live-out (extra stuff is added to the live-out sets). Then the |
38 // remaining new live-out values are ANDed with what is locally defined. |
38 // remaining new live-out values are ANDed with what is locally defined. |
39 // Leftover bits become the new live-in for the predecessor block, and the pred |
39 // Leftover bits become the new live-in for the predecessor block, and the pred |
40 // block is put on the worklist. |
40 // block is put on the worklist. |
41 // The locally live-in stuff is computed once and added to predecessor |
41 // The locally live-in stuff is computed once and added to predecessor |
42 // live-out sets. This seperate compilation is done in the outer loop below. |
42 // live-out sets. This separate compilation is done in the outer loop below. |
43 PhaseLive::PhaseLive( const PhaseCFG &cfg, LRG_List &names, Arena *arena ) : Phase(LIVE), _cfg(cfg), _names(names), _arena(arena), _live(0) { |
43 PhaseLive::PhaseLive( const PhaseCFG &cfg, LRG_List &names, Arena *arena ) : Phase(LIVE), _cfg(cfg), _names(names), _arena(arena), _live(0) { |
44 } |
44 } |
45 |
45 |
46 void PhaseLive::compute(uint maxlrg) { |
46 void PhaseLive::compute(uint maxlrg) { |
47 _maxlrg = maxlrg; |
47 _maxlrg = maxlrg; |