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;  | 
