Mercurial > hg > CbC > CbC_llvm
comparison include/llvm/Analysis/DominanceFrontierImpl.h @ 83:60c9769439b8 LLVM3.7
LLVM 3.7
author | Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp> |
---|---|
date | Wed, 18 Feb 2015 14:55:36 +0900 |
parents | 54457678186b |
children | afa8332a0e37 |
comparison
equal
deleted
inserted
replaced
78:af83660cff7b | 83:60c9769439b8 |
---|---|
170 assert(currentBB && "Invalid work object. Missing current Basic Block"); | 170 assert(currentBB && "Invalid work object. Missing current Basic Block"); |
171 assert(currentNode && "Invalid work object. Missing current Node"); | 171 assert(currentNode && "Invalid work object. Missing current Node"); |
172 DomSetType &S = this->Frontiers[currentBB]; | 172 DomSetType &S = this->Frontiers[currentBB]; |
173 | 173 |
174 // Visit each block only once. | 174 // Visit each block only once. |
175 if (visited.count(currentBB) == 0) { | 175 if (visited.insert(currentBB).second) { |
176 visited.insert(currentBB); | |
177 | |
178 // Loop over CFG successors to calculate DFlocal[currentNode] | 176 // Loop over CFG successors to calculate DFlocal[currentNode] |
179 for (auto SI = BlockTraits::child_begin(currentBB), | 177 for (auto SI = BlockTraits::child_begin(currentBB), |
180 SE = BlockTraits::child_end(currentBB); | 178 SE = BlockTraits::child_end(currentBB); |
181 SI != SE; ++SI) { | 179 SI != SE; ++SI) { |
182 // Does Node immediately dominate this successor? | 180 // Does Node immediately dominate this successor? |