Home
last modified time | relevance | path

Searched refs:GetBasicBlock (Results 1 – 25 of 115) sorted by relevance

12345

/arkcompiler/runtime_core/static_core/compiler/optimizer/ir/
Ddump.cpp94 auto allocator = inst->GetBasicBlock()->GetGraph()->GetLocalAllocator(); in DumpUsers()
95 auto arch = inst->GetBasicBlock()->GetGraph()->GetArch(); in DumpUsers()
207 const auto &allocator = GetBasicBlock()->GetGraph()->GetLocalAllocator(); in DumpInputs()
208 auto arch = GetBasicBlock()->GetGraph()->GetArch(); in DumpInputs()
228 const auto &allocator = GetBasicBlock()->GetGraph()->GetLocalAllocator(); in DumpInputs()
296 const auto &allocator = GetBasicBlock()->GetGraph()->GetLocalAllocator(); in DumpInputs()
347 (*out) << sf_data::ToString(spillFill, GetBasicBlock()->GetGraph()->GetArch()); in DumpInputs()
355 auto allocator = GetBasicBlock()->GetGraph()->GetLocalAllocator(); in DumpInputs()
363 auto allocator = GetBasicBlock()->GetGraph()->GetLocalAllocator(); in DumpOpcode()
376 auto allocator = mixinInst->GetBasicBlock()->GetGraph()->GetLocalAllocator(); in DumpOpcodeAnyTypeMixin()
[all …]
Dinst.cpp132 if (currInput->GetBasicBlock() != nullptr && currInput->HasUsers()) { in Remove()
258 GetBasicBlock()->GetGraph()->IsDynamicMethod(); in IsDynamicCast()
276 ASSERT(bbNum < GetBasicBlock()->GetPredsBlocks().size()); in OPCODE_CLASS_LIST()
277 return GetBasicBlock()->GetPredsBlocks()[bbNum]; in OPCODE_CLASS_LIST()
364 ASSERT(other != nullptr && GetBasicBlock() == other->GetBasicBlock()); in IsPrecedingInSameBlock()
384 auto thisBb = GetBasicBlock(); in IsDominate()
385 auto otherBb = other->GetBasicBlock(); in IsDominate()
391 return GetBasicBlock() == other->GetBasicBlock() || IsDominate(other); in InSameBlockOrDominate()
470 bool isSupportInt32 = GetBasicBlock()->GetGraph()->IsBytecodeOptimizer(); in Clone()
537 ASSERT(GetBasicBlock() != nullptr); in AppendImmediate()
[all …]
Danalysis.cpp97 auto bb = inst->GetBasicBlock(); in HasOsrEntryBetween()
103 return FindBlockBetween<IsOsrEntryBlock>(dominateInst->GetBasicBlock(), bb, marker.GetMarker()); in HasOsrEntryBetween()
120 auto bb = inst->GetBasicBlock(); in HasTryBlockBetween()
122 return FindBlockBetween<IsTryBlock>(dominateInst->GetBasicBlock(), bb, marker.GetMarker()); in HasTryBlockBetween()
189 auto arch = array->GetBasicBlock()->GetGraph()->GetArch(); in CanArrayAccessBeImplicit()
196 auto graph = inst->GetBasicBlock()->GetGraph(); in IsSuitableForImplicitNullCheck()
250 auto graph = inst->GetBasicBlock()->GetGraph(); in IsInstNotNull()
341 auto ifBlock = ifImm->GetBasicBlock(); in IsIfInverted()
454 if (targetInst->IsPhi() || targetInst->GetBasicBlock() != block) { in FixUsagePhiInBB()
470 if (targetInst->GetBasicBlock() == block) { in FixUsageInstInOtherBB()
[all …]
Dgraph_cloner.cpp190 ASSERT(user->GetBasicBlock() != nullptr); in CreateResolverBlock()
191 if (user->GetBasicBlock()->GetLoop() != loop) { in CreateResolverBlock()
216 auto newCmp = compare->Clone(compare->GetBasicBlock()->GetGraph()); in SplitBackEdge()
313 ASSERT(user->GetBasicBlock() != nullptr); in UpdateUsersAfterNoSideExitsUnroll()
314 if (user->GetBasicBlock()->GetLoop() != loop) { in UpdateUsersAfterNoSideExitsUnroll()
327 if (headerPhi->IsPhi() && headerPhi->GetBasicBlock() == unrollData->header) { in UpdateUsersAfterNoSideExitsUnroll()
471 } else if (input->IsPhi() && input->GetBasicBlock()->GetLoop() == loop) { in BuildLoopUnrollDataFlow()
565 ASSERT(user->GetBasicBlock() != nullptr); in BuildClonedLoopHeaderDataFlow()
566 if (user->GetBasicBlock()->GetLoop() != block.GetLoop()) { in BuildClonedLoopHeaderDataFlow()
659 auto instBlock = inst->GetBasicBlock(); in UpdateUsersForClonedLoopHeader()
[all …]
/arkcompiler/runtime_core/compiler/optimizer/ir/
Dinst.cpp122 if (curr_input->GetBasicBlock() != nullptr && curr_input->HasUsers()) { in Remove()
181 ASSERT(bb_num < GetBasicBlock()->GetPredsBlocks().size()); in GetPhiInputBb()
182 return GetBasicBlock()->GetPredsBlocks()[bb_num]; in GetPhiInputBb()
233 ASSERT(other != nullptr && GetBasicBlock() == other->GetBasicBlock()); in IsPrecedingInSameBlock()
253 auto this_bb = GetBasicBlock(); in IsDominate()
254 auto other_bb = other->GetBasicBlock(); in IsDominate()
260 return GetBasicBlock() == other->GetBasicBlock() || IsDominate(other); in InSameBlockOrDominate()
334 bool is_support_int32 = GetBasicBlock()->GetGraph()->IsBytecodeOptimizer(); in Clone()
383 ASSERT(GetBasicBlock() != nullptr); in AppendImmediate()
384 AllocateImmediates(GetBasicBlock()->GetGraph()->GetAllocator(), 0); in AppendImmediate()
[all …]
Ddump.cpp93 auto allocator = inst->GetBasicBlock()->GetGraph()->GetLocalAllocator(); in DumpUsers()
94 auto arch = inst->GetBasicBlock()->GetGraph()->GetArch(); in DumpUsers()
187 const auto &allocator = GetBasicBlock()->GetGraph()->GetLocalAllocator(); in DumpInputs()
188 auto arch = GetBasicBlock()->GetGraph()->GetArch(); in DumpInputs()
203 const auto &allocator = GetBasicBlock()->GetGraph()->GetLocalAllocator(); in DumpInputs()
237 const auto &allocator = GetBasicBlock()->GetGraph()->GetLocalAllocator(); in DumpInputs()
288 (*out) << sf_data::ToString(spill_fill, GetBasicBlock()->GetGraph()->GetArch()); in DumpInputs()
295 … (*out) << "arg " << IdToString(GetArgNumber(), GetBasicBlock()->GetGraph()->GetLocalAllocator()); in DumpInputs()
301 auto allocator = GetBasicBlock()->GetGraph()->GetLocalAllocator(); in DumpOpcode()
314 auto allocator = mixin_inst->GetBasicBlock()->GetGraph()->GetLocalAllocator(); in DumpOpcodeAnyTypeMixin()
[all …]
Dgraph_checker.cpp57 ASSERT(user_inst->GetBasicBlock() != nullptr); in UserInputCheck()
64 ASSERT(input_inst != nullptr && input_inst->GetBasicBlock() != nullptr); in UserInputCheck()
190 ASSERT_DO(inst->GetBasicBlock() == block, in CheckDataFlow()
215 … IsTryCatchDomination(inst->GetBasicBlock(), user_inst->GetBasicBlock())), in CheckDataFlow()
324 [[maybe_unused]] auto input_bb = phi_inst->CastToPhi()->GetPhiInput(pred)->GetBasicBlock(); in CheckPhiInputs()
338 auto graph = inst->GetBasicBlock()->GetGraph(); in CheckInstRegUsageSaved()
509 ASSERT(input->GetBasicBlock() != nullptr); in CheckInstHasInput()
510 ASSERT(input->GetBasicBlock()->GetGraph() != nullptr); in CheckInstHasInput()
522 ASSERT(user->GetBasicBlock() != nullptr); in CheckInstHasUser()
523 ASSERT(user->GetBasicBlock()->GetGraph() != nullptr); in CheckInstHasUser()
[all …]
Dbasicblock.cpp55 ASSERT(inst->GetBasicBlock() == this); in SplitBlockAfterInstruction()
143 if (inst->GetBasicBlock() == bb) { // When INST is from empty basic block ... in RemovePhiProcessing()
425 …ASSERT_PRINT(inst_db->GetBasicBlock() == this, "Inst::SetBasicBlock() should be called beforehand"… in AppendRangeInst()
429 …ASSERT_PRINT(inst_db->GetBasicBlock() == this, "Inst::SetBasicBlock() should be called beforehand"… in AppendRangeInst()
452 ASSERT(after->GetBasicBlock() == this); in InsertAfter()
453 ASSERT(inst->GetBasicBlock() == nullptr); in InsertAfter()
471 ASSERT(before->GetBasicBlock() == this); in InsertBefore()
472 ASSERT(inst->GetBasicBlock() == nullptr); in InsertBefore()
496 ASSERT(before->GetBasicBlock() == this); in InsertRangeBefore()
500 …ASSERT_PRINT(inst_db->GetBasicBlock() == this, "Inst::SetBasicBlock() should be called beforehand"… in InsertRangeBefore()
[all …]
Dgraph_cloner.cpp195 ASSERT(user->GetBasicBlock() != nullptr); in CreateResolverBlock()
196 if (user->GetBasicBlock()->GetLoop() != loop) { in CreateResolverBlock()
221 auto new_cmp = compare->Clone(compare->GetBasicBlock()->GetGraph()); in SplitBackEdge()
319 ASSERT(user->GetBasicBlock() != nullptr); in UpdateUsersAfterNoSideExitsUnroll()
320 if (user->GetBasicBlock()->GetLoop() != loop) { in UpdateUsersAfterNoSideExitsUnroll()
333 if (header_phi->IsPhi() && header_phi->GetBasicBlock() == unroll_data->header) { in UpdateUsersAfterNoSideExitsUnroll()
477 } else if (input->IsPhi() && input->GetBasicBlock()->GetLoop() == loop) { in BuildLoopUnrollDataFlow()
544 ASSERT(user->GetBasicBlock() != nullptr); in BuildClonedLoopHeaderDataFlow()
545 if (user->GetBasicBlock()->GetLoop() != block.GetLoop()) { in BuildClonedLoopHeaderDataFlow()
638 auto inst_block = inst->GetBasicBlock(); in UpdateUsersForClonedLoopHeader()
[all …]
/arkcompiler/runtime_core/static_core/compiler/optimizer/optimizations/
Dlicm.cpp163 inst->GetBasicBlock()->InsertAfter(target, inst); in MoveInstructions()
166 inst->GetBasicBlock()->EraseInst(inst); in MoveInstructions()
171 ASSERT(lastInst->GetBasicBlock() == preHeader); in MoveInstructions()
290 …if (FindUnsafeInstBetween(ss->GetBasicBlock(), resolver->GetBasicBlock(), visited.GetMarker(), res… in FindSaveStateForResolver()
305 auto instLoop = inst->GetBasicBlock()->GetLoop(); in InstInputDominatesPreheader()
310 auto inputLoop = input.GetInst()->GetBasicBlock()->GetLoop(); in InstInputDominatesPreheader()
321 if (!input.GetInst()->GetBasicBlock()->IsDominate(instLoop->GetPreHeader())) { in InstInputDominatesPreheader()
336 auto instLoop = inst->GetBasicBlock()->GetLoop(); in InstDominatesLoopExits()
338 if (IsBlockLoopExit(block) && !inst->GetBasicBlock()->IsDominate(block)) { in InstDominatesLoopExits()
359 …!BoundsAnalysis::IsInstNotNull(inst->GetDataFlowInput(0), inst->GetBasicBlock()->GetLoop()->GetHea… in IsInstHoistable()
Ddeoptimize_elimination.cpp44 auto block = inst->GetBasicBlock(); in ReplaceDeoptimizeIfByUnconditionalDeoptimize()
112 …inst->GetBasicBlock()->GetGraph()->GetEventWriter().EventDeoptimizeElimination(GetOpcodeString(ins… in VisitDefault()
131 …ss->GetBasicBlock()->GetGraph()->GetEventWriter().EventDeoptimizeElimination(GetOpcodeString(ss->G… in VisitSaveState()
147 auto block = inst->GetBasicBlock(); in VisitDeoptimizeIf()
164 !(graph->IsOsrMode() && block->GetLoop() != userInst->GetBasicBlock()->GetLoop()) && in VisitDeoptimizeIf()
176 auto block = inst->GetBasicBlock(); in TryToRemoveRedundantSaveState()
190 auto guardBlock = guard->GetBasicBlock(); in CanRemoveGuard()
270 auto block = guard->GetBasicBlock(); in RemoveGuard()
283 auto block = inst->GetBasicBlock(); in RemoveDeoptimizeIf()
295 savestate->GetBasicBlock()->ReplaceInst(savestate, graph->CreateInstNOP()); in RemoveDeoptimizeIf()
Dcode_sink.cpp174 BasicBlock *block = inst->GetBasicBlock(); in SinkInstruction()
190 ASSERT(inst->GetBasicBlock() != candidate); in IsAcceptableTarget()
191 ASSERT(inst->GetBasicBlock()->IsDominate(candidate)); in IsAcceptableTarget()
203 BasicBlock *block = inst->GetBasicBlock(); in IsAcceptableTarget()
220 auto ublock = uinst->GetBasicBlock(); in IsAcceptableTarget()
Dchecks_elimination.cpp257 auto block = hclassCheck.value()->GetBasicBlock(); in TryRemoveDominatedHclassCheck()
347 auto block = inst->GetBasicBlock(); in VisitBoundsCheck()
396 auto block = inst->GetBasicBlock(); in VisitCheckCast()
410 auto block = inst->GetBasicBlock(); in VisitIsInstance()
457 auto block = instDel->GetBasicBlock(); in ReplaceUsersAndRemoveCheck()
459 if (graph->IsOsrMode() && block->GetLoop() != instRep->GetBasicBlock()->GetLoop()) { in ReplaceUsersAndRemoveCheck()
492 auto indexBlock = parentIndex->GetBasicBlock(); in GetLoopForBoundsCheck()
501 if (loopInfo->index == parentIndex && input->GetBasicBlock()->IsDominate(indexBlock)) { in GetLoopForBoundsCheck()
648 auto block = inst->GetBasicBlock(); in TryRemoveCheckByBounds()
706 auto block = inst->GetBasicBlock(); in TryOptimizeOverflowCheck()
[all …]
Dlowering.cpp46 auto graph = inst->GetBasicBlock()->GetGraph(); in VisitCastValueToAnyType()
98 auto graph = inst->GetBasicBlock()->GetGraph(); in VisitCast()
115 …inputInst->GetBasicBlock()->GetGraph()->GetEventWriter().EventLowering(GetOpcodeString(inst->GetOp… in VisitCast()
263 if (inst->GetBasicBlock()->GetGraph()->IsBytecodeOptimizer()) { in TryReplaceModPowerOfTwo()
304 auto graph = inst->GetBasicBlock()->GetGraph(); in ReplaceSignedModPowerOfTwo()
342 auto graph = inst->GetBasicBlock()->GetGraph(); in ReplaceUnsignedModPowerOfTwo()
376 auto graph = inst->GetBasicBlock()->GetGraph(); in VisitLoadFromConstantPool()
384 inst->GetBasicBlock()->ReplaceInst(inst, newInst); in VisitLoadFromConstantPool()
429 auto graph = inst->GetBasicBlock()->GetGraph(); in VisitCompare()
464 auto graph = inst->GetBasicBlock()->GetGraph(); in LowerShift()
[all …]
Dadjust_arefs.cpp70 if (!IsRefAdjustable(i) || i->GetBasicBlock()->GetLoop()->IsRoot()) { in RunImpl()
101 ASSERT(head->GetBasicBlock() != nullptr); in ProcessArrayUses()
102 loop_ = head->GetBasicBlock()->GetLoop(); in ProcessArrayUses()
106 ASSERT(!head->GetBasicBlock()->IsMarked(blockProcessed_)); in ProcessArrayUses()
107 WalkChainDown(head->GetBasicBlock(), head, head); in ProcessArrayUses()
124 i->GetBasicBlock()->SetMarker(blockEntered_); in GetHeads()
225 org->GetBasicBlock()->ReplaceInst(org, ldst); in InsertMem()
Dmove_constants.cpp72 targetBb = userInst->GetBasicBlock(); in MoveFromStartBlock()
108 if (firstInst->GetBasicBlock() != userInst->GetBasicBlock()) { in SingleBlockNoPhiDominatingUser()
145 auto firstDominator = const_cast<BasicBlock *>(inst->GetBasicBlock()); in GetDominators()
Descape.cpp324 if (phiInput->GetBasicBlock() != block && DataType::IsReference(phiInput->GetType())) { in ProcessBlock()
680 auto blockState = GetState(ss->GetBasicBlock()); in MaterializeDeoptSaveState()
765 auto blockState = GetState(before->GetBasicBlock()); in Materialize()
781 if (targetInst->GetBasicBlock() == before->GetBasicBlock()) { in Materialize()
787 if (ss->GetBasicBlock() == before->GetBasicBlock()) { in Materialize()
827 GetState(inst->GetBasicBlock())->SetStateId(inst, EscapeAnalysis::MATERIALIZED_ID); in Materialize()
865 auto blockState = GetState(ss->GetBasicBlock()); in RegisterVirtualObjectFieldsForMaterialization()
904 auto blockState = GetState(inst->GetBasicBlock()); in VisitCmpRef()
951 GetState(inst->GetBasicBlock())->Materialize(inst); in VisitNewObject()
956 GetState(inst->GetBasicBlock())->SetState(inst, vstate); in VisitNewObject()
[all …]
Dlse.cpp116 if (hvalue->origin->GetBasicBlock() == inst->GetBasicBlock()) { in VisitStore()
128 auto &blockHeap = heaps_.at(GetEquivClass(inst)).first.at(inst->GetBasicBlock()); in VisitStore()
178 … heaps_.at(GetEquivClass(inst)).first.at(inst->GetBasicBlock())[inst] = {inst, inst, true, false}; in VisitLoad()
201 auto &blockHeap = heaps_.at(eqClass).first.at(inv->GetBasicBlock()); in VisitIntrinsic()
316 auto val = heap.at((*it)->GetBasicBlock())[(*it)].val; in ProcessBackedges()
432 auto marker = inst->GetBasicBlock()->GetGraph()->NewMarker(); in FinalizeShadowedStores()
435 shadow->GetBasicBlock()->SetMarker(marker); in FinalizeShadowedStores()
437 … if (!ExistsPathWithoutShadowingStores(inst->GetBasicBlock(), inst->GetBasicBlock(), marker)) { in FinalizeShadowedStores()
447 inst->GetBasicBlock()->GetGraph()->EraseMarker(marker); in FinalizeShadowedStores()
455 auto &blockHeap = heaps_.at(GetEquivClass(inst)).first.at(inst->GetBasicBlock()); in GetHeapValue()
[all …]
Dpeepholes.cpp628 auto graph = inst->GetBasicBlock()->GetGraph(); in VisitShr()
660 if (inst->GetBasicBlock()->GetGraph()->IsBytecodeOptimizer()) { in VisitAShr()
937 auto graph = inst->GetBasicBlock()->GetGraph(); in VisitCompare()
939 auto bb = inst->GetBasicBlock(); in VisitCompare()
998 auto graph = inst->GetBasicBlock()->GetGraph(); in TrySimplifyCompareAnyTypeCase2()
1037 auto graph = inst->GetBasicBlock()->GetGraph(); in TrySimplifyCompareAnyType()
1125 auto graph = inst->GetBasicBlock()->GetGraph(); in TryReplaceCompareAnyType()
1134 auto cnst = inst->GetBasicBlock()->GetGraph()->FindOrCreateConstant(constValue); in TryReplaceCompareAnyType()
1235 auto graph = inst->GetBasicBlock()->GetGraph(); in VisitCastCase2()
1270 auto graph = inst->GetBasicBlock()->GetGraph(); in VisitCastCase3()
[all …]
Dobject_type_check_elimination.cpp56 auto block = inst->GetBasicBlock(); in ReplaceCheckMustThrowByUnconditionalDeoptimize()
76 auto block = inst->GetBasicBlock(); in TryEliminateIsInstance()
127 auto block = inst->GetBasicBlock(); in TryEliminateCheckCast()
202 … if (trueBlock->GetPredsBlocks().size() == 1 && trueBlock->IsDominate(refUser->GetBasicBlock())) { in IsSuccessfulIsInstance()
/arkcompiler/runtime_core/static_core/bytecode_optimizer/
Dbytecodeopt_peepholes.cpp29 auto *graph = newObject->GetBasicBlock()->GetGraph(); in FindCtorCall()
87 auto graph = newObject->GetBasicBlock()->GetGraph(); in ReplaceNewObjectUsers()
100 if (inst->GetBasicBlock() != callInit->GetBasicBlock()) { in VisitNewObject()
112 if (inst->GetBasicBlock()->IsTry() && callInit->GetPc() - inst->GetPc() > newobjSize) { in VisitNewObject()
148 nullCheck->GetBasicBlock()->ReplaceInst(nullCheck, in VisitNewObject()
/arkcompiler/runtime_core/static_core/plugins/ets/compiler/optimizer/
Dets_intrinsics_peephole.cpp31 auto bb = intrinsic->GetBasicBlock(); in PeepholeStringEquals()
54 if (inst->GetBasicBlock()->GetGraph()->GetRuntime()->IsCompressedStringsEnabled()) { in GetStringFromLength()
101 auto graph = intrinsic->GetBasicBlock()->GetGraph(); in TryInsertFieldInst()
145 auto graph = intrinsic->GetBasicBlock()->GetGraph(); in TryInsertCallInst()
174 auto graph = intrinsic->GetBasicBlock()->GetGraph(); in PeepholeLdObjByName()
198 auto graph = intrinsic->GetBasicBlock()->GetGraph(); in PeepholeStObjByName()
/arkcompiler/runtime_core/compiler/optimizer/optimizations/
Dmove_constants.cpp59 target_bb = user_inst->GetBasicBlock(); in MoveFromStartBlock()
95 if (first_inst->GetBasicBlock() != user_inst->GetBasicBlock()) { in SingleBlockNoPhiDominatingUser()
132 auto first_dominator = const_cast<BasicBlock *>(inst->GetBasicBlock()); in GetDominators()
/arkcompiler/runtime_core/static_core/compiler/optimizer/ir_builder/
Dphi_resolver.h201 if (phiInst->GetInputsCount() != phiInst->GetBasicBlock()->GetPredsBlocks().size()) { in CheckPhiInputs()
205 auto pred = phiInst->GetBasicBlock()->GetPredBlockByIndex(index); in CheckPhiInputs()
206 auto inputBb = phiInst->GetInput(index).GetInst()->GetBasicBlock(); in CheckPhiInputs()
246 MarkInstsOnPaths(userInst->GetBasicBlock(), inst, userInst); in TryRemoveFromSaveStates()
250 if (!userInst->IsSaveState() || userInst->GetBasicBlock()->IsMarked(marker_) || in TryRemoveFromSaveStates()
307 inst->GetBasicBlock()->RemoveInst(inst); in RemovePhiInst()
310 phi->GetBasicBlock()->RemoveInst(phi); in RemovePhiInst()
/arkcompiler/runtime_core/compiler/optimizer/ir_builder/
Dphi_resolver.h74 inst->GetBasicBlock()->RemoveInst(inst); in Run()
77 phi->GetBasicBlock()->RemoveInst(phi); in Run()
159 if (phi_inst->GetInputsCount() != phi_inst->GetBasicBlock()->GetPredsBlocks().size()) { in CheckPhiInputs()
163 auto pred = phi_inst->GetBasicBlock()->GetPredBlockByIndex(index); in CheckPhiInputs()
164 auto input_bb = phi_inst->GetInput(index).GetInst()->GetBasicBlock(); in CheckPhiInputs()

12345