• Home
  • Raw
  • Download

Lines Matching refs:bb

72 static bool fillDefBlockMatrix(CompilationUnit *cUnit, BasicBlock *bb)  in fillDefBlockMatrix()  argument
74 if (bb->dataFlowInfo == NULL) return false; in fillDefBlockMatrix()
78 dvmBitVectorIteratorInit(bb->dataFlowInfo->defV, &iterator); in fillDefBlockMatrix()
83 dvmCompilerSetBit(cUnit->defBlockMatrix[idx], bb->id); in fillDefBlockMatrix()
122 static void computeDomPostOrderTraversal(CompilationUnit *cUnit, BasicBlock *bb) in computeDomPostOrderTraversal() argument
125 dvmBitVectorIteratorInit(bb->iDominated, &bvIterator); in computeDomPostOrderTraversal()
138 dvmInsertGrowableList(&cUnit->domPostOrderTraversal, bb->id); in computeDomPostOrderTraversal()
141 if (bb->taken && dvmIsBitSet(bb->dominators, bb->taken->id)) { in computeDomPostOrderTraversal()
161 static bool computeDominanceFrontier(CompilationUnit *cUnit, BasicBlock *bb) in computeDominanceFrontier() argument
166 if (bb->taken) { in computeDominanceFrontier()
167 checkForDominanceFrontier(bb, bb->taken); in computeDominanceFrontier()
169 if (bb->fallThrough) { in computeDominanceFrontier()
170 checkForDominanceFrontier(bb, bb->fallThrough); in computeDominanceFrontier()
172 if (bb->successorBlockList.blockListType != kNotUsed) { in computeDominanceFrontier()
174 dvmGrowableListIteratorInit(&bb->successorBlockList.blocks, in computeDominanceFrontier()
181 checkForDominanceFrontier(bb, succBB); in computeDominanceFrontier()
187 dvmBitVectorIteratorInit(bb->iDominated, &bvIterator); in computeDominanceFrontier()
200 checkForDominanceFrontier(bb, dfUpBlock); in computeDominanceFrontier()
208 static bool initializeDominationInfo(CompilationUnit *cUnit, BasicBlock *bb) in initializeDominationInfo() argument
212 if (bb->dominators == NULL ) { in initializeDominationInfo()
213 bb->dominators = dvmCompilerAllocBitVector(numTotalBlocks, in initializeDominationInfo()
215 bb->iDominated = dvmCompilerAllocBitVector(numTotalBlocks, in initializeDominationInfo()
217 bb->domFrontier = dvmCompilerAllocBitVector(numTotalBlocks, in initializeDominationInfo()
220 dvmClearAllBits(bb->dominators); in initializeDominationInfo()
221 dvmClearAllBits(bb->iDominated); in initializeDominationInfo()
222 dvmClearAllBits(bb->domFrontier); in initializeDominationInfo()
225 dvmSetInitialBits(bb->dominators, numTotalBlocks); in initializeDominationInfo()
231 static bool computeBlockDominators(CompilationUnit *cUnit, BasicBlock *bb) in computeBlockDominators() argument
242 if (bb == cUnit->entryBlock) return false; in computeBlockDominators()
247 dvmBitVectorIteratorInit(bb->predecessors, &bvIterator); in computeBlockDominators()
256 dvmSetBit(tempBlockV, bb->id); in computeBlockDominators()
257 if (dvmCompareBitVectors(tempBlockV, bb->dominators)) { in computeBlockDominators()
258 dvmCopyBitVector(bb->dominators, tempBlockV); in computeBlockDominators()
265 static bool computeImmediateDominator(CompilationUnit *cUnit, BasicBlock *bb) in computeImmediateDominator() argument
272 if (bb == cUnit->entryBlock) return false; in computeImmediateDominator()
274 dvmCopyBitVector(tempBlockV, bb->dominators); in computeImmediateDominator()
275 dvmClearBit(tempBlockV, bb->id); in computeImmediateDominator()
283 bb->iDom = iDom; in computeImmediateDominator()
300 bb->iDom = iDom; in computeImmediateDominator()
303 dvmCompilerSetBit(iDom->iDominated, bb->id); in computeImmediateDominator()
384 static bool computeBlockLiveIns(CompilationUnit *cUnit, BasicBlock *bb) in computeBlockLiveIns() argument
388 if (bb->dataFlowInfo == NULL) return false; in computeBlockLiveIns()
389 dvmCopyBitVector(tempDalvikRegisterV, bb->dataFlowInfo->liveInV); in computeBlockLiveIns()
390 if (bb->taken && bb->taken->dataFlowInfo) in computeBlockLiveIns()
391 computeSuccLiveIn(tempDalvikRegisterV, bb->taken->dataFlowInfo->liveInV, in computeBlockLiveIns()
392 bb->dataFlowInfo->defV); in computeBlockLiveIns()
393 if (bb->fallThrough && bb->fallThrough->dataFlowInfo) in computeBlockLiveIns()
395 bb->fallThrough->dataFlowInfo->liveInV, in computeBlockLiveIns()
396 bb->dataFlowInfo->defV); in computeBlockLiveIns()
397 if (bb->successorBlockList.blockListType != kNotUsed) { in computeBlockLiveIns()
399 dvmGrowableListIteratorInit(&bb->successorBlockList.blocks, in computeBlockLiveIns()
409 bb->dataFlowInfo->defV); in computeBlockLiveIns()
413 if (dvmCompareBitVectors(tempDalvikRegisterV, bb->dataFlowInfo->liveInV)) { in computeBlockLiveIns()
414 dvmCopyBitVector(bb->dataFlowInfo->liveInV, tempDalvikRegisterV); in computeBlockLiveIns()
501 static bool insertPhiNodeOperands(CompilationUnit *cUnit, BasicBlock *bb) in insertPhiNodeOperands() argument
509 for (mir = bb->firstMIRInsn; mir; mir = mir->next) { in insertPhiNodeOperands()
520 dvmBitVectorIteratorInit(bb->predecessors, &bvIterator); in insertPhiNodeOperands()