diff options
author | Tuowen Zhao <ztuowen@gmail.com> | 2016-09-19 21:14:58 +0000 |
---|---|---|
committer | Tuowen Zhao <ztuowen@gmail.com> | 2016-09-19 21:14:58 +0000 |
commit | 210f77d2c32f14d2e99577fd3c9842bb19d47e50 (patch) | |
tree | 5edb327c919b8309e301c3440fb6668a0075c8ef /chill/src/ir_rose_utils.cc | |
parent | a66ce5cd670c4d3c0dc449720f5bc45dd4c281b8 (diff) | |
download | chill-210f77d2c32f14d2e99577fd3c9842bb19d47e50.tar.gz chill-210f77d2c32f14d2e99577fd3c9842bb19d47e50.tar.bz2 chill-210f77d2c32f14d2e99577fd3c9842bb19d47e50.zip |
Moved most modules into lib
Diffstat (limited to 'chill/src/ir_rose_utils.cc')
-rw-r--r-- | chill/src/ir_rose_utils.cc | 67 |
1 files changed, 0 insertions, 67 deletions
diff --git a/chill/src/ir_rose_utils.cc b/chill/src/ir_rose_utils.cc deleted file mode 100644 index 64b0891..0000000 --- a/chill/src/ir_rose_utils.cc +++ /dev/null @@ -1,67 +0,0 @@ -/***************************************************************************** - Copyright (C) 2008 University of Southern California - Copyright (C) 2009 University of Utah - All Rights Reserved. - - Purpose: - ROSE interface utilities. - - Notes: - - Update history: - 01/2006 created by Chun Chen -*****************************************************************************/ - -#include "ir_rose_utils.hh" - - - -std::vector<SgForStatement *> find_loops(SgNode *tnl) { - std::vector<SgForStatement *> result; - - SgStatementPtrList& blockStatements = isSgBasicBlock(tnl)->get_statements(); - for(SgStatementPtrList::const_iterator j = blockStatements.begin(); j != blockStatements.end(); j++) - if(isSgForStatement(*j)) - result.push_back(isSgForStatement(*j)); - - return result; -} - -std::vector<SgForStatement *> find_deepest_loops(SgStatementPtrList& tnl) { - - std::vector<SgForStatement *> loops; - - - - for(SgStatementPtrList::const_iterator j = tnl.begin(); j != tnl.end(); j++) - { - std::vector<SgForStatement *> t = find_deepest_loops(isSgNode(*j)); - if (t.size() > loops.size()) - loops = t; - } - - - - return loops; - -} - -std::vector<SgForStatement *> find_deepest_loops(SgNode *tn) { - if (isSgForStatement(tn)) { - std::vector<SgForStatement *> loops; - - SgForStatement *tnf = static_cast<SgForStatement*>(tn); - loops.insert(loops.end(), tnf); - std::vector<SgForStatement*> t = find_deepest_loops(isSgNode(tnf->get_loop_body())); - std::copy(t.begin(), t.end(), std::back_inserter(loops)); - - return loops; - } - else if (isSgBasicBlock(tn)) { - SgBasicBlock *tnb = static_cast<SgBasicBlock*>(tn); - return find_deepest_loops(tnb->get_statements()); - } - else - return std::vector<SgForStatement *>(); -} - |