equal
deleted
inserted
replaced
39 protected: |
39 protected: |
40 PhaseChaitin &_phc; |
40 PhaseChaitin &_phc; |
41 |
41 |
42 public: |
42 public: |
43 // Coalesce copies |
43 // Coalesce copies |
44 PhaseCoalesce( PhaseChaitin &chaitin ) : Phase(Coalesce), _phc(chaitin) { } |
44 PhaseCoalesce(PhaseChaitin &phc) |
|
45 : Phase(Coalesce) |
|
46 , _phc(phc) {} |
45 |
47 |
46 virtual void verify() = 0; |
48 virtual void verify() = 0; |
47 |
49 |
48 // Coalesce copies |
50 // Coalesce copies |
49 void coalesce_driver( ); |
51 void coalesce_driver(); |
50 |
52 |
51 // Coalesce copies in this block |
53 // Coalesce copies in this block |
52 virtual void coalesce( Block *b ) = 0; |
54 virtual void coalesce(Block *b) = 0; |
53 |
55 |
54 // Attempt to coalesce live ranges defined by these 2 |
56 // Attempt to coalesce live ranges defined by these 2 |
55 void combine_these_two( Node *n1, Node *n2 ); |
57 void combine_these_two(Node *n1, Node *n2); |
56 |
58 |
57 LRG &lrgs( uint lidx ) { return _phc.lrgs(lidx); } |
59 LRG &lrgs(uint lidx) { return _phc.lrgs(lidx); } |
58 #ifndef PRODUCT |
60 #ifndef PRODUCT |
59 // Dump internally name |
61 // Dump internally name |
60 void dump( Node *n ) const; |
62 void dump(Node *n) const; |
61 // Dump whole shebang |
63 // Dump whole shebang |
62 void dump() const; |
64 void dump() const; |
63 #endif |
65 #endif |
64 }; |
66 }; |
65 |
67 |