Omitting tunable parameters from Transform's constructors
authorHamed <hamed.gorjiara@gmail.com>
Tue, 29 Aug 2017 23:20:53 +0000 (16:20 -0700)
committerHamed <hamed.gorjiara@gmail.com>
Tue, 29 Aug 2017 23:20:53 +0000 (16:20 -0700)
src/ASTTransform/analyzer.cc
src/ASTTransform/decomposeordertransform.cc
src/ASTTransform/decomposeordertransform.h
src/ASTTransform/integerencoding.cc
src/ASTTransform/integerencoding.h
src/ASTTransform/pass.cc [deleted file]
src/ASTTransform/pass.h
src/ASTTransform/transform.cc
src/ASTTransform/transform.h
src/classlist.h

index 7d24ae27b00882e36f41ee48857034443ea83ef1..4c8562e53511cf1f0cfc0777add4b2fd8c911e2f 100644 (file)
@@ -21,10 +21,10 @@ void orderAnalysis(CSolver *This) {
        uint size = orders->getSize();
        for (uint i = 0; i < size; i++) {
                Order *order = orders->get(i);
        uint size = orders->getSize();
        for (uint i = 0; i < size; i++) {
                Order *order = orders->get(i);
-               DecomposeOrderTransform* decompose = new DecomposeOrderTransform(This, order, DECOMPOSEORDER, &onoff);
+               DecomposeOrderTransform* decompose = new DecomposeOrderTransform(This, order);
                if (!decompose->canExecuteTransform()){
                if (!decompose->canExecuteTransform()){
-                       continue;
                        delete decompose;
                        delete decompose;
+                       continue;
                }
 
                OrderGraph *graph = buildOrderGraph(order);
                }
 
                OrderGraph *graph = buildOrderGraph(order);
@@ -65,13 +65,13 @@ void orderAnalysis(CSolver *This) {
                delete graph;
 
                /*
                delete graph;
 
                /*
-               IntegerEncodingTransform* integerEncoding = new IntegerEncodingTransform(This, order, ORDERINTEGERENCODING, &offon);
+               IntegerEncodingTransform* integerEncoding = new IntegerEncodingTransform(This, order);
                if(!integerEncoding->canExecuteTransform()){
                if(!integerEncoding->canExecuteTransform()){
-                       continue;
                        delete integerEncoding;
                        delete integerEncoding;
+                       continue;
                }
                integerEncoding->doTransform();
                }
                integerEncoding->doTransform();
-               delete integerEncoding; */
+               delete integerEncoding;*/
        }
 }
 
        }
 }
 
index 6df26392aabaff57f6e43e456a12f583b06180a6..4a31eac1cf7e52dfb317b2db85314990b353d235 100644 (file)
@@ -15,8 +15,8 @@
 #include "csolver.h"
 
 
 #include "csolver.h"
 
 
-DecomposeOrderTransform::DecomposeOrderTransform(CSolver* _solver, Order* _order, Tunables _tunable, TunableDesc* _desc)
-       :Transform(_solver, _tunable, _desc),
+DecomposeOrderTransform::DecomposeOrderTransform(CSolver* _solver, Order* _order)
+       :Transform(_solver),
        order(_order)
 {
 }
        order(_order)
 {
 }
