00001 00015 #ifndef ManagerFIAliasAliasMap_H 00016 #define ManagerFIAliasAliasMap_H 00017 00018 //-------------------------------------------------------------------- 00019 00020 // OpenAnalysis headers 00021 #include <OpenAnalysis/Alias/InterAliasMap.hpp> 00022 #include <OpenAnalysis/Alias/ManagerFIAlias.hpp> 00023 #include <map> 00024 00025 namespace OA { 00026 namespace Alias { 00027 00034 class ManagerFIAliasAliasMap : public ManagerFIAlias 00035 { 00036 public: 00037 ManagerFIAliasAliasMap(OA_ptr<AliasIRInterface> _ir); 00038 ~ManagerFIAliasAliasMap () {} 00039 00041 OA_ptr<Alias::InterAliasMap> 00042 performAnalysis(OA_ptr<IRProcIterator> procIter, 00043 FIAliasImplement implement = ALL_PROCS ); 00044 00045 private: 00046 00049 void buildAliasMaps( OA_ptr<UnionFindUniverse> ufset, 00050 OA_ptr<IRProcIterator> procIter ); 00051 00053 OA_ptr<InterAliasMap> mInterAliasMap; 00054 00055 }; 00056 00057 } // end of Alias namespace 00058 } // end of OA namespace 00059 00060 #endif
1.7.1