/arkcompiler/runtime_core/compiler/tests/ |
H A D | irBuilder_tests.cpp | 158 for (auto bb : graph->GetBlocksRPO()) { in HWTEST_F() 159 EXPECT_NE(bb, nullptr); in HWTEST_F() 160 if (bb->IsTryBegin()) { in HWTEST_F() 161 EXPECT_TRUE(bb->GetPredsBlocks().size() == 1); in HWTEST_F() 162 EXPECT_TRUE(bb->GetSuccsBlocks().size() == 2); in HWTEST_F() 163 EXPECT_TRUE(bb->GetSuccessor(0)->IsTry()); in HWTEST_F() 164 EXPECT_TRUE(bb->GetSuccessor(1)->IsCatch()); in HWTEST_F() 165 EXPECT_TRUE(bb->GetSuccessor(1)->IsCatchBegin()); in HWTEST_F() 167 EXPECT_TRUE(bb->GetFirstInst()->IsTry()); in HWTEST_F() 171 if (bb in HWTEST_F() [all...] |
H A D | dominators_tree_new_test.cpp | 55 for (auto bb : graph->GetBlocksRPO()) { in HWTEST_F() 56 EXPECT_NE(bb, nullptr); in HWTEST_F() 57 if (!bb->IsCatchBegin()) { in HWTEST_F() 61 bb->GetPredecessor(1)->SetDominator(bb->GetPredecessor(0)); in HWTEST_F() 62 EXPECT_NE(bb->GetPredecessor(1)->GetDominator(), nullptr); in HWTEST_F() 63 bb->GetPredecessor(0)->AddDominatedBlock(bb->GetPredecessor(1)); in HWTEST_F() 64 dominators_tree.UpdateAfterResolverInsertion(bb->GetPredecessor(0), bb in HWTEST_F() [all...] |
H A D | loop_analyzer_new_test.cpp | 79 for (auto bb : graph->GetBlocksRPO()) { in HWTEST_F() 80 EXPECT_NE(bb, nullptr); in HWTEST_F() 81 if (!bb->IsTryBegin()) { in HWTEST_F() 84 Loop loop(graph->GetAllocator(), bb->GetSuccessor(0), 1); in HWTEST_F() 85 Loop other(graph->GetAllocator(), bb->GetSuccessor(0), 1); in HWTEST_F() 113 for (auto bb : graph->GetBlocksRPO()) { in HWTEST_F() 114 EXPECT_NE(bb, nullptr); in HWTEST_F() 115 if (!bb->IsTryBegin()) { in HWTEST_F() 118 Loop loop(graph->GetAllocator(), bb->GetSuccessor(0), 1); in HWTEST_F() 119 loop.AppendBackEdge(bb in HWTEST_F() [all...] |
H A D | compiler_basicblock_test.cpp | 59 for (auto bb : graph->GetBlocksRPO()) { in HWTEST_F() 60 if (!bb->IsCatchBegin()) { in HWTEST_F() 64 EXPECT_TRUE(BlocksPathDfsSearch(mrk, start_block, end_block, bb->GetSuccessor(0))); in HWTEST_F() 65 EXPECT_FALSE(BlocksPathDfsSearch(mrk, start_block, bb->GetSuccessor(0), end_block)); in HWTEST_F() 66 EXPECT_FALSE(BlocksPathDfsSearch(mrk, end_block, start_block, bb->GetSuccessor(0))); in HWTEST_F() 87 for (auto bb : graph->GetBlocksRPO()) { in HWTEST_F() 88 if (!bb->IsTry()) { in HWTEST_F() 91 graph->GetEndBlock()->InsertBlockBefore(bb->GetPredecessor(0)); in HWTEST_F() 92 graph->GetStartBlock()->InsertBlockBefore(bb->GetPredecessor(0)); in HWTEST_F() 116 for (auto bb in HWTEST_F() [all...] |
/arkcompiler/ets_runtime/ecmascript/compiler/codegen/maple/maple_be/src/cg/ |
H A D | live.cpp | 36 FOR_ALL_BB(bb, cgFunc) in InitAndGetDefUse() 38 InitBB(*bb); in InitAndGetDefUse() 39 GetBBDefUse(*bb); in InitAndGetDefUse() 70 bool LiveAnalysis::GenerateLiveOut(BB &bb) const in GenerateLiveOut() 73 for (auto succBB : bb.GetSuccs()) { in GenerateLiveOut() 75 isChanged = bb.LiveOutOrBits(*succBB->GetLiveIn()) || isChanged; in GenerateLiveOut() 76 isChanged = RemovePhiLiveInFromSuccNotFromThisBB(bb, *succBB) || isChanged; in GenerateLiveOut() 83 bool LiveAnalysis::GenerateLiveIn(BB &bb) in GenerateLiveIn() argument 87 if (!bb.GetInsertUse()) { in GenerateLiveIn() 88 if (!bb in GenerateLiveIn() 241 CollectLiveInfo(BB &bb, const Operand &opnd, bool isDef, bool isUse) const CollectLiveInfo() argument 270 ProcessAsmListOpnd(BB &bb, Operand &opnd, uint32 idx) const ProcessAsmListOpnd() argument 293 ProcessListOpnd(BB &bb, Operand &opnd, bool isDef) const ProcessListOpnd() argument 301 ProcessMemOpnd(BB &bb, Operand &opnd) const ProcessMemOpnd() argument 392 InitBB(BB &bb) InitBB() argument [all...] |
H A D | cgbb.cpp | 100 /* Remove insns in this bb from insn1 to insn2. */ 103 DEBUG_ASSERT(insn.GetBB() == this, "remove insn sequence in one bb"); in RemoveInsnSequence() 104 DEBUG_ASSERT(nextInsn.GetBB() == this, "remove insn sequence in one bb"); in RemoveInsnSequence() 121 /* append all insns from bb into this bb */ 122 void BB::AppendBBInsns(BB &bb) in AppendBBInsns() argument 125 firstInsn = bb.firstInsn; in AppendBBInsns() 126 lastInsn = bb.lastInsn; in AppendBBInsns() 128 FOR_BB_INSNS(i, &bb) in AppendBBInsns() 135 if ((bb in AppendBBInsns() 145 InsertAtBeginning(BB &bb) InsertAtBeginning() argument 168 InsertAtEnd(BB &bb) InsertAtEnd() argument 309 AllPredBBVisited(const BB &bb, long &level) const AllPredBBVisited() argument 338 MarkStraightLineBBInBFS(BB *bb) MarkStraightLineBBInBFS() argument 359 SearchForStraightLineBBs(BB &bb) SearchForStraightLineBBs() argument 397 BB *bb = workList.front(); BFS() local [all...] |
H A D | cg_dominance.cpp | 26 void DomAnalysis::PostOrderWalk(const BB &bb, int32 &pid, MapleVector<bool> &visitedMap) in PostOrderWalk() argument 29 s.push(&bb); in PostOrderWalk() 30 visitedMap[bb.GetId()] = true; in PostOrderWalk() 84 bool DominanceBase::CommonEntryBBIsPred(const BB &bb) const in CommonEntryBBIsPred() 87 if (suc == &bb) { in CommonEntryBBIsPred() 102 BB *bb = reversePostOrder[i]; in ComputeDominance() local 103 if (bb == nullptr) { in ComputeDominance() 107 auto it = bb->GetPredsBegin(); in ComputeDominance() 108 if (CommonEntryBBIsPred(*bb) || bb in ComputeDominance() 197 GetIterDomFrontier(const BB *bb, MapleUnorderedSet<uint32> *dfset, uint32 bbidMarker, std::vector<bool> &visitedMap) GetIterDomFrontier() argument 226 ComputeDtPreorder(const BB &bb, uint32 &num) ComputeDtPreorder() argument [all...] |
H A D | cfi_generator.cpp | 23 Insn *GenCfi::FindStackDefInsn(BB &bb) const in FindStackDefInsn() 25 FOR_BB_INSNS(insn, &bb) in FindStackDefInsn() 34 Insn *GenCfi::FinsStackRevertInsn(BB &bb) const in FinsStackRevertInsn() 36 FOR_BB_INSNS_REV(insn, &bb) in FinsStackRevertInsn() 45 Insn *GenCfi::InsertCFIDefCfaOffset(BB &bb, Insn &insn, int32 &cfiOffset) in InsertCFIDefCfaOffset() argument 51 (void)bb.InsertInsnAfter(insn, cfiInsn); in InsertCFIDefCfaOffset() 55 void GenCfi::GenerateStartDirective(BB &bb) in GenerateStartDirective() argument 58 if (bb.GetFirstInsn() != nullptr) { in GenerateStartDirective() 59 (void)bb.InsertInsnBefore(*bb in GenerateStartDirective() 65 GenerateEndDirective(BB &bb) GenerateEndDirective() argument 70 GenerateRegisterStateDirective(BB &bb) GenerateRegisterStateDirective() argument [all...] |
H A D | loop.cpp | 64 void LoopAnalysis::SetLoopParent4BB(const BB &bb, LoopDesc &loopDesc) in SetLoopParent4BB() argument 66 if (bbLoopParent[bb.GetId()] != nullptr && bbLoopParent[bb.GetId()] != &loopDesc) { in SetLoopParent4BB() 68 loopDesc.SetParentLoop(*bbLoopParent[bb.GetId()]); in SetLoopParent4BB() 74 loopDesc.InsertLoopBBs(bb); in SetLoopParent4BB() 75 bbLoopParent[bb.GetId()] = &loopDesc; in SetLoopParent4BB() 82 auto *bb = cgFunc.GetBBFromID(bbId); in SetExitBBs() local 83 for (auto *succ : bb->GetSuccs()) { in SetExitBBs() 92 void LoopAnalysis::GenerateLoop(BB *bb) in GenerateLoop() argument 94 for (auto *pred : bb in GenerateLoop() 124 BB *bb = allBBs.front(); ProcessBB() local [all...] |
H A D | cg_cfg.cpp | 108 FOR_ALL_BB(bb, cgFunc) in CheckCFG() 110 for (BB *sucBB : bb->GetSuccs()) { in CheckCFG() 113 if (sucPred == bb) { in CheckCFG() 124 LogInfo::MapleLogger() << "non pred for sucBB " << sucBB->GetId() << " for BB " << bb->GetId() << "\n"; in CheckCFG() 129 FOR_ALL_BB(bb, cgFunc) in CheckCFG() 131 for (BB *predBB : bb->GetPreds()) { in CheckCFG() 134 if (predSucc == bb) { in CheckCFG() 145 LogInfo::MapleLogger() << "non succ for predBB " << predBB->GetId() << " for BB " << bb->GetId() in CheckCFG() 177 for (BB *bb : second.GetPreds()) { in BBJudge() 178 if (bb ! in BBJudge() 205 AreCommentAllPreds(const BB &bb) AreCommentAllPreds() argument 297 BB *bb = firstBB; FindAndMarkUnreachable() local 340 FlushUnReachableStatusAndRemoveRelations(BB &bb, const CGFunc &func) const FlushUnReachableStatusAndRemoveRelations() argument 511 BB *bb = firstBB; UnreachCodeAnalysis() local 568 FindWillExitBBs(BB *bb, std::set<BB *, BBIdCmp> *visitedBBs) FindWillExitBBs() argument 594 BB *bb = cgFunc->GetFirstBB(); WontExitAnalysis() local [all...] |
/arkcompiler/runtime_core/static_core/compiler/optimizer/optimizations/regalloc/ |
H A D | cleanup_empty_blocks.cpp | 27 static bool CheckSpecialTriangle(BasicBlock *bb) in CheckSpecialTriangle() argument 29 auto succ = bb->GetSuccessor(0); in CheckSpecialTriangle() 30 for (auto pred : bb->GetPredsBlocks()) { in CheckSpecialTriangle() 39 static bool TryRemoveEmptyBlock(BasicBlock *bb) in TryRemoveEmptyBlock() argument 41 if (CheckSpecialTriangle(bb)) { in TryRemoveEmptyBlock() 45 bool badLoop = bb->GetLoop()->IsIrreducible(); in TryRemoveEmptyBlock() 46 bb->GetGraph()->RemoveEmptyBlockWithPhis(bb, badLoop); in TryRemoveEmptyBlock() 48 bb->GetGraph()->InvalidateAnalysis<LoopAnalyzer>(); in TryRemoveEmptyBlock() 49 bb in TryRemoveEmptyBlock() [all...] |
/arkcompiler/runtime_core/static_core/compiler/optimizer/optimizations/ |
H A D | if_conversion.cpp | 53 bool IfConversion::TryTriangle(BasicBlock *bb) in TryTriangle() argument 55 ASSERT(bb->GetSuccsBlocks().size() == MAX_SUCCS_NUM); in TryTriangle() 60 if (bb->GetTrueSuccessor()->GetPredsBlocks().size() == 1) { in TryTriangle() 61 tbb = bb->GetTrueSuccessor(); in TryTriangle() 62 fbb = bb->GetFalseSuccessor(); in TryTriangle() 63 } else if (bb->GetFalseSuccessor()->GetPredsBlocks().size() == 1) { in TryTriangle() 64 tbb = bb->GetFalseSuccessor(); in TryTriangle() 65 fbb = bb->GetTrueSuccessor(); in TryTriangle() 75 if (LoopInvariantPreventConversion(bb)) { in TryTriangle() 81 auto limit = GetIfcLimit(bb); in TryTriangle() 109 GetIfcLimit(BasicBlock *bb) GetIfcLimit() argument 140 TryDiamond(BasicBlock *bb) TryDiamond() argument 194 LoopInvariantPreventConversion(BasicBlock *bb) LoopInvariantPreventConversion() argument 216 IsConvertable(BasicBlock *bb, uint32_t *instCount) IsConvertable() argument 230 IsPhisAllowed(BasicBlock *bb, BasicBlock *pred1, BasicBlock *pred2, uint32_t *phiCount) IsPhisAllowed() argument [all...] |
H A D | condition_chain_manager.cpp | 25 ConditionChain *ConditionChainManager::FindConditionChain(BasicBlock *bb) in FindConditionChain() argument 27 if (bb->GetSuccsBlocks().size() != MAX_SUCCS_NUM) { in FindConditionChain() 31 auto conditionChain = TryConditionChain(bb, bb->GetTrueSuccessor(), bb->GetFalseSuccessor()); in FindConditionChain() 36 return TryConditionChain(bb, bb->GetFalseSuccessor(), bb->GetTrueSuccessor()); in FindConditionChain() 39 ConditionChain *ConditionChainManager::TryConditionChain(BasicBlock *bb, BasicBlock *multiplePredsSucc, in TryConditionChain() argument 42 auto loop = bb in TryConditionChain() 81 IsConditionChainCandidate(const BasicBlock *bb) IsConditionChainCandidate() argument [all...] |
H A D | if_merging.cpp | 112 // If bb and its dominator end with the same IfImm instruction, removes IfImm in bb and returns true 113 bool IfMerging::TryMergeEquivalentIfs(BasicBlock *bb) in TryMergeEquivalentIfs() argument 115 auto ifImm = GetIfImm(bb); in TryMergeEquivalentIfs() 116 if (ifImm == nullptr || bb->GetGraph() == nullptr || bb->IsTry()) { in TryMergeEquivalentIfs() 119 if (bb->GetPredsBlocks().size() != MAX_SUCCS_NUM) { in TryMergeEquivalentIfs() 122 auto dom = bb->GetDominator(); in TryMergeEquivalentIfs() 127 auto invertedIf = IsIfInverted(bb, domIf); in TryMergeEquivalentIfs() 134 if (!MarkInstBranches(bb, trueB in TryMergeEquivalentIfs() 148 auto bb = phi->GetBasicBlock(); TryRemoveConstantPhiIf() local 178 MarkInstBranches(BasicBlock *bb, BasicBlock *trueBb, BasicBlock *falseBb) MarkInstBranches() argument 216 GetUserBranch(Inst *userInst, BasicBlock *bb, BasicBlock *trueBb, BasicBlock *falseBb) GetUserBranch() argument 241 SplitBlockWithEquivalentIf(BasicBlock *bb, BasicBlock *trueBb, bool invertedIf) SplitBlockWithEquivalentIf() argument 268 SplitBlockWithConstantPhi(BasicBlock *bb, BasicBlock *trueBb, PhiInst *phi, uint64_t constant, ConditionCode cc) SplitBlockWithConstantPhi() argument 318 SplitBlock(BasicBlock *bb) SplitBlock() argument 349 TryJoinSuccessorBlock(BasicBlock *bb) TryJoinSuccessorBlock() argument 359 TryUpdateDominator(BasicBlock *bb) TryUpdateDominator() argument [all...] |
H A D | cleanup.cpp | 28 bool Cleanup::CanBeMerged(BasicBlock *bb) in CanBeMerged() argument 31 if (!GetGraph()->IsBytecodeOptimizer() && !GetGraph()->IsAotMode() && bb->IsCatchBegin()) { in CanBeMerged() 34 return bb->GetSuccsBlocks().size() == 1 && bb->GetSuccessor(0)->GetPredsBlocks().size() == 1 && in CanBeMerged() 35 !bb->GetSuccessor(0)->IsPseudoControlFlowBlock() && bb->IsTry() == bb->GetSuccessor(0)->IsTry(); in CanBeMerged() 53 for (auto bb : GetGraph()->GetVectorBlocks()) { in RunImpl() 54 if (!SkipBasicBlock(bb) && bb in RunImpl() 108 CheckBBPhisUsers(BasicBlock *succ, BasicBlock *bb) CheckBBPhisUsers() argument 159 SkipBasicBlock(BasicBlock *bb) SkipBasicBlock() argument 166 CheckSpecialTriangle(BasicBlock *bb) CheckSpecialTriangle() argument 200 RemoveDeadPhi(BasicBlock *bb, ArenaSet<BasicBlock *> *newEmptyBlocks) RemoveDeadPhi() argument 219 ProcessBB(BasicBlock *bb, Marker deadMrk, ArenaSet<BasicBlock *> *newEmptyBlocks) ProcessBB() argument 352 TryToRemoveNonLiveInst(Inst *inst, BasicBlock *bb, ArenaSet<BasicBlock *> *newEmptyBlocks, Marker liveMrk) TryToRemoveNonLiveInst() argument 497 RemovalPhi(BasicBlock *bb, ArenaSet<BasicBlock *> *newEmptyBlocks) RemovalPhi() argument 513 auto bb = inst->GetBasicBlock(); Removal() local [all...] |
/arkcompiler/ets_runtime/ecmascript/compiler/codegen/maple/maple_be/src/cg/aarch64/ |
H A D | aarch64_fixshortbranch.cpp | 22 uint32 AArch64FixShortBranch::CalculateAlignRange(const BB &bb, uint32 addr) const in CalculateAlignRange() argument 27 uint32 alignPower = bb.GetAlignPower(); in CalculateAlignRange() 49 FOR_ALL_BB(bb, aarch64CGFunc) in SetInsnId() 51 FOR_BB_INSNS(insn, bb) in SetInsnId() 72 FOR_ALL_BB(bb, cgFunc) in CalculateIfBBNum() 74 if (bb->GetKind() != BB::kBBIf) { in CalculateIfBBNum() 86 for (BB *bb = aarch64CGFunc->GetFirstBB(); bb != nullptr; bb = bb in PatchLongBranch() [all...] |
H A D | aarch64_optimize_common.cpp | 22 void AArch64InsnVisitor::ModifyJumpTarget(Operand &targetOperand, BB &bb) in ModifyJumpTarget() argument 24 if (bb.GetKind() == BB::kBBGoto) { in ModifyJumpTarget() 25 for (Insn *insn = bb.GetLastInsn(); insn != nullptr; insn = insn->GetPrev()) { in ModifyJumpTarget() 35 CHECK_NULL_FATAL(bb.GetLastMachineInsn()); in ModifyJumpTarget() 36 bb.GetLastMachineInsn()->SetOperand(AArch64isa::GetJumpTargetIdx(*bb.GetLastMachineInsn()), targetOperand); in ModifyJumpTarget() 39 void AArch64InsnVisitor::ModifyJumpTarget(maple::LabelIdx targetLabel, BB &bb) in ModifyJumpTarget() argument 41 ModifyJumpTarget(static_cast<AArch64CGFunc *>(GetCGFunc())->GetOrCreateLabelOperand(targetLabel), bb); in ModifyJumpTarget() local
|
/arkcompiler/runtime_core/static_core/compiler/optimizer/analysis/ |
H A D | monitor_analysis.cpp | 22 void MonitorAnalysis::MarkedMonitorRec(BasicBlock *bb, int32_t numMonitors) in MarkedMonitorRec() argument 26 bb->SetMonitorBlock(true); in MarkedMonitorRec() 27 if (bb->IsEndBlock()) { in MarkedMonitorRec() 33 for (auto inst : bb->Insts()) { in MarkedMonitorRec() 40 bb->SetMonitorBlock(true); in MarkedMonitorRec() 42 bb->SetMonitorEntryBlock(true); in MarkedMonitorRec() 52 bb->SetMonitorExitBlock(true); in MarkedMonitorRec() 56 enteredMonitorsCount_->at(bb->GetId()) = static_cast<uint32_t>(numMonitors); in MarkedMonitorRec() 60 for (auto succ : bb->GetSuccsBlocks()) { in MarkedMonitorRec() 78 for (auto bb in RunImpl() [all...] |
/arkcompiler/runtime_core/compiler/optimizer/optimizations/ |
H A D | cleanup.cpp | 25 static bool SkipBasicBlock(BasicBlock *bb) in SkipBasicBlock() argument 28 return bb == nullptr || bb->IsStartBlock() || bb->IsEndBlock() || bb->IsCatchBegin() || bb->IsTryEnd(); in SkipBasicBlock() 46 for (auto bb : GetGraph()->GetVectorBlocks()) { in RunImpl() 47 if (!SkipBasicBlock(bb) && bb->IsEmpty()) { in RunImpl() 48 empty_blocks->insert(bb); in RunImpl() 142 CheckSpecialTriangle(BasicBlock *bb) CheckSpecialTriangle() argument 174 RemoveDeadPhi(BasicBlock *bb, ArenaSet<BasicBlock *> *new_empty_blocks) RemoveDeadPhi() argument 193 ProcessBB(BasicBlock *bb, Marker dead_mrk, ArenaSet<BasicBlock *> *new_empty_blocks) ProcessBB() argument 392 auto bb = inst->GetBasicBlock(); Removal() local [all...] |
/arkcompiler/ets_runtime/ecmascript/compiler/ |
H A D | bytecode_circuit_builder.cpp | 343 // 1 : entry block. if the loop head is in the first bb block, the variables used in the head cannot correctly in BuildRegions() 388 auto &bb = RegionAt(i); in BuildCatchBlocks() local 389 auto startIndex = bb.start; in BuildCatchBlocks() 391 EnumerateBlock(bb, [&noThrow](const BytecodeInfo &bytecodeInfo) -> bool { in BuildCatchBlocks() 414 bb.catches.insert(bb.catches.cbegin(), &catchBB); in BuildCatchBlocks() 421 bb.SortCatches(); in BuildCatchBlocks() 428 auto &bb = RegionAt(i); in CollectTryPredsInfo() local 429 if (bb.catches.empty()) { in CollectTryPredsInfo() 431 } else if (bb in CollectTryPredsInfo() 452 RemoveUnusedPredsInfo(BytecodeRegion& bb) RemoveUnusedPredsInfo() argument 467 auto bb = pendingList.back(); ClearUnreachableRegion() local 512 RemoveIfInRpoList(BytecodeRegion *bb) RemoveIfInRpoList() argument 528 auto &bb = RegionAt(i); RemoveUnreachableRegion() local 542 auto &bb = RegionAt(i); ComputeNumOfLoopBack() local 570 auto &bb = RegionAt(i); UpdateCFG() local 575 auto &bb = RegionAt(i); UpdateCFG() local 784 MergeThrowGate(BytecodeRegion &bb, uint32_t bcIndex) MergeThrowGate() argument 807 MergeExceptionGete(BytecodeRegion &bb, const BytecodeInfo& bytecodeInfo, uint32_t bcIndex) MergeExceptionGete() argument 828 NewJSGate(BytecodeRegion &bb) NewJSGate() argument 871 NewJump(BytecodeRegion &bb) NewJump() argument 919 NewReturn(BytecodeRegion &bb) NewReturn() argument 946 NewByteCode(BytecodeRegion &bb) NewByteCode() argument 990 auto &bb = RegionAt(bbId); BuildSubCircuit() local 1050 auto &bb = RegionAt(bbId); FindOsrLoopHeadBB() local 1078 CollectCacheBBforOSRLoop(BytecodeRegion *bb) CollectCacheBBforOSRLoop() argument 1134 auto &bb = RegionAt(bbId); BuildOsrCircuit() local 1172 auto &bb = RegionAt(bbId); BuildOsrCircuit() local 1213 BytecodeRegion& bb = RegionAt(i); PrintGraph() local 1254 PrintBytecodeInfo(BytecodeRegion& bb) PrintBytecodeInfo() argument [all...] |
/arkcompiler/runtime_core/static_core/irtoc/lang/ |
H A D | basic_block.rb | 57 def set_successor(dir, bb) 59 @true_succ = bb 61 @false_succ = bb 63 bb.add_predecessor(self) 66 def set_true_succ(bb) 67 set_successor(true, bb) 70 def set_false_succ(bb) 71 set_successor(false, bb) 74 def add_predecessor(bb) 75 @preds << bb [all...] |
H A D | ir_generator.rb | 40 @func.basic_blocks.each { |bb| generate_bb(bb) } 54 @func.basic_blocks.each do |bb| 55 if false && bb.terminator? 56 Output << "auto* bb_#{bb.index} = end_bb;" 58 Output << "auto* bb_#{bb.index} = graph->CreateEmptyBlock(pc);" 59 Output << "bb_#{bb.index}->CopyTryCatchProps(cur_bb);" 60 Output << "cur_bb->GetLoop()->AppendBlock(bb_#{bb.index});" 64 @func.basic_blocks.each do |bb| 65 name = "bb_#{bb [all...] |
/arkcompiler/ets_runtime/ecmascript/compiler/codegen/maple/maple_be/include/cg/ |
H A D | cfi_generator.h | 33 Insn *InsertCFIDefCfaOffset(BB &bb, Insn &insn, int32 &cfiOffset); /* cfiOffset in-out */ 35 Insn *FindStackDefInsn(BB &bb) const; 36 Insn *FinsStackRevertInsn(BB &bb) const; 60 void GenerateStartDirective(BB &bb); 61 void GenerateEndDirective(BB &bb); 62 void GenerateRegisterStateDirective(BB &bb); 63 virtual void GenerateRegisterSaveDirective(BB &bb, Insn &stackDefInsn) {} in GenerateRegisterSaveDirective() argument 64 virtual void GenerateRegisterRestoreDirective(BB &bb, Insn &stackRevertInsn) {} in GenerateRegisterRestoreDirective() argument
|
H A D | loop.h | 66 bool Has(const BB &bb) const in Has() 68 return loopBBs.find(bb.GetId()) != loopBBs.end(); in Has() 71 void InsertLoopBBs(const BB &bb) in InsertLoopBBs() argument 73 (void)loopBBs.insert(bb.GetId()); in InsertLoopBBs() 81 void InsertExitBBs(const BB &bb) in InsertExitBBs() argument 83 (void)exitBBs.insert(bb.GetId()); in InsertExitBBs() 86 void InsertBackEdges(const BB &bb) in InsertBackEdges() argument 88 (void)backEdges.insert(bb.GetId()); in InsertBackEdges() 209 bool IsLoopHeaderBB(const BB &bb) const in IsLoopHeaderBB() 211 if (GetBBLoopParent(bb in IsLoopHeaderBB() [all...] |
H A D | live.h | 37 void InitBB(BB &bb); 39 bool GenerateLiveOut(BB &bb) const; 40 bool GenerateLiveIn(BB &bb); 43 void GetBBDefUse(BB &bb) const; 44 void ProcessAsmListOpnd(BB &bb, Operand &opnd, uint32 idx) const; 45 void ProcessListOpnd(BB &bb, Operand &opnd, bool isDef) const; 46 void ProcessMemOpnd(BB &bb, Operand &opnd) const; 47 void ProcessCondOpnd(BB &bb) const; 48 void CollectLiveInfo(BB &bb, const Operand &opnd, bool isDef, bool isUse) const; 49 void MarkStackMapInsn(Insn &insn, BB &bb) cons [all...] |