@@ -25,7 +25,7 @@ DecomposeOrderTransform::~DecomposeOrderTransform() {
 }
 
 bool DecomposeOrderTransform::canExecuteTransform(){
 }
 
 bool DecomposeOrderTransform::canExecuteTransform(){
-       return canExecutePass(solver, order->type);
+       return canExecutePass(solver, order->type, DECOMPOSEORDER, &onoff);
 }
 
 void DecomposeOrderTransform::doTransform(){
 }
 
 void DecomposeOrderTransform::doTransform(){
index 25aea89d4f0c797fa8d7baecafd3f523222550f9..1fe7356370686ff8428596814c106dd3862063ad 100644 (file)
@@ -13,7 +13,7 @@
 
 class DecomposeOrderTransform : public Transform {
 public:
 
 class DecomposeOrderTransform : public Transform {
 public:
-       DecomposeOrderTransform(CSolver* _solver, Order* order, Tunables _tunable, TunableDesc* _desc);
+       DecomposeOrderTransform(CSolver* _solver, Order* order);
        virtual ~DecomposeOrderTransform();
        void doTransform();
        void setOrderGraph(OrderGraph* _graph){
        virtual ~DecomposeOrderTransform();
        void doTransform();
        void setOrderGraph(OrderGraph* _graph){
index b4b0f9961fbdb16af81185d48af5c4f558381523..6a525cdfc8830a4e4ac12531083723527c049d3f 100644 (file)
@@ -8,8 +8,8 @@
 
 HashTableOrderIntegerEncoding* IntegerEncodingTransform::orderIntegerEncoding = new HashTableOrderIntegerEncoding();
 
 
 HashTableOrderIntegerEncoding* IntegerEncodingTransform::orderIntegerEncoding = new HashTableOrderIntegerEncoding();
 
-IntegerEncodingTransform::IntegerEncodingTransform(CSolver* _solver, Order* _order, Tunables _tunable, TunableDesc* _desc
-       :Transform(_solver, _tunable, _desc),
+IntegerEncodingTransform::IntegerEncodingTransform(CSolver* _solver, Order* _order) 
+       :Transform(_solver),
        order(_order)
        
 {      
        order(_order)
        
 {      
@@ -19,7 +19,7 @@ IntegerEncodingTransform::~IntegerEncodingTransform(){
 }
 
 bool IntegerEncodingTransform::canExecuteTransform(){
 }
 
 bool IntegerEncodingTransform::canExecuteTransform(){
-       return canExecutePass(solver, order->type);
+       return canExecutePass(solver, order->type, ORDERINTEGERENCODING, &offon);
 }
 
 void IntegerEncodingTransform::doTransform(){
 }
 
 void IntegerEncodingTransform::doTransform(){
index 64924f26a33d304cbd48c8172ff81004203e0913..6434a95d903218b64a0d1092041395dd499fdcaf 100644 (file)
@@ -13,7 +13,7 @@
 
 class IntegerEncodingTransform : public Transform{
 public:
 
 class IntegerEncodingTransform : public Transform{
 public:
-       IntegerEncodingTransform(CSolver* solver, Order* order, Tunables _tunable, TunableDesc* _desc);
+       IntegerEncodingTransform(CSolver* solver, Order* order);
        void orderIntegerEncodingSATEncoder(BooleanOrder *boolOrder);
        void doTransform();
        bool canExecuteTransform();
        void orderIntegerEncodingSATEncoder(BooleanOrder *boolOrder);
        void doTransform();
        bool canExecuteTransform();
diff --git a/src/ASTTransform/pass.cc b/src/ASTTransform/pass.cc
deleted file mode 100644 (file)
index 3b54821..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-#include "pass.h"
-#include "tunable.h"
-#include "csolver.h"
-
-Pass::Pass(Tunables _tunable, TunableDesc* _desc): 
-       tunable(_tunable),
-       tunableDesc(_desc)
-{
-       
-}
-
-Pass::~Pass(){
-}
index 2d5c84efaf5c7b0e8ef1ab7299e513b709312631..c9ee69ec5e69e8ae5bce783f4a3f457e59855376 100644 (file)
 
 class Pass{
 public:
 
 class Pass{
 public:
-       Pass(Tunables _tunable, TunableDesc* _desc);
-       virtual ~Pass();
-       virtual inline bool canExecutePass(CSolver* This, uint type=0){
-               return GETVARTUNABLE(This->getTuner(), type, tunable, tunableDesc);
+       Pass(){};
+       virtual ~Pass(){};
+       virtual inline bool canExecutePass(CSolver* This, uint type, Tunables tunable, TunableDesc* desc){
+               return GETVARTUNABLE(This->getTuner(), type, tunable, desc);
        }
        MEMALLOC;
        }
        MEMALLOC;
-protected:
-       Tunables tunable;
-       TunableDesc* tunableDesc;
+
 };
 
 
 };
 
 
index d28980e8ecea6402406e8717970df22ae79aefc6..bf0457543e099af5c0464b4b302be7c4f8527b6e 100644 (file)
@@ -7,8 +7,7 @@
 
 #include "transform.h"
 
 
 #include "transform.h"
 
-Transform::Transform(CSolver* _solver, Tunables _tunable, TunableDesc* _desc):
-       Pass(_tunable, _desc)
+Transform::Transform(CSolver* _solver)
 {
        solver = _solver;
 }
 {
        solver = _solver;
 }
index 65d8119e7ea91d11dda5ad8d640b3aa3075eb54c..98316dea5e03d84f3453c2eb5a031fee58e27f9d 100644 (file)
@@ -15,7 +15,7 @@
 
 class Transform : public Pass{
 public:
 
 class Transform : public Pass{
 public:
-       Transform(CSolver* _solver,Tunables _tunable, TunableDesc* _desc);
+       Transform(CSolver* _solver);
        virtual ~Transform();
        virtual bool canExecuteTransform() = 0;
        virtual void doTransform() = 0;
        virtual ~Transform();
        virtual bool canExecuteTransform() = 0;
        virtual void doTransform() = 0;
index 2e395f7ac87fc74b9a9cb45a5bf39dcbc76f8790..7b842ffc84a80c9cfce71332f74a6dc7ad4bb309 100644 (file)
@@ -43,6 +43,7 @@ class OrderPair;
 class OrderElement;
 class IntegerEncodingRecord;
 class Transform;
 class OrderElement;
 class IntegerEncodingRecord;
 class Transform;
+class Pass;
 
 class ElementEncoding;
 class FunctionEncoding;
 
 class ElementEncoding;
 class FunctionEncoding;
@@ -55,8 +56,6 @@ class OrderEdge;
 class AutoTuner;
 class SearchTuner;
 class TunableSetting;
 class AutoTuner;
 class SearchTuner;
 class TunableSetting;
-class Pass;
-class Transform;
 
 struct IncrementalSolver;
 typedef struct IncrementalSolver IncrementalSolver;
 
 struct IncrementalSolver;
 typedef struct IncrementalSolver IncrementalSolver;