From 210f77d2c32f14d2e99577fd3c9842bb19d47e50 Mon Sep 17 00:00:00 2001 From: Tuowen Zhao Date: Mon, 19 Sep 2016 21:14:58 +0000 Subject: Moved most modules into lib --- lib/codegen/include/code_gen/code_gen.h | 47 +++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 lib/codegen/include/code_gen/code_gen.h (limited to 'lib/codegen/include/code_gen/code_gen.h') diff --git a/lib/codegen/include/code_gen/code_gen.h b/lib/codegen/include/code_gen/code_gen.h new file mode 100644 index 0000000..abfab7c --- /dev/null +++ b/lib/codegen/include/code_gen/code_gen.h @@ -0,0 +1,47 @@ +#if !defined(Already_Included_code_gen) +#define Already_Included_code_gen + +#include +#include +#include +#include +#include + +namespace omega { + +typedef Tuple IntTuple; +typedef Tuple SetTuple; +typedef Tuple SetTupleTuple; +typedef Tuple RelTuple; +typedef Tuple RelTupleTuple; + +CG_outputRepr *MMGenerateCode(CG_outputBuilder* ocg, + Tuple &T, Tuple &old_IS, + const Tuple &stmt_content, + Relation &known, int effort=1); +std::string MMGenerateCode(Tuple &T, Tuple &old_IS, Relation &known, + int effort=1); + +//protonu-adding a new variant to keep Gabe's code happy +CG_outputRepr* MMGenerateCode(CG_outputBuilder* ocg, RelTuple &T, SetTuple &old_IS, + const Tuple &stmt_content, Relation &known, + Tuple< IntTuple >& smtNonSplitLevels_, + std::vector< std::pair > syncs_, + const Tuple< Tuple >& loopIdxNames_, + int effort=1); +//end-protonu + +struct Polyhedra { + int last_level; + Tuple transformations; + Relation known; + + Tuple remap; // after initial iteration space's disjoint set splitting, the new statement number maps to old statement number + Tuple > projected_nIS; + + Polyhedra(const Tuple &T, const Tuple &old_IS, const Relation &known = Relation::Null()); + ~Polyhedra() {} +}; + +} +#endif -- cgit v1.2.3-70-g09d2