Home
last modified time | relevance | path

Searched refs:BasicBlock (Results 1 – 25 of 37) sorted by relevance

12

/dalvik/vm/compiler/
DCompilerIR.h152 typedef struct BasicBlock { struct
163 struct BasicBlock *fallThrough; argument
164 struct BasicBlock *taken; argument
165 struct BasicBlock *iDom; // Immediate dominator argument
175 } BasicBlock; argument
184 BasicBlock *block;
259 BasicBlock *entryBlock;
260 BasicBlock *exitBlock;
261 BasicBlock *puntBlock; // punting to interp for exceptions
262 BasicBlock *backChainBlock; // for loop-trace
[all …]
DSSATransformation.cpp23 static void recordDFSPreOrder(CompilationUnit *cUnit, BasicBlock *block) in recordDFSPreOrder()
42 BasicBlock *succBB = successorBlockInfo->block; in recordDFSPreOrder()
72 static bool fillDefBlockMatrix(CompilationUnit *cUnit, BasicBlock *bb) in fillDefBlockMatrix()
122 static void computeDomPostOrderTraversal(CompilationUnit *cUnit, BasicBlock *bb) in computeDomPostOrderTraversal()
132 BasicBlock *dominatedBB = in computeDomPostOrderTraversal()
133 (BasicBlock *) dvmGrowableListGetElement(blockList, bbIdx); in computeDomPostOrderTraversal()
146 static void checkForDominanceFrontier(BasicBlock *domBB, in checkForDominanceFrontier()
147 const BasicBlock *succBB) in checkForDominanceFrontier()
161 static bool computeDominanceFrontier(CompilationUnit *cUnit, BasicBlock *bb) in computeDominanceFrontier()
180 BasicBlock *succBB = successorBlockInfo->block; in computeDominanceFrontier()
[all …]
DIntermediateRep.cpp21 BasicBlock *dvmCompilerNewBB(BBType blockType, int blockId) in dvmCompilerNewBB()
23 BasicBlock *bb = (BasicBlock *)dvmCompilerNew(sizeof(BasicBlock), true); in dvmCompilerNewBB()
32 void dvmCompilerAppendMIR(BasicBlock *bb, MIR *mir) in dvmCompilerAppendMIR()
47 void dvmCompilerPrependMIR(BasicBlock *bb, MIR *mir) in dvmCompilerPrependMIR()
62 void dvmCompilerInsertMIRAfter(BasicBlock *bb, MIR *currentMIR, MIR *newMIR) in dvmCompilerInsertMIRAfter()
DCompiler.h180 struct BasicBlock;
215 struct BasicBlock *bb);
217 struct BasicBlock *bb);
219 struct BasicBlock *bb);
221 struct BasicBlock *bb);
224 struct BasicBlock *bb);
232 bool (*func)(struct CompilationUnit *, struct BasicBlock *),
DFrontend.cpp512 static BasicBlock *splitBlock(CompilationUnit *cUnit, in splitBlock()
514 BasicBlock *origBlock, in splitBlock()
515 BasicBlock **immedPredBlockP) in splitBlock()
526 BasicBlock *bottomBlock = dvmCompilerNewBB(kDalvikByteCode, in splitBlock()
567 BasicBlock *bb = successorBlockInfo->block; in splitBlock()
596 static BasicBlock *findBlock(CompilationUnit *cUnit, in findBlock()
599 BasicBlock **immedPredBlockP) in findBlock()
602 BasicBlock *bb; in findBlock()
606 bb = (BasicBlock *) blockList->elemList[i]; in findBlock()
613 BasicBlock *newBB = splitBlock(cUnit, codeOffset, bb, in findBlock()
[all …]
DRalloc.cpp27 static void inferTypes(CompilationUnit *cUnit, BasicBlock *bb) in inferTypes()
75 BasicBlock *bb = (BasicBlock *) dvmGrowableListIteratorNext(&iterator); in dvmCompilerLocalRegAlloc()
DLoop.cpp95 static BasicBlock *findPredecessorBlock(const CompilationUnit *cUnit, in findPredecessorBlock()
96 const BasicBlock *bb) in findPredecessorBlock()
104 return (BasicBlock *) dvmGrowableListGetElement(&cUnit->blockList, in findPredecessorBlock()
112 return (BasicBlock *) dvmGrowableListGetElement(&cUnit->blockList, in findPredecessorBlock()
173 BasicBlock *loopBackBlock = cUnit->entryBlock->fallThrough; in isSimpleCountedLoop()
345 BasicBlock *loopBody = cUnit->entryBlock->fallThrough; in doLoopBodyCodeMotion()
432 BasicBlock *entry = cUnit->entryBlock; in genHoistedChecks()
514 void resetBlockEdges(BasicBlock *bb) in resetBlockEdges()
522 struct BasicBlock *bb) in clearPredecessorVector()
530 BasicBlock *firstBB = cUnit->entryBlock->fallThrough; in dvmCompilerFilterLoopBlocks()
[all …]
DInlineTransformation.cpp40 BasicBlock *invokeBB, in inlineGetter()
44 BasicBlock *moveResultBB = invokeBB->fallThrough; in inlineGetter()
140 BasicBlock *invokeBB, in inlineSetter()
228 BasicBlock *invokeBB, in tryInlineSingletonCallsite()
262 BasicBlock *invokeBB) in inlineEmptyVirtualCallee()
276 BasicBlock *invokeBB, in tryInlineVirtualCallsite()
312 BasicBlock *bb = (BasicBlock *) dvmGrowableListIteratorNext(&iterator); in dvmCompilerInlineMIR()
DCompilerUtility.h57 struct BasicBlock;
75 void dvmGetBlockName(struct BasicBlock *bb, char *name);
DUtility.cpp159 BasicBlock *bb; in dvmCompilerDumpCompilationUnit()
184 bb = (BasicBlock *) dvmGrowableListIteratorNext(&iterator); in dvmCompilerDumpCompilationUnit()
378 BasicBlock *bb = in dvmDumpBlockBitVector()
379 (BasicBlock *) dvmGrowableListGetElement(blocks, i); in dvmDumpBlockBitVector()
387 void dvmGetBlockName(BasicBlock *bb, char *name) in dvmGetBlockName()
DDataflow.cpp1108 bool dvmCompilerFindLocalLiveIn(CompilationUnit *cUnit, BasicBlock *bb) in dvmCompilerFindLocalLiveIn()
1215 bool dvmCompilerDoSSAConversion(CompilationUnit *cUnit, BasicBlock *bb) in dvmCompilerDoSSAConversion()
1346 bool dvmCompilerDoConstantPropagation(CompilationUnit *cUnit, BasicBlock *bb) in dvmCompilerDoConstantPropagation()
1420 struct BasicBlock *bb) in dvmCompilerFindInductionVariables()
1627 BasicBlock *bb = (BasicBlock *) dvmGrowableListIteratorNext(&iterator); in dvmInitializeSSAConversion()
1642 struct BasicBlock *bb) in dvmCompilerClearVisitedFlag()
1649 bool (*func)(CompilationUnit *, BasicBlock *), in dvmCompilerDataFlowAnalysisDispatcher() argument
1663 BasicBlock *bb = in dvmCompilerDataFlowAnalysisDispatcher()
1664 (BasicBlock *) dvmGrowableListIteratorNext(&iterator); in dvmCompilerDataFlowAnalysisDispatcher()
1681 BasicBlock *bb = in dvmCompilerDataFlowAnalysisDispatcher()
[all …]
/dalvik/dexgen/src/com/android/dexgen/rop/code/
DBasicBlockList.java66 public BasicBlock get(int n) { in get()
67 return (BasicBlock) get0(n); in get()
76 public void set(int n, BasicBlock bb) { in set()
112 BasicBlock one = (BasicBlock) getOrNull0(i); in getInstructionCount()
132 BasicBlock one = (BasicBlock) getOrNull0(i); in getEffectiveInstructionCount()
158 public BasicBlock labelToBlock(int label) { in labelToBlock()
178 BasicBlock one = get(i); in forEachInsn()
198 BasicBlock one = (BasicBlock) get0(i); in withRegisterOffset()
230 public BasicBlock preferredSuccessorOf(BasicBlock block) { in preferredSuccessorOf()
260 public boolean catchesEqual(BasicBlock block1, in catchesEqual()
[all …]
DBasicBlock.java27 public final class BasicBlock implements LabeledItem { class
59 public BasicBlock(int label, InsnList insns, IntList successors, in BasicBlock() method in BasicBlock
262 public BasicBlock withRegisterOffset(int delta) { in withRegisterOffset()
263 return new BasicBlock(label, insns.withRegisterOffset(delta), in withRegisterOffset()
279 public void visitBlock (BasicBlock b); in visitBlock()
/dalvik/dx/src/com/android/dx/rop/code/
DBasicBlockList.java66 public BasicBlock get(int n) { in get()
67 return (BasicBlock) get0(n); in get()
76 public void set(int n, BasicBlock bb) { in set()
112 BasicBlock one = (BasicBlock) getOrNull0(i); in getInstructionCount()
132 BasicBlock one = (BasicBlock) getOrNull0(i); in getEffectiveInstructionCount()
157 public BasicBlock labelToBlock(int label) { in labelToBlock()
177 BasicBlock one = get(i); in forEachInsn()
197 BasicBlock one = (BasicBlock) get0(i); in withRegisterOffset()
229 public BasicBlock preferredSuccessorOf(BasicBlock block) { in preferredSuccessorOf()
259 public boolean catchesEqual(BasicBlock block1, BasicBlock block2) { in catchesEqual()
DBasicBlock.java27 public final class BasicBlock implements LabeledItem { class
59 public BasicBlock(int label, InsnList insns, IntList successors, in BasicBlock() method in BasicBlock
262 public BasicBlock withRegisterOffset(int delta) { in withRegisterOffset()
263 return new BasicBlock(label, insns.withRegisterOffset(delta), in withRegisterOffset()
279 public void visitBlock (BasicBlock b); in visitBlock()
/dalvik/dx/src/com/android/dx/ssa/back/
DIdenticalBlockCombiner.java19 import com.android.dx.rop.code.BasicBlock;
67 BasicBlock b = blocks.get(bindex); in process()
81 BasicBlock iBlock = blocks.labelToBlock(iLabel); in process()
95 BasicBlock jBlock = blocks.labelToBlock(jLabel); in process()
128 private static boolean compareInsns(BasicBlock a, BasicBlock b) { in compareInsns()
145 BasicBlock bb = blocks.labelToBlock(betaLabel); in combineBlocks()
150 BasicBlock predBlock = newBlocks.labelToBlock(preds.get(j)); in combineBlocks()
164 private void replaceSucc(BasicBlock block, int oldLabel, int newLabel) { in replaceSucc()
177 BasicBlock newBB = new BasicBlock(block.getLabel(), in replaceSucc()
/dalvik/dx/src/com/android/dx/dex/code/
DBlockAddresses.java19 import com.android.dx.rop.code.BasicBlock;
66 public CodeAddress getStart(BasicBlock block) { in getStart()
86 public CodeAddress getLast(BasicBlock block) { in getLast()
108 public CodeAddress getEnd(BasicBlock block) { in getEnd()
131 BasicBlock one = blocks.get(i); in setupArrays()
DStdCatchBuilder.java19 import com.android.dx.rop.code.BasicBlock;
85 BasicBlock block = blocks.get(i); in hasAnyCatches()
102 BasicBlock block = blocks.get(i); in getCatchTypes()
129 BasicBlock currentStartBlock = null; in build()
130 BasicBlock currentEndBlock = null; in build()
133 BasicBlock block = blocks.labelToBlock(order[i]); in build()
216 private static CatchHandlerList handlersFor(BasicBlock block, in handlersFor()
274 private static CatchTable.Entry makeEntry(BasicBlock start, in makeEntry()
275 BasicBlock end, CatchHandlerList handlers, in makeEntry()
300 private static boolean rangeIsValid(BasicBlock start, BasicBlock end, in rangeIsValid()
DRopTranslator.java21 import com.android.dx.rop.code.BasicBlock;
246 private void outputBlock(BasicBlock block, int nextLabel) { in outputBlock()
319 BasicBlock one = blocks.get(i); in pickOrder()
371 BasicBlock pred = blocks.labelToBlock(predLabel); in pickOrder()
395 BasicBlock one = blocks.labelToBlock(label); in pickOrder()
396 BasicBlock preferredBlock = blocks.preferredSuccessorOf(one); in pickOrder()
500 private BasicBlock block;
524 public void setBlock(BasicBlock block, CodeAddress lastAddress) { in setBlock()
/dalvik/dexgen/src/com/android/dexgen/dex/code/
DBlockAddresses.java19 import com.android.dexgen.rop.code.BasicBlock;
66 public CodeAddress getStart(BasicBlock block) { in getStart()
86 public CodeAddress getLast(BasicBlock block) { in getLast()
108 public CodeAddress getEnd(BasicBlock block) { in getEnd()
131 BasicBlock one = blocks.get(i); in setupArrays()
DStdCatchBuilder.java19 import com.android.dexgen.rop.code.BasicBlock;
85 BasicBlock block = blocks.get(i); in hasAnyCatches()
102 BasicBlock block = blocks.get(i); in getCatchTypes()
129 BasicBlock currentStartBlock = null; in build()
130 BasicBlock currentEndBlock = null; in build()
133 BasicBlock block = blocks.labelToBlock(order[i]); in build()
216 private static CatchHandlerList handlersFor(BasicBlock block, in handlersFor()
274 private static CatchTable.Entry makeEntry(BasicBlock start, in makeEntry()
275 BasicBlock end, CatchHandlerList handlers, in makeEntry()
300 private static boolean rangeIsValid(BasicBlock start, BasicBlock end, in rangeIsValid()
DRopTranslator.java19 import com.android.dexgen.rop.code.BasicBlock;
239 private void outputBlock(BasicBlock block, int nextLabel) { in outputBlock()
312 BasicBlock one = blocks.get(i); in pickOrder()
364 BasicBlock pred = blocks.labelToBlock(predLabel); in pickOrder()
388 BasicBlock one = blocks.labelToBlock(label); in pickOrder()
389 BasicBlock preferredBlock = blocks.preferredSuccessorOf(one); in pickOrder()
493 private BasicBlock block;
517 public void setBlock(BasicBlock block, CodeAddress lastAddress) { in setBlock()
/dalvik/dx/src/com/android/dx/cf/code/
DRopper.java94 private final ArrayList<BasicBlock> result;
206 BasicBlock subCaller = labelToBlock(label); in getSuccessors()
226 BasicBlock subCaller = labelToBlock(label); in mergeToSuccessors()
292 this.result = new ArrayList<BasicBlock>(blocks.size() * 2 + 10); in Ropper()
378 for (BasicBlock bb : result) { in getAvailableLabel()
448 BasicBlock one = result.get(i); in labelToResultIndex()
464 private BasicBlock labelToBlock(int label) { in labelToBlock()
482 private void addBlock(BasicBlock block, IntList subroutines) { in addBlock()
503 private boolean addOrReplaceBlock(BasicBlock block, IntList subroutines) { in addOrReplaceBlock()
541 private boolean addOrReplaceBlockNoDelete(BasicBlock block, in addOrReplaceBlockNoDelete()
[all …]
/dalvik/vm/compiler/codegen/x86/
DCodegenDriver.cpp93 BasicBlock *bb, X86LIR *labelList)
139 static bool handleFmt21t(CompilationUnit *cUnit, MIR *mir, BasicBlock *bb,
160 static bool handleFmt22t(CompilationUnit *cUnit, MIR *mir, BasicBlock *bb,
181 static bool handleFmt35c_3rc(CompilationUnit *cUnit, MIR *mir, BasicBlock *bb,
188 BasicBlock *bb, X86LIR *labelList)
/dalvik/vm/compiler/codegen/arm/armv7-a-neon/
DMethodCodegenDriver.cpp39 BasicBlock *bb) in genMethodInflateAndPunt()
107 BasicBlock *bb, ArmLIR *labelList) in handleMethodFmt10t_Fmt20t_Fmt30t()
137 static bool handleMethodFmt11x(CompilationUnit *cUnit, MIR *mir, BasicBlock *bb, in handleMethodFmt11x()
175 static bool handleMethodFmt21t(CompilationUnit *cUnit, MIR *mir, BasicBlock *bb, in handleMethodFmt21t()
196 static bool handleMethodFmt22t(CompilationUnit *cUnit, MIR *mir, BasicBlock *bb, in handleMethodFmt22t()
218 BasicBlock *bb, ArmLIR *labelList) in handleMethodFmt35c_3rc()
224 BasicBlock *bb, ArmLIR *labelList) in handleMethodFmt35ms_3rms()
240 static bool methodBlockCodeGen(CompilationUnit *cUnit, BasicBlock *bb) in methodBlockCodeGen()

12