From 3267ac26338c701dffa3267da6c6ca15475b4999 Mon Sep 17 00:00:00 2001 From: Jason Hiser <jdhiser@gmail.com> Date: Tue, 23 Jul 2019 14:06:56 -0400 Subject: [PATCH] updates to actually use loops --- include/inc-deep/deep.hpp | 4 ++-- include/inc-deep/loops.hpp | 7 +++++-- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/include/inc-deep/deep.hpp b/include/inc-deep/deep.hpp index 049ee45..e1865de 100644 --- a/include/inc-deep/deep.hpp +++ b/include/inc-deep/deep.hpp @@ -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={}); diff --git a/include/inc-deep/loops.hpp b/include/inc-deep/loops.hpp index 32193af..4ced624 100644 --- a/include/inc-deep/loops.hpp +++ b/include/inc-deep/loops.hpp @@ -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; -- GitLab