/art/compiler/dex/ |
H A D | bb_optimizations.cc | 31 BasicBlock* bb = pass_me_data_holder->bb; local 32 DCHECK(bb != nullptr); 33 c_unit->mir_graph->LayoutBlocks(bb); 46 BasicBlock* bb = pass_me_data_holder->bb; local 47 DCHECK(bb != nullptr); 48 c_unit->mir_graph->CombineBlocks(bb);
|
H A D | ssa_transformation.cc | 27 for (BasicBlock* bb = iter.Next(); bb != NULL; bb = iter.Next()) { 28 bb->visited = false; 32 BasicBlock* MIRGraph::NeedsVisit(BasicBlock* bb) { argument 33 if (bb != NULL) { 34 if (bb->visited || bb->hidden) { 35 bb = NULL; 38 return bb; 41 NextUnvisitedSuccessor(BasicBlock* bb) argument 136 FillDefBlockMatrix(BasicBlock* bb) argument 181 ComputeDomPostOrderTraversal(BasicBlock* bb) argument 239 ComputeDominanceFrontier(BasicBlock* bb) argument 272 InitializeDominationInfo(BasicBlock* bb) argument 313 ComputeblockIDom(BasicBlock* bb) argument 357 ComputeBlockDominators(BasicBlock* bb) argument 367 SetDominators(BasicBlock* bb) argument 458 ComputeBlockLiveIns(BasicBlock* bb) argument 547 InsertPhiNodeOperands(BasicBlock* bb) argument [all...] |
H A D | post_opt_passes.cc | 44 BasicBlock* bb = pass_me_data_holder->bb; local 45 DCHECK(bb != nullptr); 46 c_unit->mir_graph->CountUses(bb); 57 BasicBlock* bb = pass_me_data_holder->bb; local 58 DCHECK(bb != nullptr); 59 MIR* mir = bb->first_mir_insn; 67 bb->RemoveMIR(mir); 86 for (BasicBlock* bb [all...] |
H A D | global_value_numbering.cc | 46 LocalValueNumbering* GlobalValueNumbering::PrepareBasicBlock(BasicBlock* bb, argument 51 if (UNLIKELY(bb->data_flow_info == nullptr)) { 54 if (UNLIKELY(bb->block_type == kExitBlock)) { 55 DCHECK(bb->first_mir_insn == nullptr); 66 work_lvn_.reset(new (allocator) LocalValueNumbering(this, bb->id, allocator)); 67 if (bb->block_type == kEntryBlock) { 95 loop_head_idx != mir_graph_->GetTopologicalSortOrderIndexes()->Get(bb->id); 97 GrowableArray<BasicBlockId>::Iterator iter(bb->predecessors); 108 if (bb->catch_entry) { 110 } else if (bb 139 FinishBasicBlock(BasicBlock* bb) argument [all...] |
H A D | mir_optimization.cc | 28 static unsigned int Predecessors(BasicBlock* bb) { argument 29 return bb->predecessors->Size(); 45 void MIRGraph::DoConstantPropagation(BasicBlock* bb) { argument 48 for (mir = bb->first_mir_insn; mir != NULL; mir = mir->next) { 108 BasicBlock* bb = *p_bb; local 112 bb = GetBasicBlock(bb->fall_through); 113 if ((bb == NULL) || Predecessors(bb) != 1) { 116 *p_bb = bb; 131 FindMoveResult(BasicBlock* bb, MIR* mir) argument 150 NextDominatedBlock(BasicBlock* bb) argument 173 FindPhi(BasicBlock* bb, int ssa_name) argument 320 BasicBlockOpt(BasicBlock* bb) argument 576 CountChecks(struct BasicBlock* bb) argument 600 LayoutBlocks(BasicBlock* bb) argument 661 CombineBlocks(struct BasicBlock* bb) argument 748 EliminateNullChecksAndInferTypes(BasicBlock* bb) argument 1057 EliminateClassInitChecks(BasicBlock* bb) argument 1170 ApplyGlobalValueNumbering(BasicBlock* bb) argument 1259 InlineSpecialMethods(BasicBlock* bb) argument 1326 BuildExtendedBBList(struct BasicBlock* bb) argument [all...] |
H A D | bb_optimizations.h | 103 BasicBlock* bb = pass_me_data_holder->bb; local 104 DCHECK(bb != nullptr); 105 c_unit->mir_graph->InlineSpecialMethods(bb); 160 BasicBlock* bb = pass_me_data_holder->bb; local 161 DCHECK(bb != nullptr); 162 return c_unit->mir_graph->EliminateNullChecksAndInferTypes(bb); 191 BasicBlock* bb = pass_me_data_holder->bb; local 226 BasicBlock* bb = pass_me_data_holder->bb; variable [all...] |
H A D | dataflow_iterator-inl.h | 127 BasicBlock* bb = mir_graph_->GetBasicBlock(block_id_list_->Get(idx_ - 1)); local 128 bb->visited = true; 131 ChildBlockIterator iter(bb, mir_graph_); 163 BasicBlock* bb = mir_graph_->GetBasicBlock(block_id_list_->Get(idx)); local 164 DCHECK(bb != nullptr); 165 if (!bb->visited) { 169 return bb;
|
H A D | mir_graph.cc | 208 BasicBlock* bb = GetBasicBlock(successor_block_info->block); local 209 if (bb != nullptr) { 210 bb->predecessors->Delete(orig_block->id); 211 bb->predecessors->Insert(bottom_block->id); 241 p->bb = bottom_block->id; 273 BasicBlock* bb = (block_id == 0) ? NULL : block_list_.Get(block_id); local 275 if ((bb != NULL) && (bb->start_offset == code_offset)) { 277 return bb; 285 if (bb ! 900 BasicBlock* bb = GetBasicBlock(block_idx); local 1382 GetBlockName(BasicBlock* bb, char* name) argument 1411 BasicBlock* bb; local 1452 NewMemCallInfo(BasicBlock* bb, MIR* mir, InvokeType type, bool is_range) argument 1486 BasicBlock* bb = new (arena_) BasicBlock(); local 1671 BasicBlock* bb = nullptr; local 1798 BasicBlock* bb = gen_suspend_test_list_.Get(idx); local 1808 ChildBlockIterator(BasicBlock* bb, MIRGraph* mir_graph) argument [all...] |
H A D | mir_graph.h | 351 BasicBlockId bb; member in struct:art::MIR 371 explicit MIR():offset(0), optimization_flags(0), m_unit_index(0), bb(NullBasicBlockId), 498 * @param bb The basic whose children we need to iterate through. 501 ChildBlockIterator(BasicBlock* bb, MIRGraph* mir_graph); 919 MIR* FindMoveResult(BasicBlock* bb, MIR* mir); 924 bool EliminateNullChecksAndInferTypes(BasicBlock* bb); 927 bool EliminateClassInitChecks(BasicBlock* bb); 930 bool ApplyGlobalValueNumbering(BasicBlock* bb); 972 void GetBlockName(BasicBlock* bb, char* name); 975 CallInfo* NewMemCallInfo(BasicBlock* bb, MI 1067 AppendGenSuspendTestList(BasicBlock* bb) argument [all...] |
H A D | pass_driver_me.h | 33 pass_me_data_holder_.bb = nullptr; 164 for (BasicBlock* bb = iterator->Next(change); bb != nullptr; bb = iterator->Next(change)) { 165 data->bb = bb;
|
H A D | mir_analysis.cc | 862 void MIRGraph::AnalyzeBlock(BasicBlock* bb, MethodStats* stats) { argument 863 if (bb->visited || (bb->block_type != kDalvikByteCode)) { 873 BasicBlock* ending_bb = bb; 890 if ((GetBasicBlock(ending_bb->taken)->taken == bb->id) || 891 (GetBasicBlock(ending_bb->taken)->fall_through == bb->id)) { 896 if ((ending_bb->taken != NullBasicBlockId) && (ending_bb->taken == bb->id)) { 900 BasicBlock* tbb = bb; 1102 for (BasicBlock* bb = iter.Next(); bb ! [all...] |
H A D | mir_optimization_test.cc | 75 #define DEF_MIR(opcode, bb, field_info) \ 76 { opcode, bb, field_info } 110 BasicBlock* bb = cu_.mir_graph->NewMemBB(def->type, i); local 111 cu_.mir_graph->block_list_.Insert(bb); 113 bb->successor_block_list_type = kNotUsed; 114 bb->successor_blocks = nullptr; 115 bb->fall_through = (def->num_successors >= 1) ? def->successors[0] : 0u; 116 bb->taken = (def->num_successors >= 2) ? def->successors[1] : 0u; 118 bb->successor_block_list_type = kPackedSwitch; 119 bb 165 BasicBlock* bb = cu_.mir_graph->block_list_.Get(def->bbid); local [all...] |
H A D | post_opt_passes.h | 229 BasicBlock* bb = down_cast<const PassMEDataHolder*>(data)->bb; local 230 DCHECK(bb != nullptr); 231 c_unit->mir_graph->InsertPhiNodeOperands(bb); 267 BasicBlock* bb = down_cast<const PassMEDataHolder*>(data)->bb; local 268 DCHECK(bb != nullptr); 269 c_unit->mir_graph->DoConstantPropagation(bb);
|
H A D | mir_graph_test.cc | 67 BasicBlock* bb = cu_.mir_graph->NewMemBB(def->type, i); local 68 cu_.mir_graph->block_list_.Insert(bb); 70 bb->successor_block_list_type = kNotUsed; 71 bb->successor_blocks = nullptr; 72 bb->fall_through = (def->num_successors >= 1) ? def->successors[0] : 0u; 73 bb->taken = (def->num_successors >= 2) ? def->successors[1] : 0u; 75 bb->successor_block_list_type = kPackedSwitch; 76 bb->fall_through = 0u; 77 bb->taken = 0u; 78 bb [all...] |
H A D | mir_dataflow.cc | 926 bool MIRGraph::FindLocalLiveIn(BasicBlock* bb) { argument 930 if (bb->data_flow_info == NULL) return false; 932 use_v = bb->data_flow_info->use_v = 934 def_v = bb->data_flow_info->def_v = 936 live_in_v = bb->data_flow_info->live_in_v = 939 for (mir = bb->first_mir_insn; mir != NULL; mir = mir->next) { 1073 bool MIRGraph::DoSSAConversion(BasicBlock* bb) { argument 1076 if (bb->data_flow_info == NULL) return false; 1078 for (mir = bb->first_mir_insn; mir != NULL; mir = mir->next) { 1190 bb 1249 BasicBlock* bb = iterator.Next(); local 1317 CountUses(struct BasicBlock* bb) argument 1354 VerifyPredInfo(BasicBlock* bb) argument [all...] |
H A D | global_value_numbering_test.cc | 90 #define DEF_CONST(bb, opcode, reg, value) \ 91 { bb, opcode, value, 0u, 0, { }, 1, { reg } } 92 #define DEF_CONST_WIDE(bb, opcode, reg, value) \ 93 { bb, opcode, value, 0u, 0, { }, 2, { reg, reg + 1 } } 94 #define DEF_CONST_STRING(bb, opcode, reg, index) \ 95 { bb, opcode, index, 0u, 0, { }, 1, { reg } } 96 #define DEF_IGET(bb, opcode, reg, obj, field_info) \ 97 { bb, opcode, 0u, field_info, 1, { obj }, 1, { reg } } 98 #define DEF_IGET_WIDE(bb, opcode, reg, obj, field_info) \ 99 { bb, opcod 184 BasicBlock* bb = cu_.mir_graph->NewMemBB(def->type, i); local 239 BasicBlock* bb = cu_.mir_graph->block_list_.Get(def->bbid); local [all...] |
H A D | pass_me.h | 44 BasicBlock* bb; member in class:art::PassMEDataHolder
|
/art/test/005-annotations/src/android/test/anno/ |
H A D | AnnoArrayField.java | 11 byte[] bb() default {};
|
/art/compiler/dex/quick/ |
H A D | mir_to_lir.cc | 319 bool Mir2Lir::GenSpecialCase(BasicBlock* bb, MIR* mir, const InlineMethod& special) { argument 336 return_mir = bb->GetNextUnconditionalMir(mir_graph_, mir); 345 return_mir = bb->GetNextUnconditionalMir(mir_graph_, mir); 349 return_mir = bb->GetNextUnconditionalMir(mir_graph_, mir); 389 void Mir2Lir::CompileDalvikInstruction(MIR* mir, BasicBlock* bb, LIR* label_list) { argument 579 GenFilledNewArray(mir_graph_->NewMemCallInfo(bb, mir, kStatic, 584 GenFilledNewArray(mir_graph_->NewMemCallInfo(bb, mir, kStatic, 595 if (mir_graph_->IsBackedge(bb, bb->taken) && 596 (kLeafOptimization || !mir_graph_->HasSuspendTestBetween(bb, b 1064 HandleExtendedMethodMIR(BasicBlock* bb, MIR* mir) argument 1115 MethodBlockCodeGen(BasicBlock* bb) argument 1210 BasicBlock*bb = NULL; local [all...] |
H A D | dex_file_method_inliner.h | 90 bool GenInline(MIRGraph* mir_graph, BasicBlock* bb, MIR* invoke, uint32_t method_idx) 313 static bool GenInlineConst(MIRGraph* mir_graph, BasicBlock* bb, MIR* invoke, 315 static bool GenInlineReturnArg(MIRGraph* mir_graph, BasicBlock* bb, MIR* invoke, 317 static bool GenInlineIGet(MIRGraph* mir_graph, BasicBlock* bb, MIR* invoke, 319 static bool GenInlineIPut(MIRGraph* mir_graph, BasicBlock* bb, MIR* invoke,
|
H A D | dex_file_method_inliner.cc | 529 bool DexFileMethodInliner::GenInline(MIRGraph* mir_graph, BasicBlock* bb, MIR* invoke, argument 547 move_result = mir_graph->FindMoveResult(bb, invoke); 548 result = GenInlineConst(mir_graph, bb, invoke, move_result, method); 551 move_result = mir_graph->FindMoveResult(bb, invoke); 552 result = GenInlineReturnArg(mir_graph, bb, invoke, move_result, method); 555 move_result = mir_graph->FindMoveResult(bb, invoke); 556 result = GenInlineIGet(mir_graph, bb, invoke, move_result, method, method_idx); 559 move_result = mir_graph->FindMoveResult(bb, invoke); 560 result = GenInlineIPut(mir_graph, bb, invoke, move_result, method, method_idx); 711 bool DexFileMethodInliner::GenInlineConst(MIRGraph* mir_graph, BasicBlock* bb, MI argument 732 GenInlineReturnArg(MIRGraph* mir_graph, BasicBlock* bb, MIR* invoke, MIR* move_result, const InlineMethod& method) argument 770 GenInlineIGet(MIRGraph* mir_graph, BasicBlock* bb, MIR* invoke, MIR* move_result, const InlineMethod& method, uint32_t method_idx) argument 822 GenInlineIPut(MIRGraph* mir_graph, BasicBlock* bb, MIR* invoke, MIR* move_result, const InlineMethod& method, uint32_t method_idx) argument [all...] |
/art/test/009-instanceof/src/ |
H A D | Main.java | 24 ImplBSub bb = new ImplBSub(); 28 face1 = bb; 32 System.out.println("bb.mWhoami = " + bb.mWhoami); 41 bb = (ImplBSub) face1;
|
/art/compiler/dex/portable/ |
H A D | mir_to_gbc.cc | 138 BasicBlock* bb = mir_graph_->FindBlock(vaddr); local 139 DCHECK(bb != NULL); 140 return GetLLVMBlock(bb->id); 143 void MirConverter::ConvertPackedSwitch(BasicBlock* bb, argument 152 irb_->CreateSwitch(value, GetLLVMBlock(bb->fall_through), 163 bb->taken = NullBasicBlockId; 164 bb->fall_through = NullBasicBlockId; 167 void MirConverter::ConvertSparseSwitch(BasicBlock* bb, argument 179 irb_->CreateSwitch(value, GetLLVMBlock(bb->fall_through), 190 bb 329 ConvertCompareAndBranch(BasicBlock* bb, MIR* mir, ConditionCode cc, RegLocation rl_src1, RegLocation rl_src2) argument 344 ConvertCompareZeroAndBranch(BasicBlock* bb, MIR* mir, ConditionCode cc, RegLocation rl_src1) argument 467 ConvertInvoke(BasicBlock* bb, MIR* mir, InvokeType invoke_type, bool is_range, bool is_filled_new_array) argument 703 ConvertMIRNode(MIR* mir, BasicBlock* bb, ::llvm::BasicBlock* llvm_bb) argument 1549 HandlePhiNodes(BasicBlock* bb, ::llvm::BasicBlock* llvm_bb) argument 1598 ConvertExtendedMIR(BasicBlock* bb, MIR* mir, ::llvm::BasicBlock* llvm_bb) argument 1645 BlockBitcodeConversion(BasicBlock* bb) argument 1856 CreateLLVMBasicBlock(BasicBlock* bb) argument [all...] |
H A D | mir_to_gbc.h | 94 void ConvertPackedSwitch(BasicBlock* bb, int32_t table_offset, 96 void ConvertSparseSwitch(BasicBlock* bb, int32_t table_offset, 117 void ConvertCompareAndBranch(BasicBlock* bb, MIR* mir, ConditionCode cc, 119 void ConvertCompareZeroAndBranch(BasicBlock* bb, MIR* mir, ConditionCode cc, 135 void ConvertInvoke(BasicBlock* bb, MIR* mir, InvokeType invoke_type, 168 bool ConvertMIRNode(MIR* mir, BasicBlock* bb, ::llvm::BasicBlock* llvm_bb); 171 void HandlePhiNodes(BasicBlock* bb, ::llvm::BasicBlock* llvm_bb); 172 void ConvertExtendedMIR(BasicBlock* bb, MIR* mir, ::llvm::BasicBlock* llvm_bb); 173 bool BlockBitcodeConversion(BasicBlock* bb); 176 bool CreateLLVMBasicBlock(BasicBlock* bb); [all...] |
/art/compiler/dex/quick/x86/ |
H A D | codegen_x86.h | 237 void GenFusedFPCmpBranch(BasicBlock* bb, MIR* mir, bool gt_bias, bool is_double) OVERRIDE; 238 void GenFusedLongCmpBranch(BasicBlock* bb, MIR* mir) OVERRIDE; 239 void GenSelect(BasicBlock* bb, MIR* mir) OVERRIDE; 479 void GenFusedLongCmpImmBranch(BasicBlock* bb, RegLocation rl_src1, 482 void GenMultiplyVectorSignedByte(BasicBlock *bb, MIR *mir); 483 void GenShiftByteVector(BasicBlock *bb, MIR *mir); 539 * @param bb The basic block in which the MIR is from. 544 void GenConst128(BasicBlock* bb, MIR* mir); 548 * @param bb The basic block in which the MIR is from. 554 void GenMoveVector(BasicBlock *bb, MI [all...] |