Home | History | Annotate | Download | only in optimizing

Lines Matching refs:HBasicBlock

27 void HGraph::AddBlock(HBasicBlock* block) {
56 HBasicBlock* block = blocks_.Get(i);
68 HBasicBlock* block = blocks_.Get(i);
80 void HGraph::VisitBlockForBackEdges(HBasicBlock* block,
89 HBasicBlock* successor = block->GetSuccessors().Get(i);
130 void HBasicBlock::ClearDominanceInformation() {
145 HBasicBlock* HGraph::FindCommonDominator(HBasicBlock* first, HBasicBlock* second) const {
163 void HGraph::VisitBlockForDominatorTree(HBasicBlock* block,
164 HBasicBlock* predecessor,
191 void HGraph::SplitCriticalEdge(HBasicBlock* block, HBasicBlock* successor) {
194 HBasicBlock* new_block = new (arena_) HBasicBlock(this, successor->GetDexPc());
210 void HGraph::SimplifyLoop(HBasicBlock* header) {
218 HBasicBlock* pre_header = new (arena_) HBasicBlock(this, header->GetDexPc());
223 HBasicBlock* predecessor = header->GetPredecessors().Get(pred);
234 HBasicBlock* to_swap = header->GetPredecessors().Get(0);
236 HBasicBlock* predecessor = header->GetPredecessors().Get(pred);
263 HBasicBlock* block = blocks_.Get(i);
267 HBasicBlock* successor = block->GetSuccessors().Get(j);
283 HBasicBlock* block = it.Current();
349 void HLoopInformation::Add(HBasicBlock* block) {
353 void HLoopInformation::Remove(HBasicBlock* block) {
357 void HLoopInformation::PopulateRecursive(HBasicBlock* block) {
372 HBasicBlock* back_edge = GetBackEdges().Get(i);
393 HBasicBlock* block = graph->GetBlocks().Get(id);
423 HBasicBlock* HLoopInformation::GetPreHeader() const {
427 bool HLoopInformation::Contains(const HBasicBlock& block) const {
443 bool HBasicBlock::Dominates(HBasicBlock* other) const {
446 HBasicBlock* current = other;
464 void HBasicBlock::ReplaceAndRemoveInstructionWith(HInstruction* initial,
473 HBasicBlock* block,
483 void HBasicBlock::AddInstruction(HInstruction* instruction) {
487 void HBasicBlock::AddPhi(HPhi* phi) {
491 void HBasicBlock::InsertInstructionBefore(HInstruction* instruction, HInstruction* cursor) {
504 void HBasicBlock::InsertInstructionAfter(HInstruction* instruction, HInstruction* cursor) {
518 void HBasicBlock::InsertPhiAfter(HPhi* phi, HPhi* cursor) {
529 HBasicBlock* block,
542 void HBasicBlock::RemoveInstruction(HInstruction* instruction, bool ensure_safety) {
547 void HBasicBlock::RemovePhi(HPhi* phi, bool ensure_safety) {
551 void HBasicBlock::RemoveInstructionOrPhi(HInstruction* instruction, bool ensure_safety) {
580 HBasicBlock* loop_header) {
705 HBasicBlock* block = GetBlock();
706 HBasicBlock* other_block = other_instruction->GetBlock();
793 const GrowableArray<HBasicBlock*>& blocks = graph_->GetBlocks();
795 HBasicBlock* block = blocks.Get(i);
808 void HGraphVisitor::VisitBasicBlock(HBasicBlock* block) {
926 HBasicBlock* HBasicBlock::SplitAfter(HInstruction* cursor) {
931 HBasicBlock* new_block = new (GetGraph()->GetArena()) HBasicBlock(GetGraph(), GetDexPc());
940 HBasicBlock* successor = GetSuccessors().Get(i);
947 HBasicBlock* dominated = GetDominatedBlocks().Get(i);
955 bool HBasicBlock::IsSingleGoto() const {
966 bool HBasicBlock::EndsWithControlFlowInstruction() const {
970 bool HBasicBlock::EndsWithIf() const {
974 bool HBasicBlock::HasSinglePhi() const {
987 void HInstructionList::SetBlockOfInstructions(HBasicBlock* block) const {
1018 void HBasicBlock::DisconnectAndDelete() {
1039 HBasicBlock* predecessor = predecessors_.Get(i);
1057 HBasicBlock* successor = successors_.Get(i);
1093 void HBasicBlock::MergeWith(HBasicBlock* other) {
1121 HBasicBlock* successor = other->successors_.Get(0);
1128 HBasicBlock* dominated = other->GetDominatedBlocks().Get(i);
1143 void HBasicBlock::MergeWithInlined(HBasicBlock* other) {
1160 HBasicBlock* successor = other->successors_.Get(0);
1166 HBasicBlock* dominated = other->GetDominatedBlocks().Get(i);
1175 void HBasicBlock::ReplaceWith(HBasicBlock* other) {
1177 HBasicBlock* predecessor = GetPredecessors().Get(0);
1181 HBasicBlock* successor = GetSuccessors().Get(0);
1195 static void MakeRoomFor(GrowableArray<HBasicBlock*>* blocks,
1206 void HGraph::DeleteDeadBlock(HBasicBlock* block) {
1228 HBasicBlock* body = GetBlocks().Get(1);
1251 HBasicBlock* at = invoke->GetBlock();
1252 HBasicBlock* to = at->SplitAfter(invoke);
1254 HBasicBlock* first = entry_block_->GetSuccessors().Get(0);
1264 HBasicBlock* predecessor = to->GetPredecessors().Get(0);
1279 HBasicBlock* predecessor = to->GetPredecessors().Get(i);
1319 HBasicBlock* current = it.Current();
1407 void HGraph::TransformLoopHeaderForBCE(HBasicBlock* header) {
1409 HBasicBlock* pre_header = header->GetDominator();
1412 HBasicBlock* if_block = new (arena_) HBasicBlock(this, header->GetDexPc());
1414 HBasicBlock* dummy_block = new (arena_) HBasicBlock(this, header->GetDexPc());
1415 HBasicBlock* deopt_block = new (arena_) HBasicBlock(this, header->GetDexPc());
1416 HBasicBlock* new_pre_header = new (arena_) HBasicBlock(this, header->GetDexPc());