Lines Matching refs:basicBlocks
67 for (auto& block: basicBlocks) {
116 uint32_t id = basicBlocks.size();
118 basicBlocks.back()->size = block_size;
121 basicBlocks.emplace_back(new BasicBlock(id, instruction));
125 basicBlocks.back()->size = block_size;
127 basicBlocks.emplace_back(new BasicBlock(basicBlocks.size(), nullptr));
133 BasicBlock* exit_bb = basicBlocks.back().get();
134 for (auto& bb : basicBlocks) {
173 basicBlocks.back()->postDominatorIds.insert(basicBlocks.back()->id);
175 for (auto& block : basicBlocks) {
177 for (uint32_t i = 0; i < basicBlocks.size(); i++) {
186 for (int h = basicBlocks.size() - 2; h >= 0; --h) {
188 basicBlocks[h]->postDominatorIds.size();
189 for (int s : basicBlocks[h]->successorIds) {
190 intersect(basicBlocks[h]->postDominatorIds,
191 basicBlocks[s]->postDominatorIds);
193 basicBlocks[h]->postDominatorIds.insert(h);
195 != basicBlocks[h]->postDominatorIds.size());
216 assert(basicBlocks.size() > 1); // Entry and exit blocks must be present
220 for (auto& basicBlock : basicBlocks) {
229 basicBlocks[postDominatorId]->postDominatorIds,
235 BasicBlock* ipd_block = basicBlocks[*(candidates.begin())].get();
248 for (auto& block : basicBlocks) {
260 for (const auto& block : basicBlocks) {
287 for (const auto& basic_block : basicBlocks) {