ROSE  0.9.6a
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
dominatorTreesAndDominanceFrontiers/DominanceFrontier.h
Go to the documentation of this file.
1 #ifndef _DOMINANCEFRONTIER_H_
2 #define _DOMINANCEFRONTIER_H_
3 
4 #include "DominatorTree.h"
5 
6 // DQ (3/21/2006): Namespace introduced to hide redundent use of
7 // ControlFlowGraph class also found in:
8 // src/midend/programTransformation/partialRedundancyElimination
9 namespace DominatorTreesAndDominanceFrontiers {
10 
26 
27 public:
28 
30  _size(_dt->getSize()),
31  _domFrontier(new std::set<int>[_size])
32  {_buildFrontier();}
33 
38  std::set<int> getFrontier(int id) {return _domFrontier[id];}
39 
40  void printFrontier();
41 
42 private:
43 
44  void _buildFrontier();
45 
48 
50  int _size;
51 
53  std::set<int> * _domFrontier;
54 
55 };
56 
57 // end of namespace: DominatorTreesAndDominanceFrontiers
58  }
59 
60 #endif