/art/compiler/optimizing/ |
D | induction_var_range.h | 139 void ReVisit(const HLoopInformation* loop) { in ReVisit() 160 HLoopInformation* lp = phi->GetBlock()->GetLoopInformation(); // closest enveloping loop in IsClassified() 168 bool IsFinite(const HLoopInformation* loop, /*out*/ int64_t* trip_count) const; 173 bool HasKnownTripCount(const HLoopInformation* loop, /*out*/ int64_t* trip_count) const; 191 HInstruction* GenerateTripCount(const HLoopInformation* loop, HGraph* graph, HBasicBlock* block); 207 bool CheckForFiniteAndConstantProps(const HLoopInformation* loop, 216 const HLoopInformation* loop, 224 /*out*/ const HLoopInformation** loop, 230 const HLoopInformation* loop, 236 const HLoopInformation* loop, [all …]
|
D | induction_var_analysis.h | 126 const HLoopInformation* loop, in CreateInvariantOp() 159 void VisitLoop(const HLoopInformation* loop); 160 size_t TryVisitNodes(const HLoopInformation* loop, 165 void ClassifyTrivial(const HLoopInformation* loop, HInstruction* instruction); 166 void ClassifyNonTrivial(const HLoopInformation* loop, ArrayRef<const StackEntry> stack_tail); 172 InductionInfo* TransferPhi(const HLoopInformation* loop, 177 const HLoopInformation* loop, 183 const HLoopInformation* loop, 187 const HLoopInformation* loop, 198 InductionInfo* SolvePhiAllInputs(const 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 | 221 HLoopInformation* GetRegionToBeAdjusted() const { in GetRegionToBeAdjusted() 368 HLoopInformation* outer_loop_; 385 LoopClonerHelper(HLoopInformation* info, in LoopClonerHelper() 396 static bool IsLoopClonable(HLoopInformation* loop_info); 486 HLoopInformation* GetRegionToBeAdjusted() const { return cloner_.GetRegionToBeAdjusted(); } in GetRegionToBeAdjusted() 499 HLoopInformation* loop_info_; 511 LoopClonerSimpleHelper(HLoopInformation* info, InductionVarRange* induction_range); 516 HLoopInformation* GetRegionToBeAdjusted() const { return helper_.GetRegionToBeAdjusted(); } in GetRegionToBeAdjusted() 531 HLoopInformation* loop_info, 548 HLoopInformation* FindCommonLoop(HLoopInformation* loop1, HLoopInformation* loop2);
|
D | loop_analysis.h | 37 explicit LoopAnalysisInfo(HLoopInformation* loop_info) in LoopAnalysisInfo() 70 HLoopInformation* GetLoopInfo() const { return loop_info_; } in GetLoopInfo() 92 HLoopInformation* loop_info_; 103 static void CalculateLoopBasicProperties(HLoopInformation* loop_info, 108 static int64_t GetLoopTripCount(HLoopInformation* loop_info,
|
D | superblock_cloner_test.cc | 164 HLoopInformation* loop_info = header->GetLoopInformation(); in TEST_F() 243 HLoopInformation* loop_info = header->GetLoopInformation(); in TEST_F() 307 HLoopInformation* loop_info = header->GetLoopInformation(); in TEST_F() 311 HLoopInformation* new_loop_info = new_header->GetLoopInformation(); in TEST_F() 344 HLoopInformation* loop_info = header->GetLoopInformation(); in TEST_F() 381 HLoopInformation* loop_info = header->GetLoopInformation(); in TEST_F() 392 HLoopInformation* second_loop_info = second_header->GetLoopInformation(); in TEST_F() 446 HLoopInformation* loop_info = header->GetLoopInformation(); in TEST_F() 491 HLoopInformation* loop2_info_before = loop2_header->GetLoopInformation(); in TEST_F() 492 HLoopInformation* loop3_info_before = loop3_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 | 61 explicit LoopNode(HLoopInformation* lp_info) in LoopNode() 77 HLoopInformation* loop_info; 235 void AddLoop(HLoopInformation* loop_info); 466 bool IsOnlyUsedAfterLoop(HLoopInformation* loop_info, 470 bool IsUsedOutsideLoop(HLoopInformation* loop_info, 472 bool TryReplaceWithLastValue(HLoopInformation* loop_info, 475 bool TryAssignLastValue(HLoopInformation* loop_info,
|
D | induction_var_range.cc | 154 static HInstruction* GetLoopControl(const HLoopInformation* loop) { in GetLoopControl() 160 static bool IsContextInBody(const HBasicBlock* context, const HLoopInformation* loop) { in IsContextInBody() 168 bool UseFullTripCount(const HBasicBlock* context, const HLoopInformation* loop, bool is_min) { in UseFullTripCount() 208 const HLoopInformation* loop = nullptr; in GetInductionRange() 368 …for (HLoopInformation* lp = instruction->GetBlock()->GetLoopInformation(); // closest enveloping … in Replace() 378 bool InductionVarRange::IsFinite(const HLoopInformation* loop, /*out*/ int64_t* trip_count) const { in IsFinite() 383 bool InductionVarRange::HasKnownTripCount(const HLoopInformation* loop, in HasKnownTripCount() 394 const HLoopInformation* loop = nullptr; in IsUnitStride() 417 HInstruction* InductionVarRange::GenerateTripCount(const HLoopInformation* loop, in GenerateTripCount() 461 bool InductionVarRange::CheckForFiniteAndConstantProps(const HLoopInformation* loop, in CheckForFiniteAndConstantProps() [all …]
|
D | induction_var_analysis.cc | 67 static bool IsGuardedBy(const HLoopInformation* loop, in IsGuardedBy() 114 HInstruction* FindFirstLoopHeaderPhiUse(const HLoopInformation* loop, HInstruction* instruction) { in FindFirstLoopHeaderPhiUse() 128 static bool FixOutsideUse(const HLoopInformation* loop, in FixOutsideUse() 166 static bool RewriteBreakLoopBody(const HLoopInformation* loop, in RewriteBreakLoopBody() 222 induction_(std::less<const HLoopInformation*>(), in HInductionVarAnalysis() 246 void HInductionVarAnalysis::VisitLoop(const HLoopInformation* loop) { in VisitLoop() 274 const HLoopInformation* loop, in TryVisitNodes() 397 void HInductionVarAnalysis::ClassifyTrivial(const HLoopInformation* loop, in ClassifyTrivial() 451 void HInductionVarAnalysis::ClassifyNonTrivial(const HLoopInformation* loop, in ClassifyNonTrivial() 619 const HLoopInformation* loop, in TransferPhi() [all …]
|
D | loop_analysis.cc | 25 void LoopAnalysis::CalculateLoopBasicProperties(HLoopInformation* loop_info, in CalculateLoopBasicProperties() 67 int64_t LoopAnalysis::GetLoopTripCount(HLoopInformation* loop_info, in GetLoopTripCount() 313 uint32_t GetUnrollingFactor(HLoopInformation* loop_info, HBasicBlock* header) const; 323 HLoopInformation* loop_info = block->GetLoopInformation(); in GetSIMDUnrollingFactor() 359 uint32_t X86_64LoopHelper::GetUnrollingFactor(HLoopInformation* loop_info, in GetUnrollingFactor()
|
D | superblock_cloner.cc | 323 HLoopInformation* info = block->GetLoopInformation(); in RecalculateBackEdgesInfo() 342 HLoopInformation* info = block->GetLoopInformation(); in RecalculateBackEdgesInfo() 353 HLoopInformation* info = block->GetLoopInformation(); in RecalculateBackEdgesInfo() 386 HLoopInformation* cur_loop = block->GetLoopInformation(); in AnalyzeLoopsLocally() 387 HLoopInformation* outer_loop = cur_loop->GetPreHeader()->GetLoopInformation(); in AnalyzeLoopsLocally() 467 HLoopInformation* loop_exit_loop_info = exit->GetLoopInformation(); in FindAndSetLocalAreaForAdjustments() 892 HLoopInformation* common_loop_info = nullptr; in IsFastCase() 895 HLoopInformation* block_loop_info = block->GetLoopInformation(); in IsFastCase() 1077 HLoopInformation* loop_info, in CollectRemappingInfoForPeelUnroll() 1126 HLoopInformation* FindCommonLoop(HLoopInformation* loop1, HLoopInformation* loop2) { in FindCommonLoop() [all …]
|
D | side_effects_analysis.h | 46 void UpdateLoopEffects(HLoopInformation* info, SideEffects effects);
|
D | nodes.cc | 409 HLoopInformation* info = successor->GetLoopInformation(); in SplitCriticalEdge() 440 HLoopInformation* info = header->GetLoopInformation(); in OrderLoopHeaderPredecessors() 459 HLoopInformation* loop_info = header->GetLoopInformation(); in FixControlForNewSinglePreheader() 499 HLoopInformation* loop_info = header->GetLoopInformation(); in TransformLoopToSinglePreheaderFormat() 567 HLoopInformation* info = header->GetLoopInformation(); in SimplifyLoop() 680 void HLoopInformation::Dump(std::ostream& os) { in Dump() 794 void HLoopInformation::Add(HBasicBlock* block) { in Add() 798 void HLoopInformation::Remove(HBasicBlock* block) { in Remove() 802 void HLoopInformation::PopulateRecursive(HBasicBlock* block) { in PopulateRecursive() 822 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_test.cc | 150 HLoopInformation loop(exit_block_, graph_); in CreateInvariant() 246 HLoopInformation loop(exit_block_, graph_); in NeedsTripCount() 263 HLoopInformation loop(exit_block_, graph_); in GetMin() 269 HLoopInformation* loop, in GetMin() 278 HLoopInformation loop(exit_block_, graph_); in GetMax() 284 HLoopInformation* loop, in GetMax() 294 HLoopInformation loop(exit_block_, graph_); in GetMul() 303 HLoopInformation loop(exit_block_, graph_); in GetDiv() 311 HLoopInformation loop(exit_block_, graph_); in GetRem() 319 HLoopInformation loop(exit_block_, graph_); in GetXor() [all …]
|
D | loop_optimization.cc | 73 static bool IsEarlyExit(HLoopInformation* loop_info) { in IsEarlyExit() 429 static void PeelByCount(HLoopInformation* loop_info, in PeelByCount() 467 static bool HasLoopDiamondStructure(HLoopInformation* loop_info) { in HasLoopDiamondStructure() 499 static bool IsPredicatedLoopControlFlowSupported(HLoopInformation* loop_info) { in IsPredicatedLoopControlFlowSupported() 619 void HLoopOptimization::AddLoop(HLoopInformation* loop_info) { in AddLoop() 767 HLoopInformation* loop_info = analysis_info->GetLoopInfo(); in TryToRemoveSuspendCheckFromLoopHeader() 852 static HBasicBlock* GetInnerLoopFiniteSingleExit(HLoopInformation* loop_info) { in GetInnerLoopFiniteSingleExit() 1013 HLoopInformation* loop_info = analysis_info->GetLoopInfo(); in TryUnrollingForBranchPenaltyReduction() 1028 HLoopInformation* loop_info = analysis_info->GetLoopInfo(); in TryPeelingForLoopInvariantExitsElimination() 1084 HLoopInformation* loop_info = analysis_info->GetLoopInfo(); in TryFullUnrolling() [all …]
|
D | bounds_check_elimination.cc | 922 HLoopInformation* loop = bounds_check->GetBlock()->GetLoopInformation(); in VisitBoundsCheck() 1361 HLoopInformation* loop = array_get->GetBlock()->GetLoopInformation(); in VisitArrayGet() 1537 void TransformLoopForDynamicBCE(HLoopInformation* loop, HBoundsCheck* bounds_check) { in TransformLoopForDynamicBCE() 1676 bool DynamicBCESeemsProfitable(HLoopInformation* loop, HBasicBlock* block) { in DynamicBCESeemsProfitable() 1709 bool IsEarlyExitLoop(HLoopInformation* loop) { in IsEarlyExitLoop() 1735 bool CanHandleLength(HLoopInformation* loop, HInstruction* length, bool needs_taken_test) { in CanHandleLength() 1751 bool CanHandleNullCheck(HLoopInformation* loop, HInstruction* check, bool needs_taken_test) { in CanHandleNullCheck() 1778 …bool CanHandleInfiniteLoop(HLoopInformation* loop, HInstruction* index, bool needs_infinite_test) { in CanHandleInfiniteLoop() 1809 HBasicBlock* GetPreHeader(HLoopInformation* loop, HInstruction* instruction) { in GetPreHeader() 1828 void InsertDeoptInLoop(HLoopInformation* loop, in InsertDeoptInLoop() [all …]
|
D | find_loops_test.cc | 113 HLoopInformation* info = block->GetLoopInformation(); in TestBlock() 315 HLoopInformation* info = graph->GetBlocks()[3]->GetLoopInformation(); in TEST_F()
|
D | cha_guard_optimization.cc | 182 HLoopInformation* loop_info = block->GetLoopInformation(); in HoistGuard()
|
D | nodes.h | 920 class HLoopInformation : public ArenaObject<kArenaAllocLoopInfo> { 922 HLoopInformation(HBasicBlock* header, HGraph* graph) in HLoopInformation() function 988 void PopulateInnerLoopUpwards(HLoopInformation* inner_loop); 996 bool IsIn(const HLoopInformation& other) const; 1038 DISALLOW_COPY_AND_ASSIGN(HLoopInformation); 1162 HLoopInformation* loop_info = GetLoopInformation(); in IsSingleJump() 1170 loop_information_ = new (graph_->GetAllocator()) HLoopInformation(this, graph_); in AddBackEdge() 1183 loop_information_ = new (graph_->GetAllocator()) HLoopInformation(this, graph_); in AddBackEdgeWhileUpdating() 1403 HLoopInformation* GetLoopInformation() const { in GetLoopInformation() 1410 void SetInLoop(HLoopInformation* info) { in SetInLoop() [all …]
|
D | graph_visualizer.cc | 730 HLoopInformation* loop_info = (block != nullptr) ? block->GetLoopInformation() : nullptr; in PrintInstruction() 735 HLoopInformation* outer = loop_info->GetPreHeader()->GetLoopInformation(); in PrintInstruction()
|
D | ssa_liveness_analysis.h | 134 HLoopInformation* GetLoopInformation() const { in GetLoopInformation() 1065 HLoopInformation* current = it.Current(); in AddBackEdgeUses()
|
D | code_sinking.cc | 241 const HLoopInformation* loop_info = instruction->GetBlock()->GetLoopInformation(); in FindIdealPosition()
|
/art/test/478-checker-inline-noreturn/ |
D | info.txt | 2 computation fails because of incorrect HLoopInformation if we inline
|