Lines Matching refs:lrg
55 uint lrg = _names[i];
56 uint compressed_lrg = Find(lrg);
57 if( lrg != compressed_lrg )
64 uint PhaseChaitin::Find_compress( uint lrg ) {
65 uint cur = lrg;
74 while( lrg != next ) {
75 uint tmp = _uf_map[lrg];
76 _uf_map.map(lrg, next);
77 lrg = tmp;
79 return lrg;
85 uint lrg = Find_compress(_names[n->_idx]);
86 _names.map(n->_idx,lrg);
87 return lrg;
92 uint PhaseChaitin::Find_const( uint lrg ) const {
93 if( !lrg ) return lrg; // Ignore the zero LRG
96 if( lrg >= _maxlrg ) return lrg;
97 uint next = _uf_map[lrg];
98 while( next != lrg ) { // Scan chain of equivalences
99 assert( next < lrg, "always union smaller" );
100 lrg = next; // until find a fixed-point
101 next = _uf_map[lrg];
127 void PhaseChaitin::new_lrg( const Node *x, uint lrg ) {
129 _names.extend(x->_idx,lrg);
131 _uf_map.extend(lrg,lrg);
364 for(uint lrg = 1; lrg < _phc._maxlrg; lrg++ ) {
365 uint compressed_lrg = _phc.Find(lrg);
366 if( lrg != compressed_lrg ) {
369 if( liveout->member(lrg) ) {
370 liveout->remove(lrg);
484 // Insert a copy at a debug use for a lrg which has high frequency
486 // Walk the debug inputs to the node and check for lrg freq
496 LRG &lrg = lrgs(nidx);
498 // If this lrg has a high frequency use/def
499 if( lrg._maxfreq >= _phc.high_frequency_lrg() ) {
514 // Split the lrg at this use
619 lrgs(lr2)._def = NULL; // No def for lrg 2