Home
last modified time | relevance | path

Searched refs:BasicBlock (Results 1 - 25 of 246) sorted by relevance

12345678910

/arkcompiler/runtime_core/compiler/optimizer/analysis/
H A Ddominators_tree.h23 class BasicBlock;
31 using BlocksVector = ArenaVector<BasicBlock *>;
46 static void SetDomPair(BasicBlock *dominator, BasicBlock *block);
48 void UpdateAfterResolverInsertion(BasicBlock *predecessor, BasicBlock *successor, BasicBlock *resolver);
54 void SetAncestor(BasicBlock *dest, BasicBlock *block) in SetAncestor()
58 BasicBlock *GetAncesto in SetAncestor()
[all...]
H A Dlinear_order.h24 class BasicBlock;
44 ArenaVector<BasicBlock *> &GetBlocks() in GetBlocks()
49 const ArenaVector<BasicBlock *> &GetBlocks() const in GetBlocks()
59 void HandlePrevInstruction(BasicBlock *block, BasicBlock *prev_block);
60 void HandleIfBlock(BasicBlock *if_true_block, BasicBlock *next_block);
65 BasicBlock *LeastLikelySuccessor(const BasicBlock *block);
68 void DFSAndDeferLeastFrequentBranches(BasicBlock *bloc
[all...]
H A Dloop_analyzer.h23 class BasicBlock;
28 Loop(ArenaAllocator *allocator, BasicBlock *header, uint32_t id) in Loop()
49 BasicBlock *GetHeader() const in GetHeader()
53 void SetPreHeader(BasicBlock *pre_header) in SetPreHeader()
58 BasicBlock *GetPreHeader() const in GetPreHeader()
62 void AppendBackEdge(BasicBlock *block) in AppendBackEdge()
68 void ReplaceBackEdge(BasicBlock *block, BasicBlock *new_block) in ReplaceBackEdge()
78 bool HasBackEdge(BasicBlock *block) const in HasBackEdge()
84 void RemoveBackEdge(BasicBlock *bloc
[all...]
H A Drpo.h25 class BasicBlock;
48 void RemoveBasicBlock(BasicBlock *rm_block) in RemoveBasicBlock()
57 void AddBasicBlockAfter(BasicBlock *cur_block, BasicBlock *new_block) in AddBasicBlockAfter()
64 void AddBasicBlockBefore(BasicBlock *cur_block, BasicBlock *new_block) in AddBasicBlockBefore()
71 void AddVectorAfter(BasicBlock *cur_block, const ArenaVector<BasicBlock *> &new_vector) in AddVectorAfter()
78 const ArenaVector<BasicBlock *> &GetBlocks() const in GetBlocks()
86 void DFS(BasicBlock *bloc
[all...]
/arkcompiler/runtime_core/static_core/compiler/optimizer/analysis/
H A Ddominators_tree.h23 class BasicBlock;
29 using BlocksVector = ArenaVector<BasicBlock *>;
44 static void SetDomPair(BasicBlock *dominator, BasicBlock *block);
46 void UpdateAfterResolverInsertion(BasicBlock *predecessor, BasicBlock *successor, BasicBlock *resolver);
52 void SetAncestor(BasicBlock *dest, BasicBlock *block) in SetAncestor()
56 BasicBlock *GetAncesto in SetAncestor()
[all...]
H A Dlinear_order.h24 class BasicBlock;
44 ArenaVector<BasicBlock *> &GetBlocks() in GetBlocks()
49 const ArenaVector<BasicBlock *> &GetBlocks() const in GetBlocks()
59 void HandlePrevInstruction(BasicBlock *block, BasicBlock *prevBlock);
60 void HandleIfBlock(BasicBlock *ifTrueBlock, BasicBlock *nextBlock);
66 BasicBlock *LeastLikelySuccessor(const BasicBlock *block);
67 BasicBlock *LeastLikelySuccessorByBranchCounte
[all...]
H A Dloop_analyzer.h23 class BasicBlock;
28 Loop(ArenaAllocator *allocator, BasicBlock *header, uint32_t id) in Loop()
48 BasicBlock *GetHeader() const in GetHeader()
52 void SetPreHeader(BasicBlock *preHeader);
54 BasicBlock *GetPreHeader() const;
56 void AppendBackEdge(BasicBlock *block) in AppendBackEdge()
62 void ReplaceBackEdge(BasicBlock *block, BasicBlock *newBlock) in ReplaceBackEdge()
72 bool HasBackEdge(BasicBlock *block) const in HasBackEdge()
78 void RemoveBackEdge(BasicBlock *bloc
[all...]
H A Drpo.h25 class BasicBlock;
48 void RemoveBasicBlock(BasicBlock *rmBlock) in RemoveBasicBlock()
57 void AddBasicBlockAfter(BasicBlock *curBlock, BasicBlock *newBlock) in AddBasicBlockAfter()
64 void AddBasicBlockBefore(BasicBlock *curBlock, BasicBlock *newBlock) in AddBasicBlockBefore()
71 void AddVectorAfter(BasicBlock *curBlock, const ArenaVector<BasicBlock *> &newVector) in AddVectorAfter()
78 const ArenaVector<BasicBlock *> &GetBlocks() const in GetBlocks()
86 void DFS(BasicBlock *bloc
[all...]
/arkcompiler/runtime_core/static_core/compiler/optimizer/optimizations/
H A Dif_merging.h48 bool TrySimplifyConstantPhi(BasicBlock *block);
49 bool TryRemoveConstantPhiIf(BasicBlock *ifBlock);
50 IfImmInst *GetIfImm(BasicBlock *block);
51 bool TryMergeEquivalentIfs(BasicBlock *bb);
53 bool MarkInstBranches(BasicBlock *bb, BasicBlock *trueBb, BasicBlock *falseBb);
54 std::optional<bool> GetUserBranch(Inst *userInst, BasicBlock *bb, BasicBlock *trueBb, BasicBlock *falseB
[all...]
H A Dlicm_conditions.h28 ConditionChainContext(ConditionChain *chain, BasicBlock *multiplePredecessorsSuccessor, in ConditionChainContext()
29 BasicBlock *singlePredecessorSuccessor, bool hoistPhiAvailable) in ConditionChainContext()
42 BasicBlock *GetMultiplePredecessorsSuccessor() const in GetMultiplePredecessorsSuccessor()
47 BasicBlock *GetSinglePredecessorSuccessor() const in GetSinglePredecessorSuccessor()
52 void SetMultiplePredecessorsSuccessor(BasicBlock *multiplePredecessorsSuccessor) in SetMultiplePredecessorsSuccessor()
57 void SetSingleSPredecessorSuccessor(BasicBlock *singlePredecessorSuccessor) in SetSingleSPredecessorSuccessor()
69 BasicBlock *multiplePredecessorsSuccessor_;
70 BasicBlock *singlePredecessorSuccessor_;
100 static bool IsHoistPhiAvailable(const ConditionChain *chain, ArenaVector<BasicBlock *> &preds,
101 const BasicBlock *singlePredSuc
[all...]
H A Dtry_catch_resolving.h50 BasicBlock *FindCatchBeginBlock(BasicBlock *bb);
53 void ConnectThrowCatchImpl(BasicBlock *catchBlock, BasicBlock *throwBlock, uint32_t catchPc, Inst *newObj,
55 void DeleteTryCatchEdges(BasicBlock *tryBegin, BasicBlock *tryEnd);
56 void RemoveCatchPhis(BasicBlock *cphisBlock, BasicBlock *catchBlock, Inst *throwInst, Inst *phiInst);
57 void RemoveCatchPhisImpl(CatchPhiInst *catchPhi, BasicBlock *catchBlock, Inst *throwInst);
60 ArenaVector<BasicBlock *> tryBlocks
[all...]
H A Dif_conversion.h23 class BasicBlock;
54 bool TryTriangle(BasicBlock *bb);
55 bool TryDiamond(BasicBlock *bb);
56 static bool LoopInvariantPreventConversion(BasicBlock *bb);
57 static bool IsConvertable(BasicBlock *bb, uint32_t *instCount);
58 bool IsPhisAllowed(BasicBlock *bb, BasicBlock *pred1, BasicBlock *pred2, uint32_t *phiCount);
60 uint32_t GetIfcLimit(BasicBlock *bb);
H A Dcondition_chain.h46 using BlockIterator = ArenaVector<BasicBlock *>::iterator;
47 using BlockConstIterator = ArenaVector<BasicBlock *>::const_iterator;
58 BasicBlock *GetFirstBlock() in GetFirstBlock()
63 const BasicBlock *GetFirstBlock() const in GetFirstBlock()
68 BasicBlock *GetLastBlock() in GetLastBlock()
73 const BasicBlock *GetLastBlock() const in GetLastBlock()
103 bool Contains(const BasicBlock *bb) const in Contains()
109 void SetFirstBlock(BasicBlock *bb) in SetFirstBlock()
114 BasicBlock *GetMultiplePredecessorsSuccessor() const in GetMultiplePredecessorsSuccessor()
119 BasicBlock *GetSinglePredecessorSuccesso
[all...]
H A Dcleanup.h56 static bool SkipBasicBlock(BasicBlock *bb);
59 bool CanBeMerged(BasicBlock *bb);
61 bool RunOnce(ArenaSet<BasicBlock *> *emptyBlocks, ArenaSet<BasicBlock *> *newEmptyBlocks, bool simpleDce);
62 void RemoveDeadPhi(BasicBlock *bb, ArenaSet<BasicBlock *> *newEmptyBlocks);
63 bool ProcessBB(BasicBlock *bb, Marker deadMrk, ArenaSet<BasicBlock *> *newEmptyBlocks);
64 bool CheckSpecialTriangle(BasicBlock *bb);
75 bool Dce(Marker deadMrk, ArenaSet<BasicBlock *> *newEmptyBlock
[all...]
H A Dcondition_chain_manager.h33 ConditionChain *FindConditionChain(BasicBlock *bb);
37 ConditionChain *TryConditionChain(BasicBlock *bb, BasicBlock *multiplePredsSucc, BasicBlock *chainBb);
38 bool IsConditionChainCandidate(const BasicBlock *bb);
40 ArenaVector<BasicBlock *> conditionChainBb_;
/arkcompiler/runtime_core/static_core/compiler/optimizer/ir/
H A Dbasicblock.cpp24 BasicBlock::BasicBlock(Graph *graph, uint32_t guestPc) in BasicBlock() function in ark::compiler::BasicBlock
33 void BasicBlock::SetId(uint32_t id) in SetId()
37 uint32_t BasicBlock::GetId() const in GetId()
42 ArenaVector<BasicBlock *> &BasicBlock::GetPredsBlocks() in GetPredsBlocks()
46 const ArenaVector<BasicBlock *> &BasicBlock::GetPredsBlocks() const in GetPredsBlocks()
51 BasicBlock::SuccsVector &BasicBlock
[all...]
H A Dgraph_cloner.h26 class BasicBlock;
56 BasicBlock *header {nullptr};
57 BasicBlock *backedge {nullptr};
58 BasicBlock *exitBlock {nullptr};
59 BasicBlock *outer {nullptr};
60 ArenaVector<BasicBlock *> *blocks {nullptr};
67 BasicBlock *outer {nullptr};
68 BasicBlock *header {nullptr};
69 BasicBlock *preHeader {nullptr};
70 ArenaVector<BasicBlock *> *block
[all...]
/arkcompiler/runtime_core/compiler/optimizer/ir/
H A Dbasicblock.cpp23 BasicBlock::BasicBlock(Graph *graph, uint32_t guest_pc) in BasicBlock() function in panda::compiler::BasicBlock
32 bool BasicBlock::IsStartBlock() const in IsStartBlock()
36 bool BasicBlock::IsEndBlock() const in IsEndBlock()
40 bool BasicBlock::IsPseudoControlFlowBlock() const in IsPseudoControlFlowBlock()
45 bool BasicBlock::IsLoopHeader() const in IsLoopHeader()
51 BasicBlock *BasicBlock::SplitBlockAfterInstruction(Inst *inst, bool make_edge) in SplitBlockAfterInstruction()
82 void BasicBlock::AddSucc(BasicBlock *suc
[all...]
H A Dgraph_cloner.h25 class BasicBlock;
49 BasicBlock *header {nullptr};
50 BasicBlock *backedge {nullptr};
51 BasicBlock *exit_block {nullptr};
52 BasicBlock *outer {nullptr};
53 ArenaVector<BasicBlock *> *blocks {nullptr};
59 BasicBlock *outer {nullptr};
60 BasicBlock *header {nullptr};
61 BasicBlock *pre_header {nullptr};
62 ArenaVector<BasicBlock *> *block
[all...]
H A Dgraph_checker.h55 void CheckBlock(BasicBlock *block);
60 void CheckControlFlow(BasicBlock *block);
61 void CheckDataFlow(BasicBlock *block);
63 void CheckInstsRegisters(BasicBlock *block);
64 void CheckPhisRegisters(BasicBlock *block);
65 void CheckNoLowLevel(BasicBlock *block);
75 bool CheckBlockHasPredecessor(BasicBlock *block, BasicBlock *predecessor);
76 bool CheckBlockHasSuccessor(BasicBlock *block, BasicBlock *successo
[all...]
/arkcompiler/runtime_core/libark_defect_scan_aux/include/
H A Dgraph.h26 class BasicBlock;
48 BasicBlock GetBasicBlock() const;
61 // a wrapper class for compiler::BasicBlock
62 class BasicBlock { class
64 explicit BasicBlock(const compiler::BasicBlock *bb) : bb_(bb) {} in BasicBlock() function in panda::defect_scan_aux::BasicBlock
65 ~BasicBlock() = default;
67 bool operator==(const BasicBlock &bb) const;
68 bool operator!=(const BasicBlock &bb) const;
70 std::vector<BasicBlock> GetPredBlock
[all...]
/arkcompiler/runtime_core/libark_defect_scan_aux/
H A Dgraph.cpp84 BasicBlock Inst::GetBasicBlock() const in GetBasicBlock()
86 return BasicBlock(inst_->GetBasicBlock()); in GetBasicBlock()
136 bool BasicBlock::operator==(const BasicBlock &bb) const in operator ==()
141 bool BasicBlock::operator!=(const BasicBlock &bb) const in operator !=()
146 Graph BasicBlock::GetGraph() const in GetGraph()
151 std::vector<BasicBlock> BasicBlock::GetPredBlocks() const in GetPredBlocks()
153 std::vector<BasicBlock> pred_block in GetPredBlocks()
[all...]
/arkcompiler/runtime_core/static_core/plugins/ets/compiler/optimizer/optimizations/interop_js/
H A Dinterop_intrinsic_optimization.h66 const ArenaVector<BasicBlock *> &GetBlocksToVisit() const override
104 BlockInfo &GetInfo(BasicBlock *block);
105 void MergeScopesInsideBlock(BasicBlock *block);
106 bool TryCreateSingleScope(BasicBlock *bb);
109 bool IsForbiddenLoopEntry(BasicBlock *block);
115 void IterateBlockFromBoundary(BasicBlock *block);
117 void BlockBoundaryDfs(BasicBlock *block);
120 void FindComponentAndTryMerge(BasicBlock *block);
123 void DfsNumbering(BasicBlock *block);
124 void CalculateReachabilityRec(BasicBlock *bloc
[all...]
/arkcompiler/runtime_core/compiler/optimizer/optimizations/
H A Dtry_catch_resolving.h40 BasicBlock *TryFindResolvedCatchHandler(BasicBlock *try_begin, BasicBlock *try_end);
41 void DeleteTryCatchEdges(BasicBlock *try_begin, BasicBlock *try_end);
42 void ConnectCatchHandlerAfterThrow(BasicBlock *try_end, BasicBlock *catch_block);
43 void RemoveCatchPhis(BasicBlock *block, Inst *throw_inst);
45 bool DFS(BasicBlock *block, Marker marker, uint32_t try_id);
/arkcompiler/runtime_core/static_core/compiler/optimizer/ir_builder/
H A Dir_builder.h53 BasicBlock *beginBb {nullptr}; // NOLINT(misc-non-private-member-variables-in-classes)
54 BasicBlock *endBb {nullptr}; // NOLINT(misc-non-private-member-variables-in-classes)
56 ArenaVector<BasicBlock *> *basicBlocks {nullptr}; // NOLINT(misc-non-private-member-variables-in-classes)
59 ArenaSet<BasicBlock *> *throwBlocks {nullptr}; // NOLINT(misc-non-private-member-variables-in-classes)
118 BasicBlock *GetBlockForPc(size_t pc) in GetBlockForPc()
123 BasicBlock *GetPrevBlockForPc(size_t pc) in GetPrevBlockForPc()
134 bool CreateSaveStateForLoopBlocks(BasicBlock *bb);
135 bool BuildBasicBlock(BasicBlock *bb, const uint8_t *instructionsBuf);
137 bool AddInstructionToBB(BasicBlock *bb, BytecodeInstruction &inst, size_t pc, bool *ssDeoptWasBuilded);
139 bool BuildInstructionsForBB(BasicBlock *b
[all...]

Completed in 8 milliseconds

12345678910