/art/compiler/optimizing/ |
D | licm_test.cc | 138 EXPECT_EQ(get_field->GetBlock(), loop_body_); in TEST_F() 139 EXPECT_EQ(set_field->GetBlock(), loop_body_); in TEST_F() 141 EXPECT_EQ(get_field->GetBlock(), loop_preheader_); in TEST_F() 142 EXPECT_EQ(set_field->GetBlock(), loop_body_); in TEST_F() 172 EXPECT_EQ(get_field->GetBlock(), loop_body_); in TEST_F() 173 EXPECT_EQ(set_field->GetBlock(), loop_body_); in TEST_F() 175 EXPECT_EQ(get_field->GetBlock(), loop_body_); in TEST_F() 176 EXPECT_EQ(set_field->GetBlock(), loop_body_); in TEST_F() 190 EXPECT_EQ(get_array->GetBlock(), loop_body_); in TEST_F() 191 EXPECT_EQ(set_array->GetBlock(), loop_body_); in TEST_F() [all …]
|
D | instruction_simplifier_shared.cc | 78 ArenaAllocator* allocator = mul->GetBlock()->GetGraph()->GetAllocator(); in TrySimpleMultiplyAccumulatePatterns() 82 mul->GetBlock()->ReplaceAndRemoveInstructionWith(mul, mulacc); in TrySimpleMultiplyAccumulatePatterns() 83 input_binop->GetBlock()->RemoveInstruction(input_binop); in TrySimpleMultiplyAccumulatePatterns() 108 ArenaAllocator* allocator = mul->GetBlock()->GetGraph()->GetAllocator(); in TryCombineMultiplyAccumulate() 146 binop->GetBlock()->ReplaceAndRemoveInstructionWith(binop, mulacc); in TryCombineMultiplyAccumulate() 148 mul->GetBlock()->RemoveInstruction(mul); in TryCombineMultiplyAccumulate() 155 mul->GetBlock()->GetGraph()->GetConstant(type, 0), in TryCombineMultiplyAccumulate() 159 use->GetBlock()->ReplaceAndRemoveInstructionWith(use, mulacc); in TryCombineMultiplyAccumulate() 161 mul->GetBlock()->RemoveInstruction(mul); in TryCombineMultiplyAccumulate() 219 HBitwiseNegatedRight* neg_op = new (hnot->GetBlock()->GetGraph()->GetAllocator()) in TryMergeNegatedInput() [all …]
|
D | constant_folding.cc | 115 inst->GetBlock()->RemoveInstruction(inst); in VisitUnaryOperation() 125 inst->GetBlock()->RemoveInstruction(inst); in VisitBinaryOperation() 137 inst->GetBlock()->RemoveInstruction(inst); in VisitDivZeroCheck() 301 inst->GetBlock()->RemoveInstruction(inst); in VisitTypeConversion() 314 instruction->GetBlock()->RemoveInstruction(instruction); in VisitShift() 327 instruction->GetBlock()->RemoveInstruction(instruction); in VisitEqual() 335 instruction->GetBlock()->RemoveInstruction(instruction); in VisitEqual() 348 instruction->GetBlock()->RemoveInstruction(instruction); in VisitNotEqual() 356 instruction->GetBlock()->RemoveInstruction(instruction); in VisitNotEqual() 366 instruction->GetBlock()->RemoveInstruction(instruction); in VisitAbove() [all …]
|
D | instruction_simplifier_x86_shared.cc | 44 ArenaAllocator* arena = instruction->GetBlock()->GetGraph()->GetAllocator(); in TryCombineAndNot() 49 instruction->GetBlock()->ReplaceAndRemoveInstructionWith(instruction, and_not); in TryCombineAndNot() 51 not_ins->GetBlock()->RemoveInstruction(not_ins); in TryCombineAndNot() 80 ArenaAllocator* arena = instruction->GetBlock()->GetGraph()->GetAllocator(); in TryGenerateResetLeastSetBit() 83 instruction->GetBlock()->ReplaceAndRemoveInstructionWith(instruction, lsb); in TryGenerateResetLeastSetBit() 85 candidate->GetBlock()->RemoveInstruction(candidate); in TryGenerateResetLeastSetBit() 113 ArenaAllocator* arena = instruction->GetBlock()->GetGraph()->GetAllocator(); in TryGenerateMaskUptoLeastSetBit() 116 instruction->GetBlock()->ReplaceAndRemoveInstructionWith(instruction, lsb); in TryGenerateMaskUptoLeastSetBit() 118 candidate->GetBlock()->RemoveInstruction(candidate); in TryGenerateMaskUptoLeastSetBit()
|
D | code_generator_utils.cc | 135 if (cond->GetBlock() == target_block || in IsComparedValueNonNegativeInBlock() 136 !cond->GetBlock()->EndsWithIf() || in IsComparedValueNonNegativeInBlock() 137 cond->GetBlock()->GetLastInstruction()->InputAt(0) != cond) { in IsComparedValueNonNegativeInBlock() 143 HIf* if_instr = cond->GetBlock()->GetLastInstruction()->AsIf(); in IsComparedValueNonNegativeInBlock() 229 if (user->GetBlock()->Dominates(target_user->GetBlock()) && in IsNonNegativeUse() 230 IsComparedValueNonNegativeInBlock(value, user->AsCondition(), target_user->GetBlock())) { in IsNonNegativeUse() 244 UnsignedUseAnalyzer analyzer(instr->GetBlock()->GetGraph()->GetAllocator()); in HasNonNegativeInputAt()
|
D | instruction_simplifier.cc | 216 left_neg->GetBlock()->RemoveInstruction(left_neg); in TryMoveNegOnInputsAfterBinop() 217 right_neg->GetBlock()->RemoveInstruction(right_neg); in TryMoveNegOnInputsAfterBinop() 219 binop->GetBlock()->InsertInstructionBefore(neg, binop->GetNext()); in TryMoveNegOnInputsAfterBinop() 251 left->GetBlock()->RemoveInstruction(left); in TryDeMorganNegationFactoring() 252 right->GetBlock()->RemoveInstruction(right); in TryDeMorganNegationFactoring() 268 op->GetBlock()->InsertInstructionBefore(hbin, op); in TryDeMorganNegationFactoring() 269 op->GetBlock()->ReplaceAndRemoveInstructionWith(op, hnot); in TryDeMorganNegationFactoring() 295 ArenaAllocator* allocator = mul->GetBlock()->GetGraph()->GetAllocator(); in TryCombineVecMultiplyAccumulate() 353 vec_binop->GetBlock()->ReplaceAndRemoveInstructionWith(vec_binop, mulacc); in TryCombineVecMultiplyAccumulate() 360 mul->GetBlock()->RemoveInstruction(mul); in TryCombineVecMultiplyAccumulate() [all …]
|
D | code_sinking.cc | 75 if (instruction->GetBlock() == instruction->GetBlock()->GetGraph()->GetEntryBlock()) { in IsInterestingInstruction() 156 if (!discard_blocks.IsBitSet(instruction->GetBlock()->GetBlockId()) && in AddInstruction() 190 !post_dominated.IsBitSet(user->GetBlock()->GetBlockId()); in ShouldFilterUse() 194 !post_dominated.IsBitSet(user->GetBlock()->GetBlockId()); in ShouldFilterUse() 214 HBasicBlock* block = user->GetBlock(); in FindIdealPosition() 229 finder.Update(use.GetUser()->GetHolder()->GetBlock()); in FindIdealPosition() 239 const HLoopInformation* loop_info = instruction->GetBlock()->GetLoopInformation(); in FindIdealPosition() 258 if (instruction->GetBlock()->IsTryBlock()) { in FindIdealPosition() 260 instruction->GetBlock()->GetTryCatchInformation()->GetTryEntry(); in FindIdealPosition() 288 if (use.GetUser()->GetBlock() == target_block && in FindIdealPosition() [all …]
|
D | graph_checker.cc | 408 check->GetBlock()->GetBlockId())); in VisitBoundsCheck() 456 try_boundary->GetBlock()->GetBlockId())); in VisitTryBoundary() 471 load->GetBlock()->GetBlockId(), in VisitLoadClass() 481 if (!load->GetBlock()->IsCatchBlock()) { in VisitLoadException() 485 load->GetBlock()->GetBlockId())); in VisitLoadException() 486 } else if (load->GetBlock()->GetFirstInstruction()->GetNext() != load) { in VisitLoadException() 490 load->GetBlock()->GetBlockId())); in VisitLoadException() 503 monitor_op->GetBlock()->GetBlockId())); in VisitMonitorOperation() 518 if (instruction->GetBlock() == nullptr) { in VisitInstruction() 523 } else if (instruction->GetBlock() != current_block_) { in VisitInstruction() [all …]
|
D | gvn_test.cc | 97 ASSERT_EQ(to_remove->GetBlock(), block); in TEST_F() 98 ASSERT_EQ(different_offset->GetBlock(), block); in TEST_F() 99 ASSERT_EQ(use_after_kill->GetBlock(), block); in TEST_F() 106 ASSERT_TRUE(to_remove->GetBlock() == nullptr); in TEST_F() 107 ASSERT_EQ(different_offset->GetBlock(), block); in TEST_F() 108 ASSERT_EQ(use_after_kill->GetBlock(), block); in TEST_F() 277 ASSERT_EQ(field_get_in_loop_header->GetBlock(), loop_header); in TEST_F() 278 ASSERT_EQ(field_get_in_loop_body->GetBlock(), loop_body); in TEST_F() 279 ASSERT_EQ(field_get_in_exit->GetBlock(), exit); in TEST_F() 289 ASSERT_EQ(field_get_in_loop_header->GetBlock(), loop_header); in TEST_F() [all …]
|
D | prepare_for_register_allocation.cc | 101 bound_type->GetBlock()->RemoveInstruction(bound_type); in VisitBoundType() 162 check->GetBlock()->RemoveInstruction(check); in VisitClinitCheck() 165 load_class->GetBlock()->RemoveInstruction(load_class); in VisitClinitCheck() 173 check->GetBlock()->RemoveInstruction(check); in VisitClinitCheck() 225 constructor_fence->GetBlock()->RemoveInstruction(constructor_fence); in VisitConstructorFence() 294 if (user->GetBlock() != input->GetBlock()) { in CanMoveClinitCheck() 316 instruction->GetBlock()->RemoveInstruction(instruction); in VisitTypeConversion()
|
D | cha_guard_optimization.cc | 89 HBasicBlock* block = flag->GetBlock(); in RemoveGuard() 129 HBasicBlock* dominator = flag->GetBlock(); in OptimizeWithDominatingGuard() 130 HBasicBlock* receiver_def_block = receiver->GetBlock(); in OptimizeWithDominatingGuard() 150 if (dominator == flag->GetBlock()) { in OptimizeWithDominatingGuard() 181 HBasicBlock* block = flag->GetBlock(); in HoistGuard() 241 block_has_cha_guard_[flag->GetBlock()->GetBlockId()] = 1; in VisitShouldDeoptimizeFlag()
|
D | write_barrier_elimination.cc | 57 DCHECK_EQ(it->second->GetBlock(), instruction->GetBlock()); in VisitInstanceFieldSet() 83 DCHECK_EQ(it->second->GetBlock(), instruction->GetBlock()); in VisitStaticFieldSet() 111 DCHECK_EQ(it->second->GetBlock(), instruction->GetBlock()); in VisitArraySet()
|
D | bounds_check_elimination.cc | 387 DCHECK(induction_variable_->GetBlock()->IsLoopHeader()); in GetLoopHeader() 388 return induction_variable_->GetBlock(); in GetLoopHeader() 630 if (instruction->GetBlock() != basic_block) { in ApplyRangeFromComparison() 647 if (instruction->GetBlock() != left->GetBlock()) { in HandleIfBetweenTwoMonotonicValueRanges() 688 ApplyRangeFromComparison(left, instruction->GetBlock(), successor, in HandleIfBetweenTwoMonotonicValueRanges() 697 ApplyRangeFromComparison(right, instruction->GetBlock(), successor, in HandleIfBetweenTwoMonotonicValueRanges() 706 HBasicBlock* block = instruction->GetBlock(); in HandleIf() 722 if (instruction->GetBlock() != loop_head) { in HandleIf() 837 HBasicBlock* block = bounds_check->GetBlock(); in VisitBoundsCheck() 922 HLoopInformation* loop = bounds_check->GetBlock()->GetLoopInformation(); in VisitBoundsCheck() [all …]
|
D | licm.cc | 24 return instruction->IsPhi() && instruction->GetBlock() == block; in IsPhiOf() 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() 137 DCHECK(instruction->GetBlock()->IsLoopHeader()); in Run()
|
D | load_store_analysis.cc | 102 HGraph* graph = reference_->GetBlock()->GetGraph(); in PrunePartialEscapeWrites() 107 if (!additional_exclusions.IsBitSet(user->GetBlock()->GetBlockId()) && in PrunePartialEscapeWrites() 108 subgraph_->ContainsBlock(user->GetBlock()) && in PrunePartialEscapeWrites() 115 return reference_->GetBlock()->GetGraph()->PathBetween(excluded, in PrunePartialEscapeWrites() 116 user->GetBlock()); in PrunePartialEscapeWrites() 121 additional_exclusions.SetBit(user->GetBlock()->GetBlockId()); in PrunePartialEscapeWrites() 203 ri->GetNoEscapeSubgraph()->ContainsBlock(instruction->GetBlock()) && in DumpReferenceStats()
|
D | nodes_x86.h | 118 return GetBlock()->GetSuccessors()[num_entries_]; in GetDefaultBlock() 145 return GetBlock()->GetGraph()->GetIntConstant( in Evaluate() 149 return GetBlock()->GetGraph()->GetLongConstant( in Evaluate() 194 return GetBlock()->GetGraph()->GetIntConstant(Compute(x->GetValue()), GetDexPc()); in Evaluate() 197 return GetBlock()->GetGraph()->GetLongConstant(Compute(x->GetValue()), GetDexPc()); in Evaluate()
|
D | superblock_cloner.cc | 46 if (!bb_set.IsBitSet(user->GetBlock()->GetBlockId())) { in IsUsedOutsideRegion() 54 if (!bb_set.IsBitSet(user->GetBlock()->GetBlockId())) { in IsUsedOutsideRegion() 121 if (!IsInOrigBBSet(orig_input->GetBlock())) { in ReplaceInputsWithCopies() 141 if (env_input != nullptr && IsInOrigBBSet(env_input->GetBlock())) { in DeepCloneEnvironmentWithRemapping() 143 DCHECK(env_input != nullptr && env_input->GetBlock() != nullptr); in DeepCloneEnvironmentWithRemapping() 427 HBasicBlock* phi_block = phi->GetBlock(); in ResolvePhi() 430 HBasicBlock* input_block = input->GetBlock(); in ResolvePhi() 648 if (!IsInOrigBBSet(user->GetBlock())) { in ConstructSubgraphClosedSSA() 659 if (!IsInOrigBBSet(env->GetHolder()->GetBlock())) { in ConstructSubgraphClosedSSA() 717 DCHECK(orig_input->GetBlock()->Dominates(orig_instr->GetBlock())); in CheckInstructionInputsRemapping() [all …]
|
D | ssa_builder.cc | 299 HArrayGet* equivalent = new (aget->GetBlock()->GetGraph()->GetAllocator()) HArrayGet( in CreateFloatOrDoubleEquivalentOfArrayGet() 304 aget->GetBlock()->InsertInstructionAfter(equivalent, aget); in CreateFloatOrDoubleEquivalentOfArrayGet() 348 aget_float->GetBlock()->RemoveInstruction(aget_float); in FixAmbiguousArrayOps() 362 aget_int->GetBlock()->RemoveInstruction(aget_int); in FixAmbiguousArrayOps() 470 new_instance->GetBlock()->RemoveInstruction(new_instance); in RemoveRedundantUninitializedStrings() 483 input->GetBlock()->RemoveInstruction(input); in RemoveRedundantUninitializedStrings() 493 load_class->GetBlock()->RemoveInstruction(load_class); in RemoveRedundantUninitializedStrings() 611 constant->GetBlock()->InsertInstructionBefore(result, constant->GetNext()); in GetFloatEquivalent() 633 constant->GetBlock()->InsertInstructionBefore(result, constant->GetNext()); in GetDoubleEquivalent() 674 phi->GetBlock()->InsertPhiAfter(new_phi, phi); in GetFloatDoubleOrReferenceEquivalentOfPhi()
|
D | load_store_elimination.cc | 728 use.GetUser()->GetBlock()->Dominates(instruction->GetBlock()) && in FindOrAddTypeConversionIfNecessary() 731 (use.GetUser()->GetBlock() == instruction->GetBlock() || in FindOrAddTypeConversionIfNecessary() 733 if (use.GetUser()->GetBlock() == instruction->GetBlock() && in FindOrAddTypeConversionIfNecessary() 734 use.GetUser()->GetBlock()->GetInstructions().FoundBefore(instruction, use.GetUser())) { in FindOrAddTypeConversionIfNecessary() 746 instruction->GetBlock()->InsertInstructionBefore(type_conversion, instruction); in FindOrAddTypeConversionIfNecessary() 986 heap_values_for_[instruction->GetBlock()->GetBlockId()]; in HandleAcquireLoad() 1007 heap_values_for_[instruction->GetBlock()->GetBlockId()]; in HandleReleaseStore() 1093 const bool inside_a_try = instruction->GetBlock()->IsTryBlock(); in VisitDeoptimize() 1094 HBasicBlock* block = instruction->GetBlock(); in VisitDeoptimize() 1142 HandleExit(instruction->GetBlock()); in VisitReturn() [all …]
|
D | pc_relative_fixups_x86.cc | 133 HBasicBlock* block = neg->GetBlock(); in VisitNeg() 152 HBasicBlock* block = switch_insn->GetBlock(); in VisitPackedSwitch() 175 cursor->GetBlock()->InsertInstructionBefore(method_address, cursor); in GetPCRelativeBasePointer() 191 insn->GetBlock()->InsertInstructionBefore(load_constant, insn); in ReplaceInput()
|
D | induction_var_range_test.cc | 987 range_.GetInductionRange(condition_->GetBlock(), phi, x_, &v1, &v2, &needs_finite_test); in TEST_F() 993 range_.GetInductionRange(increment_->GetBlock(), phi, x_, &v1, &v2, &needs_finite_test); in TEST_F() 997 range_.GetInductionRange(increment_->GetBlock(), increment_, x_, &v1, &v2, &needs_finite_test); in TEST_F() 1004 range_.CanGenerateRange(increment_->GetBlock(), phi, &needs_finite_test, &needs_taken_test)); in TEST_F() 1007 range_.CanGenerateRange(exit->GetBlock(), exit, &needs_finite_test, &needs_taken_test)); in TEST_F() 1021 EXPECT_TRUE(range_.IsUnitStride(phi->GetBlock(), phi, graph_, &offset)); in TEST_F() 1041 range_.GetInductionRange(condition_->GetBlock(), phi, x_, &v1, &v2, &needs_finite_test); in TEST_F() 1047 range_.GetInductionRange(increment_->GetBlock(), phi, x_, &v1, &v2, &needs_finite_test); in TEST_F() 1051 range_.GetInductionRange(increment_->GetBlock(), increment_, x_, &v1, &v2, &needs_finite_test); in TEST_F() 1058 range_.CanGenerateRange(increment_->GetBlock(), phi, &needs_finite_test, &needs_taken_test)); in TEST_F() [all …]
|
D | nodes.cc | 182 HBasicBlock* user_block = use.GetUser()->GetBlock(); in RemoveCatchPhiUsesOfDeadInstruction() 877 if ((cached_null_constant_ == nullptr) || (cached_null_constant_->GetBlock() == nullptr)) { in GetNullConstant() 893 if ((cached_current_method_ == nullptr) || (cached_current_method_->GetBlock() == nullptr)) { in GetCurrentMethod() 1109 return !blocks_.IsBitSet(instruction->GetBlock()->GetBlockId()); in IsDefinedOutOfTheLoop() 1176 DCHECK(initial->GetBlock() == this); in ReplaceAndRemovePhiWith() 1184 DCHECK(initial->GetBlock() == this); in ReplaceAndRemoveInstructionWith() 1190 DCHECK_EQ(initial->GetBlock(), this); in ReplaceAndRemoveInstructionWith() 1208 DCHECK(instruction->GetBlock() == nullptr); in Add() 1229 DCHECK_EQ(cursor->GetBlock(), this); in InsertInstructionBefore() 1242 DCHECK_EQ(cursor->GetBlock(), this); in InsertInstructionAfter() [all …]
|
D | scheduler.cc | 327 << " is in block " << other->GetBlock()->GetBlockId() in AddDependencies() 328 << ", and expected in block " << instruction->GetBlock()->GetBlockId(); in AddDependencies() 579 CHECK_EQ(instruction->GetBlock(), block) in Schedule() 581 << " is in block " << instruction->GetBlock()->GetBlockId() in Schedule() 658 DCHECK_EQ(instruction->GetBlock(), cursor->GetBlock()); in MoveAfterInBlock() 659 DCHECK_NE(cursor, cursor->GetBlock()->GetLastInstruction()); in MoveAfterInBlock()
|
D | register_allocation_resolver.cc | 413 return instruction->GetBlock()->GetGraph()->HasIrreducibleLoops() && in IsMaterializableEntryBlockInstructionOfGraphWithIrreducibleLoop() 539 user->GetBlock()->InsertInstructionBefore(move, user); in AddInputMoveFor() 574 at = at->GetBlock()->GetFirstInstruction(); in InsertParallelMoveAt() 587 at->GetBlock()->InsertInstructionBefore(move, at); in InsertParallelMoveAt() 602 at->GetBlock()->InsertInstructionBefore(move, at->GetNext()); in InsertParallelMoveAt() 618 at->GetBlock()->InsertInstructionBefore(move, at); in InsertParallelMoveAt() 684 InsertParallelMoveAtEntryOf(instruction->GetBlock(), instruction, source, destination); in InsertMoveAfter() 696 instruction->GetBlock()->InsertInstructionBefore(move, instruction->GetNext()); in InsertMoveAfter()
|
D | nodes.h | 762 if (constant == nullptr || constant->GetBlock() == nullptr) { 2275 HBasicBlock* GetBlock() const { return block_; } in GetBlock() function 2282 return IsLoopHeaderPhi() && GetBlock()->GetLoopInformation()->IsIrreducible(); in IsIrreducibleLoopHeaderPhi() 2395 ArenaAllocator* allocator = user->GetBlock()->GetGraph()->GetAllocator(); in AddUseAt() 2407 new (GetBlock()->GetGraph()->GetAllocator()) HUseListNode<HEnvironment*>(user, index); in AddEnvUseAt() 2497 ArenaAllocator* allocator = GetBlock()->GetGraph()->GetAllocator(); in CopyEnvironmentFrom() 2508 ArenaAllocator* allocator = GetBlock()->GetGraph()->GetAllocator(); in CopyEnvironmentFromWithLoopPhiAdjustment() 2628 bool IsSuspendCheckEntry() const { return IsSuspendCheck() && GetBlock()->IsEntryBlock(); } in IsSuspendCheckEntry() 3141 bool IsCatchPhi() const { return GetBlock()->IsCatchBlock(); } 3167 && other->AsPhi()->GetBlock() == GetBlock() [all …]
|