Searched refs:pre_header (Results 1 - 5 of 5) sorted by relevance
/arkcompiler/runtime_core/compiler/optimizer/analysis/ |
H A D | loop_analyzer.cpp | 138 void LoopAnalyzer::MovePhiInputsToPreHeader(BasicBlock *header, BasicBlock *pre_header, in MovePhiInputsToPreHeader() argument 149 pre_header->AppendPhi(new_phi); in MovePhiInputsToPreHeader() 154 void LoopAnalyzer::UpdateControlFlowWithPreHeader(BasicBlock *header, BasicBlock *pre_header, in UpdateControlFlowWithPreHeader() argument 161 edge->ReplaceSucc(header, pre_header); in UpdateControlFlowWithPreHeader() 164 pre_header->AddSucc(header); in UpdateControlFlowWithPreHeader() 168 edge->ReplaceSucc(header, pre_header); in UpdateControlFlowWithPreHeader() 169 header->ReplacePred(edge, pre_header); in UpdateControlFlowWithPreHeader() 173 GetGraph()->GetAnalysis<Rpo>().AddBasicBlockBefore(header, pre_header); in UpdateControlFlowWithPreHeader() 183 auto pre_header = header->CreateImmediateDominator(); in CreatePreHeader() local 184 pre_header in CreatePreHeader() 212 BasicBlock *pre_header = nullptr; FindAndInsertPreHeaders() local [all...] |
H A D | loop_analyzer.h | 53 void SetPreHeader(BasicBlock *pre_header) in SetPreHeader() argument 55 pre_header_ = pre_header; in SetPreHeader() 215 void MovePhiInputsToPreHeader(BasicBlock *header, BasicBlock *pre_header, const ArenaVector<int> &fw_edges_indexes); 216 void UpdateControlFlowWithPreHeader(BasicBlock *header, BasicBlock *pre_header,
|
/arkcompiler/runtime_core/compiler/optimizer/ir/ |
H A D | graph_cloner.cpp | 744 BasicBlock *GraphCloner::CreateNewOutsideSucc(BasicBlock *outside_succ, BasicBlock *back_edge, BasicBlock *pre_header) in CreateNewOutsideSucc() argument 747 auto pre_header_idx = outside_succ->GetPredBlockIndex(pre_header); in CreateNewOutsideSucc() 753 pre_header->ReplaceSucc(outside_succ, new_outside_succ); in CreateNewOutsideSucc() 758 new_phi->AppendInput(phi->CastToPhi()->GetPhiInput(pre_header)); in CreateNewOutsideSucc() 761 auto phi_pre_header_idx {phi->CastToPhi()->GetPredBlockIndex(pre_header)}; in CreateNewOutsideSucc() 780 auto pre_header = loop->GetPreHeader(); in PrepareLoopToClone() local 781 auto ifimm = pre_header->GetLastInst(); in PrepareLoopToClone() 794 auto new_pre_header = pre_header->SplitBlockAfterInstruction(compare->GetPrev(), true); in PrepareLoopToClone() 796 pre_header = new_pre_header; in PrepareLoopToClone() 799 ASSERT(std::distance(pre_header in PrepareLoopToClone() 827 CreateLoopClonerData(Loop *loop, BasicBlock *pre_header, BasicBlock *outside_succ) CreateLoopClonerData() argument 909 GetPhiResolver(Inst *check_phi, BasicBlock *outside_succ, BasicBlock *pre_header) GetPhiResolver() argument 999 auto pre_header = loop->GetPreHeader(); IsLoopClonable() local [all...] |
H A D | graph_cloner.h | 61 BasicBlock *pre_header {nullptr}; 163 LoopClonerData *CreateLoopClonerData(Loop *loop, BasicBlock *pre_header, BasicBlock *outside_succ); 164 BasicBlock *CreateNewOutsideSucc(BasicBlock *outside_succ, BasicBlock *back_edge, BasicBlock *pre_header);
|
/arkcompiler/runtime_core/compiler/tests/ |
H A D | loop_analyzer_test.cpp | 303 auto pre_header = loop->GetPreHeader(); in TEST_F() local 304 ASSERT_EQ(pre_header->GetLoop(), loop->GetOuterLoop()); in TEST_F() 305 CheckVectorEqualBlocksIdSet(pre_header->GetPredsBlocks(), {4, 5}); in TEST_F() 306 CheckVectorEqualBlocksIdSet(pre_header->GetSuccsBlocks(), {6}); in TEST_F() 307 EXPECT_EQ(loop->GetHeader()->GetDominator(), pre_header); in TEST_F() 308 CheckVectorEqualBlocksIdSet(pre_header->GetDominatedBlocks(), {6}); in TEST_F() 311 CheckPhiInputs(pre_header); in TEST_F()
|
Completed in 4 milliseconds