00001 00002 /* AvailableExpressionsIRInterface.hpp 00003 NOTE: This file was automatically generated by DFAGen. It is the IR 00004 interface for the AvailableExpressions analysis. 00005 */ 00006 00007 #ifndef AvailableExpressionsIRInterface_H 00008 #define AvailableExpressionsIRInterface_H 00009 00010 #include <iostream> 00011 #include <list> 00012 #include <string> 00013 #include <OpenAnalysis/Utils/OA_ptr.hpp> 00014 #include <OpenAnalysis/IRInterface/IRHandles.hpp> 00015 #include <OpenAnalysis/NewExprTree/NewExprTree.hpp> 00016 00017 namespace OA { 00018 namespace AvailableExpressions { 00019 00020 class AvailableExpressionsIRInterface : public virtual IRHandlesIRInterface { 00021 public: 00022 AvailableExpressionsIRInterface() { } 00023 virtual ~AvailableExpressionsIRInterface() { } 00024 00025 virtual OA_ptr<IRStmtIterator> getStmtIterator(ProcHandle h) = 0; 00026 00027 virtual OA_ptr<MemRefHandleIterator> getAllMemRefs(StmtHandle stmt) = 0; 00028 00029 virtual OA_ptr<MemRefHandleIterator> getDefMemRefs(StmtHandle stmt) = 0; 00030 00031 virtual OA_ptr<MemRefHandleIterator> getUseMemRefs(StmtHandle stmt) = 0; 00032 00033 virtual OA_ptr<IRCallsiteIterator> getCallsites(StmtHandle h) = 0; 00034 00035 virtual OA_ptr<NewExprTree> getNewExprTree(OA::ExprHandle h) = 0; 00036 00037 virtual OA_ptr<OA::ExprHandleIterator> getExprHandleIterator(OA::StmtHandle stmt) = 0; 00038 }; 00039 00040 } // end of namespace AvailableExpressions 00041 } // end of namespace OA 00042 00043 #endif
1.6.1