Skip to content
Snippets Groups Projects
Commit 3267ac26 authored by Jason Hiser's avatar Jason Hiser :tractor:
Browse files

updates to actually use loops

parent 21c2c99f
No related branches found
No related tags found
No related merge requests found
......@@ -50,8 +50,8 @@ namespace IRDB_SDK
virtual unique_ptr<StaticGlobalStartMap_t > getStaticGlobalRanges() const = 0;
virtual unique_ptr<RangeSentinelSet_t > getRangeSentinels() const = 0;
virtual unique_ptr<LoopNest_t> getLoopNest(const Function_t* f) const = 0;
virtual unique_ptr<LoopNest_t> getLoopNest(const ControlFlowGraph_t* cfg) const = 0;
virtual unique_ptr<LoopNest_t> getLoops(Function_t* f) const = 0;
virtual unique_ptr<LoopNest_t> getLoops(ControlFlowGraph_t* cfg) const = 0;
// factories
static unique_ptr<DeepAnalysis_t> factory(FileIR_t* firp, const AnalysisEngine_t& ae=aeSTARS, const vector<string>& options={});
......
......@@ -25,7 +25,7 @@ namespace IRDB_SDK
class Loop_t; // forward decl
using LoopSet_t = set<Loop_t>;
using LoopSet_t = set<Loop_t*>;
class Loop_t
{
......@@ -34,7 +34,10 @@ namespace IRDB_SDK
Loop_t(const Loop_t& copy) = delete;
public:
virtual ~Loop_t();
virtual ~Loop_t() {}
virtual BasicBlock_t* getPreheader() const = 0;
virtual BasicBlock_t* getHeader() const = 0;
virtual BasicBlockSet_t getAllBlocks() const = 0;
virtual BasicBlockSet_t getOuterBlocks() const = 0;
virtual LoopSet_t getInnerLoops() const = 0;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment