Fix memory leaks
[satune.git] / src / csolver.cc
index 43c780bf29d8ccc87244dbc639383c4add02481e..64f0851fa74061e507a96569847ab064edda5fd1 100644 (file)
@@ -10,9 +10,8 @@
 #include "satencoder.h"
 #include "sattranslator.h"
 #include "tunable.h"
-#include "orderencoder.h"
 #include "polarityassignment.h"
-#include "asttransform.h"
+#include "orderdecompose.h"
 
 CSolver::CSolver() : unsat(false) {
        tuner = allocTuner();
@@ -156,7 +155,7 @@ Boolean *CSolver::applyPredicate(Predicate *predicate, Element **inputs, uint nu
 }
 
 Boolean *CSolver::applyPredicateTable(Predicate *predicate, Element **inputs, uint numInputs, Boolean *undefinedStatus) {
-       Boolean *boolean = new BooleanPredicate(predicate, inputs, numInputs, undefinedStatus);
+       BooleanPredicate *boolean = new BooleanPredicate(predicate, inputs, numInputs, undefinedStatus);
        allBooleans.push(boolean);
        return boolean;
 }
@@ -183,9 +182,8 @@ Boolean *CSolver::orderConstraint(Order *order, uint64_t first, uint64_t second)
 
 int CSolver::startEncoding() {
        computePolarities(this);
-       ASTTransform(this);
-       naiveEncodingDecision(this);
        orderAnalysis(this);
+       naiveEncodingDecision(this);
        encodeAllSATEncoder(this, satEncoder);
        int result = solveCNF(satEncoder->cnf);
        model_print("sat_solver's result:%d\tsolutionSize=%d\n", result, satEncoder->cnf->solver->solutionsize);