/arkcompiler/runtime_core/static_core/irtoc/lang/ |
H A D | basic_block.rb | 19 attr_reader :index, :function, :preds, :instructions 28 @preds = [] 75 @preds << bb
|
H A D | function.rb | 144 @basic_blocks.delete_if { |bb| bb.empty? && bb.preds.empty? }
|
/arkcompiler/ets_runtime/ecmascript/compiler/codegen/maple/maple_be/include/cg/ |
H A D | cgbb.h | 97 preds(mallocator.Adapter()), in BB() 226 return static_cast<uint32>(preds.size()); 231 for (const BB *bb : preds) { 241 for (auto i = preds.begin(); i != preds.end(); ++i) { 243 preds.erase(i); 438 preds.insert(it, &bb); 447 return preds; 451 return preds.size(); 480 inNodes.resize(preds [all...] |
/arkcompiler/runtime_core/compiler/optimizer/optimizations/ |
H A D | branch_elimination.cpp | 149 auto preds = eliminatedBlock->GetPredsBlocks(); in EliminateBranch() local 150 auto it = std::find_if(preds.begin(), preds.end(), [ifBlock, eliminatedBlock](BasicBlock *pred) { in EliminateBranch() 153 bool dominatesAllPreds = (it == preds.cend()); in EliminateBranch() 154 if (preds.size() > 1 && !dominatesAllPreds) { in EliminateBranch()
|
/arkcompiler/runtime_core/compiler/tools/ |
H A D | draw_cfg.py | 40 self.preds = [] 86 preds_start = line.find('preds:') 97 preds = line[preds_start+len('preds:'):].strip().strip('[]') 98 for pred in preds.split(','): 100 self.block.preds.append(int(pred[len('bb'):].strip()))
|
/arkcompiler/runtime_core/static_core/runtime/include/ |
H A D | class-inl.h | 63 ALWAYS_INLINE inline bool PredComp(const Item &item, const FirstPred &pred, const Pred &...preds) in PredComp() argument 65 return pred(item) && PredComp(item, preds...); in PredComp() 69 ALWAYS_INLINE inline Item *BinSearch(Span<Item> items, Key key, const Pred &...preds) in BinSearch() argument 77 if (PredComp(item, preds...)) { in BinSearch() 278 inline Method *Class::FindDirectMethod(Key key, const Pred &...preds) const in FindDirectMethod() 283 auto *method = BinSearch<KeyComp>(methods, key, preds...); in FindDirectMethod() 292 auto *method = BinSearch<KeyComp>(methods, key, preds...); in FindDirectMethod() 304 if (KeyComp().equal(method, key) && PredComp(method, preds...)) { in FindDirectMethod() 314 inline Method *Class::FindClassMethod(Key key, const Pred &...preds) const in FindClassMethod() 318 auto *method = cls->FindDirectMethod<FILTER, KeyComp>(key, preds in FindClassMethod() [all...] |
H A D | class.h | 949 Method *FindDirectMethod(Key key, const Pred &...preds) const; 952 Method *FindClassMethod(Key key, const Pred &...preds) const; 955 Method *FindInterfaceMethod(Key key, const Pred &...preds) const;
|
/arkcompiler/runtime_core/static_core/compiler/optimizer/optimizations/ |
H A D | branch_elimination.cpp | 213 auto preds = eliminatedBlock->GetPredsBlocks(); in EliminateBranch() local 214 auto it = std::find_if(preds.begin(), preds.end(), [ifBlock, eliminatedBlock](BasicBlock *pred) { in EliminateBranch() 217 bool dominatesAllPreds = (it == preds.cend()); in EliminateBranch() 218 if (preds.size() > 1 && !dominatesAllPreds) { in EliminateBranch()
|
H A D | lse.cpp | 741 auto preds = block->GetPredsBlocks(); in MergeHeapValuesForBlock() local 742 auto predIt = preds.begin(); in MergeHeapValuesForBlock() 743 if (predIt != preds.end()) { in MergeHeapValuesForBlock() 757 auto preds = block->GetPredsBlocks(); in ProcessHeapValuesForBlock() local 758 auto predIt = preds.begin(); in ProcessHeapValuesForBlock() 759 if (predIt != preds.end()) { in ProcessHeapValuesForBlock() 764 while (predIt != preds.end()) { in ProcessHeapValuesForBlock() 771 !ProcessHeapValues(heapValue, block, predInstIt, {preds.begin(), predIt}, phiFixupMrk)) { in ProcessHeapValuesForBlock()
|
H A D | licm_conditions.h | 100 static bool IsHoistPhiAvailable(const ConditionChain *chain, ArenaVector<BasicBlock *> &preds,
|
H A D | licm_conditions.cpp | 127 bool LicmConditions::IsHoistPhiAvailable(const ConditionChain *chain, ArenaVector<BasicBlock *> &preds, in IsHoistPhiAvailable() argument 130 for (auto pred : preds) { in IsHoistPhiAvailable() 293 // NOTE: multiple_preds_succ preds are not fixed in ReplaceChainWithSingleBlock() 386 // preds order was preserved in UpdatePhis()
|
H A D | escape.cpp | 948 auto &preds = targetBlock->GetPredsBlocks(); 949 ASSERT(inputs.size() == preds.size()); 953 newMaterialization = newMaterialization || GetState(preds[idx])->GetStateId(inputs[idx]) != MATERIALIZED_ID; 954 Materialize(inputs[idx], preds[idx]); 1829 auto preds = inst->GetBasicBlock()->GetPredsBlocks(); 1831 ASSERT(preds.size() == inputs.size()); 1836 inputInst = ResolveAllocation(inputInst, preds[idx]);
|
/arkcompiler/ets_runtime/ecmascript/compiler/ |
H A D | bytecode_circuit_builder.cpp | 240 calculateSemiDom(idx, graph_[basicBlockList[idx]]->preds); in ComputeImmediateDominators() 309 nextBlock.preds.emplace_back(&entryBlock); in BuildEntryBlock() 328 curBlock.preds.emplace_back(&prevBlock); in BuildBasicBlock() 363 curBlock.preds.emplace_back(&predBlock); in BuildRegions() 469 for (auto it = bb->preds.begin(); it != bb->preds.end(); it++) { in ClearUnreachableRegion() 479 bb->EraseThisBlock(bbNext->preds); in ClearUnreachableRegion() 503 bb->preds.clear(); in ClearUnreachableRegion() 571 bb.preds.clear(); in UpdateCFG() 577 succ->preds in UpdateCFG() [all...] |
H A D | frame_states.cpp | 148 for (auto bbPred : bb.preds) { in ComputeLiveOut() 498 for (const BytecodeRegion *bb : bbNext.preds) { in NewMerge() 585 for (const BytecodeRegion *b : bb.preds) { in GetNumOfStatePreds() 1071 for (auto pred : curBlock.preds) { in PropagateLoopBody() 1141 for (auto it = loopHeader.preds.begin(); it != loopHeader.preds.end();) { in InsertEmptyBytecodeRegion() 1145 it = loopHeader.preds.erase(it); in InsertEmptyBytecodeRegion() 1147 block->preds.emplace_back(bbPred); in InsertEmptyBytecodeRegion() 1154 loopHeader.preds.insert(loopHeader.preds in InsertEmptyBytecodeRegion() [all...] |
H A D | bytecode_circuit_builder.h | 158 ChunkVector<BytecodeRegion *> preds; // List of predessesor blocks member 170 BytecodeRegion(Chunk* chunk) : preds(chunk), succs(chunk), in BytecodeRegion()
|
/arkcompiler/runtime_core/compiler/optimizer/ir/ |
H A D | graph_checker.cpp | 417 [[maybe_unused]] auto preds = block->GetPredsBlocks(); in CheckLoops() local 418 for ([[maybe_unused]] auto pred : preds) { in CheckLoops() 424 ASSERT(std::find(preds.begin(), preds.end(), back) != preds.end()); in CheckLoops()
|
/arkcompiler/ets_runtime/tools/circuit_viewer/src/ir/ |
H A D | LogParser.js | 288 /^\[compiler\] B([0-9]+): ;preds=([0-9, ]*)$/g, //[compiler] B0: ;preds= 354 /^\[compiler\] B([0-9]+):/g, //[compiler] B0: ;preds=
|
/arkcompiler/runtime_core/static_core/compiler/optimizer/ir/ |
H A D | graph_checker.cpp | 706 [[maybe_unused]] auto preds = block->GetPredsBlocks(); in CheckUserOfInt32() local 707 for ([[maybe_unused]] auto pred : preds) { in CheckUserOfInt32() 713 CHECKER_IF_NOT_PRINT(std::find(preds.begin(), preds.end(), back) != preds.end()); in CheckUserOfInt32()
|