/art/compiler/optimizing/ |
D | induction_var_analysis.h | 155 void VisitLoop(HLoopInformation* loop); 156 void VisitNode(HLoopInformation* loop, HInstruction* instruction); 157 uint32_t VisitDescendant(HLoopInformation* loop, HInstruction* instruction); 158 void ClassifyTrivial(HLoopInformation* loop, HInstruction* instruction); 159 void ClassifyNonTrivial(HLoopInformation* loop); 163 InductionInfo* TransferPhi(HLoopInformation* loop, 174 InductionInfo* SolvePhiAllInputs(HLoopInformation* loop, 177 InductionInfo* SolveAddSub(HLoopInformation* loop, 184 InductionInfo* SolveOp(HLoopInformation* loop, 190 InductionInfo* SolveTest(HLoopInformation* loop, [all …]
|
D | linear_order.cc | 24 static bool InSameLoop(HLoopInformation* first_loop, HLoopInformation* second_loop) { in InSameLoop() 28 static bool IsLoop(HLoopInformation* info) { in IsLoop() 32 static bool IsInnerLoop(HLoopInformation* outer, HLoopInformation* inner) { in IsInnerLoop() 42 HLoopInformation* block_loop = block->GetLoopInformation(); in AddToListForLinearization() 46 HLoopInformation* current_loop = current->GetLoopInformation(); in AddToListForLinearization() 63 HLoopInformation* loop = header->GetLoopInformation(); in IsLinearOrderWellFormed()
|
D | superblock_cloner.h | 218 HLoopInformation* GetRegionToBeAdjusted() const { in GetRegionToBeAdjusted() 353 HLoopInformation* outer_loop_; 370 PeelUnrollHelper(HLoopInformation* info, in PeelUnrollHelper() 381 static bool IsLoopClonable(HLoopInformation* loop_info); 388 HLoopInformation* GetRegionToBeAdjusted() const { return cloner_.GetRegionToBeAdjusted(); } in GetRegionToBeAdjusted() 397 HLoopInformation* loop_info_; 409 PeelUnrollSimpleHelper(HLoopInformation* info, InductionVarRange* induction_range); 413 HLoopInformation* GetRegionToBeAdjusted() const { return helper_.GetRegionToBeAdjusted(); } in GetRegionToBeAdjusted() 428 HLoopInformation* loop_info, 445 HLoopInformation* FindCommonLoop(HLoopInformation* loop1, HLoopInformation* loop2);
|
D | loop_analysis.h | 35 explicit LoopAnalysisInfo(HLoopInformation* loop_info) in LoopAnalysisInfo() 68 HLoopInformation* GetLoopInfo() const { return loop_info_; } in GetLoopInfo() 90 HLoopInformation* loop_info_; 101 static void CalculateLoopBasicProperties(HLoopInformation* loop_info, 106 static int64_t GetLoopTripCount(HLoopInformation* loop_info,
|
D | superblock_cloner_test.cc | 159 HLoopInformation* loop_info = header->GetLoopInformation(); in TEST_F() 238 HLoopInformation* loop_info = header->GetLoopInformation(); in TEST_F() 325 HLoopInformation* loop_info = header->GetLoopInformation(); in TEST_F() 329 HLoopInformation* new_loop_info = new_header->GetLoopInformation(); in TEST_F() 384 HLoopInformation* loop_info = header->GetLoopInformation(); in TEST_F() 439 HLoopInformation* loop_info = header->GetLoopInformation(); in TEST_F() 484 HLoopInformation* loop2_info_before = loop2_header->GetLoopInformation(); in TEST_F() 485 HLoopInformation* loop3_info_before = loop3_header->GetLoopInformation(); in TEST_F() 537 HLoopInformation* loop1 = loop1_header->GetLoopInformation(); in TEST_F() 538 HLoopInformation* loop2 = loop2_header->GetLoopInformation(); in TEST_F() [all …]
|
D | licm.cc | 33 HLoopInformation* info = instruction->GetBlock()->GetLoopInformation(); in InputsAreDefinedBeforeLoop() 35 HLoopInformation* input_loop = input->GetBlock()->GetLoopInformation(); in InputsAreDefinedBeforeLoop() 49 HLoopInformation* input_loop = input->GetBlock()->GetLoopInformation(); in InputsAreDefinedBeforeLoop() 67 static void UpdateLoopPhisIn(HEnvironment* environment, HLoopInformation* info) { in UpdateLoopPhisIn() 101 HLoopInformation* loop_info = block->GetLoopInformation(); in Run()
|
D | loop_optimization.h | 55 explicit LoopNode(HLoopInformation* lp_info) in LoopNode() 61 HLoopInformation* loop_info; 126 void AddLoop(HLoopInformation* loop_info); 249 bool IsOnlyUsedAfterLoop(HLoopInformation* loop_info, 253 bool IsUsedOutsideLoop(HLoopInformation* loop_info, 255 bool TryReplaceWithLastValue(HLoopInformation* loop_info, 258 bool TryAssignLastValue(HLoopInformation* loop_info,
|
D | induction_var_range.h | 138 void ReVisit(HLoopInformation* loop) { in ReVisit() 159 HLoopInformation* lp = phi->GetBlock()->GetLoopInformation(); // closest enveloping loop in IsClassified() 167 bool IsFinite(HLoopInformation* loop, /*out*/ int64_t* trip_count) const; 172 bool HasKnownTripCount(HLoopInformation* loop, /*out*/ int64_t* trip_count) const; 190 HInstruction* GenerateTripCount(HLoopInformation* loop, HGraph* graph, HBasicBlock* block); 206 bool CheckForFiniteAndConstantProps(HLoopInformation* loop, 221 /*out*/ HLoopInformation** loop,
|
D | induction_var_analysis.cc | 28 static void RotateEntryPhiFirst(HLoopInformation* loop, in RotateEntryPhiFirst() 99 static bool IsGuardedBy(HLoopInformation* loop, in IsGuardedBy() 146 HInstruction* FindFirstLoopHeaderPhiUse(HLoopInformation* loop, HInstruction* instruction) { in FindFirstLoopHeaderPhiUse() 160 bool FixOutsideUse(HLoopInformation* loop, in FixOutsideUse() 200 bool RewriteBreakLoopBody(HLoopInformation* loop, in RewriteBreakLoopBody() 240 induction_(std::less<HLoopInformation*>(), in HInductionVarAnalysis() 259 void HInductionVarAnalysis::VisitLoop(HLoopInformation* loop) { in VisitLoop() 294 void HInductionVarAnalysis::VisitNode(HLoopInformation* loop, HInstruction* instruction) { in VisitNode() 338 uint32_t HInductionVarAnalysis::VisitDescendant(HLoopInformation* loop, HInstruction* instruction) { in VisitDescendant() 341 HLoopInformation* otherLoop = instruction->GetBlock()->GetLoopInformation(); in VisitDescendant() [all …]
|
D | superblock_cloner.cc | 291 HLoopInformation* info = block->GetLoopInformation(); in RecalculateBackEdgesInfo() 310 HLoopInformation* info = block->GetLoopInformation(); in RecalculateBackEdgesInfo() 321 HLoopInformation* info = block->GetLoopInformation(); in RecalculateBackEdgesInfo() 354 HLoopInformation* cur_loop = block->GetLoopInformation(); in AnalyzeLoopsLocally() 355 HLoopInformation* outer_loop = cur_loop->GetPreHeader()->GetLoopInformation(); in AnalyzeLoopsLocally() 435 HLoopInformation* loop_exit_loop_info = exit->GetLoopInformation(); in FindAndSetLocalAreaForAdjustments() 843 HLoopInformation* common_loop_info = nullptr; in IsFastCase() 846 HLoopInformation* block_loop_info = block->GetLoopInformation(); in IsFastCase() 1025 HLoopInformation* loop_info, in CollectRemappingInfoForPeelUnroll() 1074 HLoopInformation* FindCommonLoop(HLoopInformation* loop1, HLoopInformation* loop2) { in FindCommonLoop() [all …]
|
D | side_effects_analysis.h | 47 void UpdateLoopEffects(HLoopInformation* info, SideEffects effects);
|
D | loop_analysis.cc | 24 void LoopAnalysis::CalculateLoopBasicProperties(HLoopInformation* loop_info, in CalculateLoopBasicProperties() 66 int64_t LoopAnalysis::GetLoopTripCount(HLoopInformation* loop_info, in GetLoopTripCount()
|
D | nodes.cc | 366 HLoopInformation* info = successor->GetLoopInformation(); in SplitCriticalEdge() 388 HLoopInformation* info = header->GetLoopInformation(); in OrderLoopHeaderPredecessors() 407 HLoopInformation* loop_info = header->GetLoopInformation(); in FixControlForNewSinglePreheader() 447 HLoopInformation* loop_info = header->GetLoopInformation(); in TransformLoopToSinglePreheaderFormat() 515 HLoopInformation* info = header->GetLoopInformation(); in SimplifyLoop() 622 void HLoopInformation::Dump(std::ostream& os) { in Dump() 736 void HLoopInformation::Add(HBasicBlock* block) { in Add() 740 void HLoopInformation::Remove(HBasicBlock* block) { in Remove() 744 void HLoopInformation::PopulateRecursive(HBasicBlock* block) { in PopulateRecursive() 764 void HLoopInformation::PopulateIrreducibleRecursive(HBasicBlock* block, ArenaBitVector* finalized) { in PopulateIrreducibleRecursive() [all …]
|
D | side_effects_analysis.cc | 84 void SideEffectsAnalysis::UpdateLoopEffects(HLoopInformation* info, SideEffects effects) { in UpdateLoopEffects()
|
D | induction_var_range.cc | 175 static HInstruction* GetLoopControl(HLoopInformation* loop) { in GetLoopControl() 196 HLoopInformation* loop = nullptr; in GetInductionRange() 344 …for (HLoopInformation* lp = instruction->GetBlock()->GetLoopInformation(); // closest enveloping … in Replace() 354 bool InductionVarRange::IsFinite(HLoopInformation* loop, /*out*/ int64_t* trip_count) const { in IsFinite() 359 bool InductionVarRange::HasKnownTripCount(HLoopInformation* loop, in HasKnownTripCount() 370 HLoopInformation* loop = nullptr; in IsUnitStride() 393 HInstruction* InductionVarRange::GenerateTripCount(HLoopInformation* loop, in GenerateTripCount() 422 bool InductionVarRange::CheckForFiniteAndConstantProps(HLoopInformation* loop, in CheckForFiniteAndConstantProps() 467 /*out*/ HLoopInformation** loop, in HasInductionInfo() 472 HLoopInformation* lp = context->GetBlock()->GetLoopInformation(); // closest enveloping loop in HasInductionInfo() [all …]
|
D | bounds_check_elimination.cc | 909 HLoopInformation* loop = bounds_check->GetBlock()->GetLoopInformation(); in VisitBoundsCheck() 1247 HLoopInformation* loop = array_get->GetBlock()->GetLoopInformation(); in VisitArrayGet() 1423 void TransformLoopForDynamicBCE(HLoopInformation* loop, HBoundsCheck* bounds_check) { in TransformLoopForDynamicBCE() 1553 bool DynamicBCESeemsProfitable(HLoopInformation* loop, HBasicBlock* block) { in DynamicBCESeemsProfitable() 1586 bool IsEarlyExitLoop(HLoopInformation* loop) { in IsEarlyExitLoop() 1612 bool CanHandleLength(HLoopInformation* loop, HInstruction* length, bool needs_taken_test) { in CanHandleLength() 1628 bool CanHandleNullCheck(HLoopInformation* loop, HInstruction* check, bool needs_taken_test) { in CanHandleNullCheck() 1655 …bool CanHandleInfiniteLoop(HLoopInformation* loop, HInstruction* index, bool needs_infinite_test) { in CanHandleInfiniteLoop() 1686 HBasicBlock* GetPreHeader(HLoopInformation* loop, HInstruction* instruction) { in GetPreHeader() 1705 void InsertDeoptInLoop(HLoopInformation* loop, in InsertDeoptInLoop() [all …]
|
D | loop_optimization.cc | 74 static bool IsEarlyExit(HLoopInformation* loop_info) { in IsEarlyExit() 429 static void PeelByCount(HLoopInformation* loop_info, in PeelByCount() 566 void HLoopOptimization::AddLoop(HLoopInformation* loop_info) { in AddLoop() 803 HLoopInformation* loop_info = analysis_info->GetLoopInfo(); in TryUnrollingForBranchPenaltyReduction() 818 HLoopInformation* loop_info = analysis_info->GetLoopInfo(); in TryPeelingForLoopInvariantExitsElimination() 874 HLoopInformation* loop_info = analysis_info->GetLoopInfo(); in TryFullUnrolling() 891 HLoopInformation* loop_info = node->loop_info; in TryPeelingAndUnrolling() 1167 HLoopInformation* vloop = vector_header_->GetLoopInformation(); in Vectorize() 2330 HLoopInformation* loop_info = phi->GetBlock()->GetLoopInformation(); in TrySetPhiReduction() 2410 bool HLoopOptimization::IsUsedOutsideLoop(HLoopInformation* loop_info, in IsUsedOutsideLoop() [all …]
|
D | find_loops_test.cc | 112 HLoopInformation* info = block->GetLoopInformation(); in TestBlock() 314 HLoopInformation* info = graph->GetBlocks()[3]->GetLoopInformation(); in TEST_F()
|
D | cha_guard_optimization.cc | 182 HLoopInformation* loop_info = block->GetLoopInformation(); in HoistGuard()
|
D | graph_visualizer.cc | 660 HLoopInformation* loop_info = instruction->GetBlock()->GetLoopInformation(); in PrintInstruction() 665 HLoopInformation* outer = loop_info->GetPreHeader()->GetLoopInformation(); in PrintInstruction()
|
D | nodes.h | 784 class HLoopInformation : public ArenaObject<kArenaAllocLoopInfo> { 786 HLoopInformation(HBasicBlock* header, HGraph* graph) in HLoopInformation() function 852 void PopulateInnerLoopUpwards(HLoopInformation* inner_loop); 860 bool IsIn(const HLoopInformation& other) const; 902 DISALLOW_COPY_AND_ASSIGN(HLoopInformation); 1022 HLoopInformation* loop_info = GetLoopInformation(); in IsSingleJump() 1030 loop_information_ = new (graph_->GetAllocator()) HLoopInformation(this, graph_); in AddBackEdge() 1043 loop_information_ = new (graph_->GetAllocator()) HLoopInformation(this, graph_); in AddBackEdgeWhileUpdating() 1249 HLoopInformation* GetLoopInformation() const { in GetLoopInformation() 1256 void SetInLoop(HLoopInformation* info) { in SetInLoop() [all …]
|
D | graph_checker.cc | 661 HLoopInformation* loop_information = loop_header->GetLoopInformation(); in HandleLoop() 737 HLoopInformation* outer_info = it.Current(); in HandleLoop()
|
D | load_store_analysis.h | 506 HLoopInformation* loop_info = instruction->GetBlock()->GetLoopInformation(); in VisitInstanceFieldSet()
|
D | ssa_liveness_analysis.h | 136 HLoopInformation* GetLoopInformation() const { in GetLoopInformation() 1067 HLoopInformation* current = it.Current(); in AddBackEdgeUses()
|
/art/test/478-checker-inline-noreturn/ |
D | info.txt | 2 computation fails because of incorrect HLoopInformation if we inline
|