From ab016596602a4c6bdc27adf01c308b325af221f0 Mon Sep 17 00:00:00 2001 From: Tuowen Zhao Date: Wed, 21 Sep 2016 22:35:47 -0600 Subject: something that only builds ... --- lib/codegen/include/code_gen/CG.h | 23 ++++++++++++++++------- 1 file changed, 16 insertions(+), 7 deletions(-) (limited to 'lib/codegen/include/code_gen/CG.h') diff --git a/lib/codegen/include/code_gen/CG.h b/lib/codegen/include/code_gen/CG.h index ce56768..4dd629c 100644 --- a/lib/codegen/include/code_gen/CG.h +++ b/lib/codegen/include/code_gen/CG.h @@ -22,9 +22,13 @@ struct CG_result { virtual std::pair liftOverhead(int depth, bool propagate_up) = 0; virtual Relation hoistGuard() = 0; virtual void removeGuard(const Relation &guard) = 0; - virtual CG_outputRepr *printRepr(int indent, CG_outputBuilder *ocg, const std::vector &stmts, const std::vector > &assigned_on_the_fly) const = 0; - CG_outputRepr *printRepr(CG_outputBuilder *ocg, const std::vector &stmts) const; - std::string printString() const; + virtual CG_outputRepr *printRepr(int indent, CG_outputBuilder *ocg, const std::vector &stmts, const std::vector > &assigned_on_the_fly,std::vector > > unin, bool printString = false) const = 0; + CG_outputRepr *printRepr(CG_outputBuilder *ocg, const std::vector &stmts, std::vector > >uninterpreted_symbols, bool printString = false) const; + std::string printString(std::vector > >uninterpreted_symbols = std::vector > >()) const; + + //virtual CG_outputRepr *printRepr(int indent, CG_outputBuilder *ocg, const std::vector &stmts, const std::vector > &assigned_on_the_fly) const = 0; + //CG_outputRepr *printRepr(CG_outputBuilder *ocg, const std::vector &stmts) const; + //std::string printString() const; int num_level() const; virtual CG_result *clone() const = 0; virtual void dump(int indent) const {} @@ -52,7 +56,8 @@ struct CG_split: public CG_result { std::pair liftOverhead(int depth, bool propagate_up); Relation hoistGuard(); void removeGuard(const Relation &guard); - CG_outputRepr *printRepr(int indent, CG_outputBuilder *ocg, const std::vector &stmts, const std::vector > &assigned_on_the_fly) const; + CG_outputRepr *printRepr(int indent, CG_outputBuilder *ocg, const std::vector &stmts, const std::vector > &assigned_on_the_fly, std::vector > > unin, bool printString=false) const; + // CG_outputRepr *printRepr(int indent, CG_outputBuilder *ocg, const std::vector &stmts, const std::vector > &assigned_on_the_fly) const; CG_result *clone() const; void dump(int indent) const; @@ -85,8 +90,11 @@ struct CG_loop: public CG_result { std::pair liftOverhead(int depth, bool propagate_up); Relation hoistGuard(); void removeGuard(const Relation &guard); - CG_outputRepr *printRepr(int indent, CG_outputBuilder *ocg, const std::vector &stmts, const std::vector > &assigned_on_the_fly) const; - CG_outputRepr *printRepr(bool do_print_guard, int indent, CG_outputBuilder *ocg, const std::vector &stmts, const std::vector > &assigned_on_the_fly) const; + CG_outputRepr *printRepr(int indent, CG_outputBuilder *ocg, const std::vector &stmts, const std::vector > &assigned_on_the_fly,std::vector > >unin, bool printString = false) const; + CG_outputRepr *printRepr(bool do_print_guard, int indent, CG_outputBuilder *ocg, const std::vector &stmts, const std::vector > &assigned_on_the_fly, std::vector > > unin, bool printString = false) const; + + // CG_outputRepr *printRepr(int indent, CG_outputBuilder *ocg, const std::vector &stmts, const std::vector > &assigned_on_the_fly) const; + //CG_outputRepr *printRepr(bool do_print_guard, int indent, CG_outputBuilder *ocg, const std::vector &stmts, const std::vector > &assigned_on_the_fly) const; CG_result *clone() const; void dump(int indent) const; }; @@ -108,7 +116,8 @@ struct CG_leaf: public CG_result { std::pair liftOverhead(int depth, bool propagate_up); Relation hoistGuard(); void removeGuard(const Relation &guard); - CG_outputRepr *printRepr(int indent, CG_outputBuilder *ocg, const std::vector &stmts, const std::vector > &assigned_on_the_fly) const; + CG_outputRepr *printRepr(int indent, CG_outputBuilder *ocg, const std::vector &stmts, const std::vector > &assigned_on_the_fly, std::vector > > unin, bool printString = false) const; + // CG_outputRepr *printRepr(int indent, CG_outputBuilder *ocg, const std::vector &stmts, const std::vector > &assigned_on_the_fly) const; CG_result *clone() const; void dump(int indent) const; }; -- cgit v1.2.3-70-g09d2