00001 00002 // DFAGenLivenessIRInterface.hpp 00003 00004 #ifndef DFAGenLivenessIRInterface_h 00005 #define DFAGenLivenessIRInterface_h 00006 00007 #include <iostream> 00008 #include <list> 00009 #include <string> 00010 #include <OpenAnalysis/Utils/OA_ptr.hpp> 00011 #include <OpenAnalysis/IRInterface/IRHandles.hpp> 00012 00013 namespace OA { 00014 namespace DFAGenLiveness { 00015 00016 class DFAGenLivenessIRInterface : public virtual IRHandlesIRInterface { 00017 public: 00018 DFAGenLivenessIRInterface() { } 00019 virtual ~DFAGenLivenessIRInterface() { } 00020 00021 virtual OA_ptr<IRStmtIterator> getStmtIterator(ProcHandle h) = 0; 00022 00023 virtual OA_ptr<MemRefHandleIterator> getAllMemRefs(StmtHandle stmt) = 0; 00024 00025 virtual OA_ptr<MemRefHandleIterator> getDefMemRefs(StmtHandle stmt) = 0; 00026 00027 virtual OA_ptr<MemRefHandleIterator> getUseMemRefs(StmtHandle stmt) = 0; 00028 00029 virtual OA_ptr<IRCallsiteIterator> getCallsites(StmtHandle h) = 0; 00030 00031 }; 00032 00033 } // end of namespace DFAGenLiveness 00034 } // end of namespace OA 00035 00036 #endif
1.7.1