Home
last modified time | relevance | path

Searched refs:preds (Results 1 - 18 of 18) sorted by relevance

/arkcompiler/runtime_core/static_core/irtoc/lang/
H A Dbasic_block.rb19 attr_reader :index, :function, :preds, :instructions
28 @preds = []
75 @preds << bb
H A Dfunction.rb144 @basic_blocks.delete_if { |bb| bb.empty? && bb.preds.empty? }
/arkcompiler/ets_runtime/ecmascript/compiler/codegen/maple/maple_be/include/cg/
H A Dcgbb.h97 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 Dbranch_elimination.cpp149 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 Ddraw_cfg.py40 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 Dclass-inl.h63 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 Dclass.h949 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 Dbranch_elimination.cpp213 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 Dlse.cpp741 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 Dlicm_conditions.h100 static bool IsHoistPhiAvailable(const ConditionChain *chain, ArenaVector<BasicBlock *> &preds,
H A Dlicm_conditions.cpp127 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 Descape.cpp948 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 Dbytecode_circuit_builder.cpp240 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 Dframe_states.cpp148 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 Dbytecode_circuit_builder.h158 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 Dgraph_checker.cpp417 [[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 DLogParser.js288 /^\[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 Dgraph_checker.cpp706 [[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()

Completed in 22 milliseconds