Lines Matching refs:blk

618   bool IsPartialNoEscape(HBasicBlock* blk, size_t idx) {  in IsPartialNoEscape()  argument
629 return ex.PrecedesBlock(blk) || in IsPartialNoEscape()
630 ex.ContainsBlock(blk) || in IsPartialNoEscape()
631 ex.SucceedsBlock(blk); in IsPartialNoEscape()
980 HBasicBlock* blk);
1102 HBasicBlock* blk = instruction->GetBlock(); in HandleInvoke() local
1109 auto partial_singleton_did_not_escape = [](ReferenceInfo* ref_info, HBasicBlock* blk) { in HandleInvoke() argument
1111 if (!ref_info->GetNoEscapeSubgraph()->ContainsBlock(blk)) { in HandleInvoke()
1119 return cohort.PrecedesBlock(blk); in HandleInvoke()
1124 (ref_info->IsPartialSingleton() && partial_singleton_did_not_escape(ref_info, blk))) { in HandleInvoke()
2982 bool IsPostEscape(HBasicBlock* blk) { in IsPostEscape() argument
2986 [&](const ExecutionSubgraph::ExcludedCohort& ec) { return ec.PrecedesBlock(blk); }); in IsPostEscape()
2989 bool InEscapeCohort(HBasicBlock* blk) { in InEscapeCohort() argument
2993 [&](const ExecutionSubgraph::ExcludedCohort& ec) { return ec.ContainsBlock(blk); }); in InEscapeCohort()
3044 void AddMaterialization(HBasicBlock* blk, HInstruction* ins) { in AddMaterialization() argument
3045 if (blk->GetBlockId() >= materializations_.size()) { in AddMaterialization()
3048 materializations_.resize(blk->GetBlockId() * 2, nullptr); in AddMaterialization()
3050 DCHECK(materializations_[blk->GetBlockId()] == nullptr) in AddMaterialization()
3051 << "Already have a materialization in block " << blk->GetBlockId() << ": " in AddMaterialization()
3052 << *materializations_[blk->GetBlockId()] << " when trying to set materialization to " in AddMaterialization()
3054 materializations_[blk->GetBlockId()] = ins; in AddMaterialization()
3055 LSE_VLOG << "In block " << blk->GetBlockId() << " materialization is " << *ins; in AddMaterialization()
3059 bool HasMaterialization(HBasicBlock* blk) const { in HasMaterialization()
3060 return blk->GetBlockId() < materializations_.size() && in HasMaterialization()
3061 materializations_[blk->GetBlockId()] != nullptr; in HasMaterialization()
3064 HInstruction* GetMaterialization(HBasicBlock* blk) const { in GetMaterialization()
3065 if (materializations_.size() <= blk->GetBlockId() || in GetMaterialization()
3066 materializations_[blk->GetBlockId()] == nullptr) { in GetMaterialization()
3071 DCHECK(helper_->IsMaterializationBlock(blk)); in GetMaterialization()
3072 blk = helper_->FindDominatingNonMaterializationBlock(blk); in GetMaterialization()
3073 DCHECK(!helper_->IsMaterializationBlock(blk)); in GetMaterialization()
3075 DCHECK_GT(materializations_.size(), blk->GetBlockId()); in GetMaterialization()
3076 DCHECK(materializations_[blk->GetBlockId()] != nullptr); in GetMaterialization()
3077 return materializations_[blk->GetBlockId()]; in GetMaterialization()
3080 void GenerateMaterializationValueFromPredecessors(HBasicBlock* blk) { in GenerateMaterializationValueFromPredecessors() argument
3084 return cohort.IsEntryBlock(blk); in GenerateMaterializationValueFromPredecessors()
3086 DCHECK(!HasMaterialization(blk)); in GenerateMaterializationValueFromPredecessors()
3087 if (blk->IsExitBlock()) { in GenerateMaterializationValueFromPredecessors()
3089 } else if (blk->IsLoopHeader()) { in GenerateMaterializationValueFromPredecessors()
3107 GetMaterialization(blk->GetLoopInformation()->GetPreHeader()); in GenerateMaterializationValueFromPredecessors()
3108 AddMaterialization(blk, pre_header_val); in GenerateMaterializationValueFromPredecessors()
3113 pred_vals.reserve(blk->GetNumberOfPredecessors()); in GenerateMaterializationValueFromPredecessors()
3114 for (HBasicBlock* pred : blk->GetPredecessors()) { in GenerateMaterializationValueFromPredecessors()
3118 GenerateMaterializationValueFromPredecessorsDirect(blk, pred_vals); in GenerateMaterializationValueFromPredecessors()
3215 for (HBasicBlock* blk : ec.EntryBlocks()) { in CreateConstructorFences()
3217 Filter(MakeIterationRange(blk->GetPredecessors()), in CreateConstructorFences()
3218 [&](HBasicBlock* blk) { return helper_->IsMaterializationBlock(blk); })) { in CreateConstructorFences() argument
3310 HBasicBlock* blk = in CollectReplacements() local
3312 if (InEscapeCohort(blk)) { in CollectReplacements()
3314 << *GetMaterialization(blk); in CollectReplacements()
3316 } else if (IsPostEscape(blk)) { in CollectReplacements()
3344 HBasicBlock* blk, const ScopedArenaVector<HInstruction*>& pred_vals) { in GenerateMaterializationValueFromPredecessorsDirect() argument
3350 AddMaterialization(blk, pred_vals.front()); in GenerateMaterializationValueFromPredecessorsDirect()
3358 blk->AddPhi(phi); in GenerateMaterializationValueFromPredecessorsDirect()
3359 AddMaterialization(blk, phi); in GenerateMaterializationValueFromPredecessorsDirect()
3379 bool IsMaterializationBlock(HBasicBlock* blk) const { in IsMaterializationBlock()
3380 return blk->GetBlockId() >= first_materialization_block_id_; in IsMaterializationBlock()
3385 HBasicBlock* blk = materialization_blocks_[idx]; in GetOrCreateMaterializationBlock() local
3386 if (blk == nullptr) { in GetOrCreateMaterializationBlock()
3387 blk = new (GetGraph()->GetAllocator()) HBasicBlock(GetGraph()); in GetOrCreateMaterializationBlock()
3388 GetGraph()->AddBlock(blk); in GetOrCreateMaterializationBlock()
3389 LSE_VLOG << "creating materialization block " << blk->GetBlockId() << " on edge " in GetOrCreateMaterializationBlock()
3391 blk->AddInstruction(new (GetGraph()->GetAllocator()) HGoto()); in GetOrCreateMaterializationBlock()
3392 materialization_blocks_[idx] = blk; in GetOrCreateMaterializationBlock()
3394 return blk; in GetOrCreateMaterializationBlock()
3429 HBasicBlock* FindDominatingNonMaterializationBlock(HBasicBlock* blk) { in FindDominatingNonMaterializationBlock() argument
3430 if (LIKELY(!IsMaterializationBlock(blk))) { in FindDominatingNonMaterializationBlock()
3432 return blk; in FindDominatingNonMaterializationBlock()
3433 } else if (blk->GetNumberOfPredecessors() != 0) { in FindDominatingNonMaterializationBlock()
3436 return blk->GetSinglePredecessor(); in FindDominatingNonMaterializationBlock()
3441 if (mat == blk) { in FindDominatingNonMaterializationBlock()
3447 LOG(FATAL) << "Unable to find materialization block position for " << blk->GetBlockId() << "!"; in FindDominatingNonMaterializationBlock()
3489 for (HBasicBlock* blk : IterateMaterializationBlocks()) { in ReorderMaterializationsForEnvDominance()
3501 MakeSTLInstructionIteratorRange(HInstructionIterator(blk->GetInstructions()))) { in ReorderMaterializationsForEnvDominance()
3540 if (blk->GetFirstInstruction() != ins) { in ReorderMaterializationsForEnvDominance()
3543 ins->MoveBefore(blk->GetFirstInstruction(), /*do_checks=*/false); in ReorderMaterializationsForEnvDominance()
3587 size_t GetMaterializationBlockIndex(HBasicBlock* blk, size_t pred_num) const { in GetMaterializationBlockIndex() argument
3588 DCHECK_LT(blk->GetBlockId(), first_materialization_block_id_) in GetMaterializationBlockIndex()
3591 return blk->GetBlockId() * max_preds_per_block_ + pred_num; in GetMaterializationBlockIndex()
3779 for (HBasicBlock* blk : GetGraph()->GetReversePostOrder()) { in MovePartialEscapes()
3781 DCHECK(!helper.IsMaterializationBlock(blk)) in MovePartialEscapes()
3783 if (ref_data.HasMaterialization(blk)) { in MovePartialEscapes()
3785 } else if (ref_data.BeforeAllEscapes(blk)) { in MovePartialEscapes()
3786 ref_data.AddMaterialization(blk, GetGraph()->GetNullConstant()); in MovePartialEscapes()
3789 ref_data.GenerateMaterializationValueFromPredecessors(blk); in MovePartialEscapes()