diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/chill_error.hh | 4 | ||||
-rwxr-xr-x | include/ir_chill.hh | 5 | ||||
-rw-r--r-- | include/loop.hh | 3 |
3 files changed, 9 insertions, 3 deletions
diff --git a/include/chill_error.hh b/include/chill_error.hh index 20a8362..a43eac4 100644 --- a/include/chill_error.hh +++ b/include/chill_error.hh @@ -18,6 +18,10 @@ namespace chill { ir(const std::string &msg) : std::runtime_error(msg) {} }; + struct build : public std::runtime_error { + build(const std::string &msg) : std::runtime_error(msg) {} + }; + //! for specific for expression to preburger math translation problem struct ir_exp : public ir { ir_exp(const std::string &msg) : ir(msg) {} diff --git a/include/ir_chill.hh b/include/ir_chill.hh index bbd7fd5..53d7b05 100755 --- a/include/ir_chill.hh +++ b/include/ir_chill.hh @@ -232,11 +232,12 @@ struct IR_chillArrayRef : public IR_ArrayRef { struct IR_chillLoop : public IR_Loop { int step_size_; + int well_formed; // Discard all non-welformed for loops early in the process chillAST_DeclRefExpr *chillindex; // the loop index variable (I) // was DeclRefExpr chillAST_ForStmt *chillforstmt; - chillAST_Node *chilllowerbound; - chillAST_Node *chillupperbound; + omega::CG_outputRepr *chilllowerbound; + omega::CG_outputRepr *chillupperbound; chillAST_Node *chillbody; // presumably a compound statement, but not guaranteeed IR_CONDITION_TYPE conditionoperator; diff --git a/include/loop.hh b/include/loop.hh index 2b85ac6..0fbebf4 100644 --- a/include/loop.hh +++ b/include/loop.hh @@ -116,7 +116,8 @@ protected: mutable int last_compute_effort_; protected: - void buildIS(std::vector<ir_tree_node*> &ir_tree,std::vector<int> &lexicalOrder,std::vector<ir_tree_node*> &ctrls, int level, int &substituted); + void buildIS(std::vector<ir_tree_node*> &ir_tree,std::vector<int> &lexicalOrder,std::vector<ir_tree_node*> &ctrls, int level); + void align_loops(std::vector<ir_tree_node*> &ir_tree, std::vector<std::string> &vars_to_be_replaced, std::vector<omega::CG_outputRepr*> &vars_replacement,int level); int get_dep_dim_of(int stmt, int level) const; int get_last_dep_dim_before(int stmt, int level) const; std::vector<omega::Relation> getNewIS() const; |