DFAGenLivenessIRInterface.hpp

Go to the documentation of this file.
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