/art/compiler/optimizing/ |
D | licm_test.cc | 137 EXPECT_EQ(get_field->GetBlock(), loop_body_); in TEST_F() 138 EXPECT_EQ(set_field->GetBlock(), loop_body_); in TEST_F() 140 EXPECT_EQ(get_field->GetBlock(), loop_preheader_); in TEST_F() 141 EXPECT_EQ(set_field->GetBlock(), loop_body_); in TEST_F() 171 EXPECT_EQ(get_field->GetBlock(), loop_body_); in TEST_F() 172 EXPECT_EQ(set_field->GetBlock(), loop_body_); in TEST_F() 174 EXPECT_EQ(get_field->GetBlock(), loop_body_); in TEST_F() 175 EXPECT_EQ(set_field->GetBlock(), loop_body_); in TEST_F() 189 EXPECT_EQ(get_array->GetBlock(), loop_body_); in TEST_F() 190 EXPECT_EQ(set_array->GetBlock(), loop_body_); in TEST_F() [all …]
|
D | constant_folding.cc | 97 inst->GetBlock()->RemoveInstruction(inst); in VisitUnaryOperation() 107 inst->GetBlock()->RemoveInstruction(inst); in VisitBinaryOperation() 120 inst->GetBlock()->RemoveInstruction(inst); in VisitTypeConversion() 129 inst->GetBlock()->RemoveInstruction(inst); in VisitDivZeroCheck() 143 instruction->GetBlock()->RemoveInstruction(instruction); in VisitShift() 155 instruction->GetBlock()->RemoveInstruction(instruction); in VisitEqual() 167 instruction->GetBlock()->RemoveInstruction(instruction); in VisitNotEqual() 179 instruction->GetBlock()->RemoveInstruction(instruction); in VisitAbove() 191 instruction->GetBlock()->RemoveInstruction(instruction); in VisitAboveOrEqual() 203 instruction->GetBlock()->RemoveInstruction(instruction); in VisitBelow() [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 | instruction_simplifier_x86_shared.cc | 43 ArenaAllocator* arena = instruction->GetBlock()->GetGraph()->GetAllocator(); in TryCombineAndNot() 48 instruction->GetBlock()->ReplaceAndRemoveInstructionWith(instruction, and_not); in TryCombineAndNot() 50 not_ins->GetBlock()->RemoveInstruction(not_ins); in TryCombineAndNot() 79 ArenaAllocator* arena = instruction->GetBlock()->GetGraph()->GetAllocator(); in TryGenerateResetLeastSetBit() 82 instruction->GetBlock()->ReplaceAndRemoveInstructionWith(instruction, lsb); in TryGenerateResetLeastSetBit() 84 candidate->GetBlock()->RemoveInstruction(candidate); in TryGenerateResetLeastSetBit() 112 ArenaAllocator* arena = instruction->GetBlock()->GetGraph()->GetAllocator(); in TryGenerateMaskUptoLeastSetBit() 115 instruction->GetBlock()->ReplaceAndRemoveInstructionWith(instruction, lsb); in TryGenerateMaskUptoLeastSetBit() 117 candidate->GetBlock()->RemoveInstruction(candidate); in TryGenerateMaskUptoLeastSetBit()
|
D | code_sinking.cc | 48 if (instruction->GetBlock() == instruction->GetBlock()->GetGraph()->GetEntryBlock()) { in IsInterestingInstruction() 129 if (!discard_blocks.IsBitSet(instruction->GetBlock()->GetBlockId()) && in AddInstruction() 163 !post_dominated.IsBitSet(user->GetBlock()->GetBlockId()); in ShouldFilterUse() 167 !post_dominated.IsBitSet(user->GetBlock()->GetBlockId()); in ShouldFilterUse() 188 HBasicBlock* block = user->GetBlock(); in FindIdealPosition() 202 finder.Update(use.GetUser()->GetHolder()->GetBlock()); in FindIdealPosition() 228 if (use.GetUser()->GetBlock() == target_block && in FindIdealPosition() 235 if (user->GetBlock() == target_block && in FindIdealPosition() 328 if (!post_dominated.IsBitSet(user->GetBlock()->GetBlockId()) && in SinkCodeToUncommonBranch() 338 !user->GetBlock()->Dominates(common_dominator)) { in SinkCodeToUncommonBranch() [all …]
|
D | instruction_simplifier.cc | 212 left_neg->GetBlock()->RemoveInstruction(left_neg); in TryMoveNegOnInputsAfterBinop() 213 right_neg->GetBlock()->RemoveInstruction(right_neg); in TryMoveNegOnInputsAfterBinop() 215 binop->GetBlock()->InsertInstructionBefore(neg, binop->GetNext()); in TryMoveNegOnInputsAfterBinop() 247 left->GetBlock()->RemoveInstruction(left); in TryDeMorganNegationFactoring() 248 right->GetBlock()->RemoveInstruction(right); in TryDeMorganNegationFactoring() 264 op->GetBlock()->InsertInstructionBefore(hbin, op); in TryDeMorganNegationFactoring() 265 op->GetBlock()->ReplaceAndRemoveInstructionWith(op, hnot); in TryDeMorganNegationFactoring() 291 ArenaAllocator* allocator = mul->GetBlock()->GetGraph()->GetAllocator(); in TryCombineVecMultiplyAccumulate() 349 vec_binop->GetBlock()->ReplaceAndRemoveInstructionWith(vec_binop, mulacc); in TryCombineVecMultiplyAccumulate() 356 mul->GetBlock()->RemoveInstruction(mul); in TryCombineVecMultiplyAccumulate() [all …]
|
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 | gvn_test.cc | 96 ASSERT_EQ(to_remove->GetBlock(), block); in TEST_F() 97 ASSERT_EQ(different_offset->GetBlock(), block); in TEST_F() 98 ASSERT_EQ(use_after_kill->GetBlock(), block); in TEST_F() 105 ASSERT_TRUE(to_remove->GetBlock() == nullptr); in TEST_F() 106 ASSERT_EQ(different_offset->GetBlock(), block); in TEST_F() 107 ASSERT_EQ(use_after_kill->GetBlock(), block); in TEST_F() 276 ASSERT_EQ(field_get_in_loop_header->GetBlock(), loop_header); in TEST_F() 277 ASSERT_EQ(field_get_in_loop_body->GetBlock(), loop_body); in TEST_F() 278 ASSERT_EQ(field_get_in_exit->GetBlock(), exit); in TEST_F() 288 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() 315 instruction->GetBlock()->RemoveInstruction(instruction); in VisitTypeConversion()
|
D | graph_checker.cc | 346 if (!load->GetBlock()->IsCatchBlock()) { in VisitLoadException() 350 load->GetBlock()->GetBlockId())); in VisitLoadException() 351 } else if (load->GetBlock()->GetFirstInstruction() != load) { in VisitLoadException() 355 load->GetBlock()->GetBlockId())); in VisitLoadException() 368 if (instruction->GetBlock() == nullptr) { in VisitInstruction() 373 } else if (instruction->GetBlock() != current_block_) { in VisitInstruction() 378 instruction->GetBlock()->GetBlockId())); in VisitInstruction() 383 if (input->GetBlock() == nullptr) { in VisitInstruction() 390 ? input->GetBlock()->GetPhis() in VisitInstruction() 391 : input->GetBlock()->GetInstructions(); in VisitInstruction() [all …]
|
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() 240 block_has_cha_guard_[flag->GetBlock()->GetBlockId()] = 1; in VisitShouldDeoptimizeFlag()
|
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 | bounds_check_elimination.cc | 387 DCHECK(induction_variable_->GetBlock()->IsLoopHeader()); in GetLoopHeader() 388 return induction_variable_->GetBlock(); in GetLoopHeader() 617 if (instruction->GetBlock() != basic_block) { in ApplyRangeFromComparison() 634 if (instruction->GetBlock() != left->GetBlock()) { in HandleIfBetweenTwoMonotonicValueRanges() 675 ApplyRangeFromComparison(left, instruction->GetBlock(), successor, in HandleIfBetweenTwoMonotonicValueRanges() 684 ApplyRangeFromComparison(right, instruction->GetBlock(), successor, in HandleIfBetweenTwoMonotonicValueRanges() 693 HBasicBlock* block = instruction->GetBlock(); in HandleIf() 709 if (instruction->GetBlock() != loop_head) { in HandleIf() 824 HBasicBlock* block = bounds_check->GetBlock(); in VisitBoundsCheck() 909 HLoopInformation* loop = bounds_check->GetBlock()->GetLoopInformation(); in VisitBoundsCheck() [all …]
|
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() 612 constant->GetBlock()->InsertInstructionBefore(result, constant->GetNext()); in GetFloatEquivalent() 634 constant->GetBlock()->InsertInstructionBefore(result, constant->GetNext()); in GetDoubleEquivalent() 675 phi->GetBlock()->InsertPhiAfter(new_phi, phi); in GetFloatDoubleOrReferenceEquivalentOfPhi()
|
D | load_store_elimination.cc | 723 use.GetUser()->GetBlock()->Dominates(instruction->GetBlock()) && in FindOrAddTypeConversionIfNecessary() 726 (use.GetUser()->GetBlock() == instruction->GetBlock() || in FindOrAddTypeConversionIfNecessary() 728 if (use.GetUser()->GetBlock() == instruction->GetBlock() && in FindOrAddTypeConversionIfNecessary() 729 use.GetUser()->GetBlock()->GetInstructions().FoundBefore(instruction, use.GetUser())) { in FindOrAddTypeConversionIfNecessary() 741 instruction->GetBlock()->InsertInstructionBefore(type_conversion, instruction); in FindOrAddTypeConversionIfNecessary() 868 prev->GetBlock()->RemoveInstruction(prev); in TryRemovingNullCheck() 1039 heap_values_for_[instruction->GetBlock()->GetBlockId()]; in VisitDeoptimize() 1085 HandleExit(instruction->GetBlock()); in VisitReturn() 1089 HandleExit(return_void->GetBlock()); in VisitReturnVoid() 1093 HandleExit(throw_instruction->GetBlock()); in VisitThrow() [all …]
|
D | nodes.cc | 836 if ((cached_null_constant_ == nullptr) || (cached_null_constant_->GetBlock() == nullptr)) { in GetNullConstant() 852 if ((cached_current_method_ == nullptr) || (cached_current_method_->GetBlock() == nullptr)) { in GetCurrentMethod() 1068 return !blocks_.IsBitSet(instruction->GetBlock()->GetBlockId()); in IsDefinedOutOfTheLoop() 1135 DCHECK(initial->GetBlock() == this); in ReplaceAndRemovePhiWith() 1143 DCHECK(initial->GetBlock() == this); in ReplaceAndRemoveInstructionWith() 1149 DCHECK_EQ(initial->GetBlock(), this); in ReplaceAndRemoveInstructionWith() 1167 DCHECK(instruction->GetBlock() == nullptr); in Add() 1188 DCHECK_EQ(cursor->GetBlock(), this); in InsertInstructionBefore() 1201 DCHECK_EQ(cursor->GetBlock(), this); in InsertInstructionAfter() 1213 DCHECK_EQ(cursor->GetBlock(), this); in InsertPhiAfter() [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 | select_generator.cc | 50 instruction->AsSelect()->GetCondition()->GetBlock() == block) { in IsSimpleBlock() 187 DCHECK_EQ(only_two_predecessors, phi->GetBlock() == nullptr); in Run() 209 cached->GetBlock()->RemoveInstruction(cached); in Run()
|
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 | nodes.h | 737 if (constant == nullptr || constant->GetBlock() == nullptr) { 2239 HBasicBlock* GetBlock() const { return block_; } in GetBlock() function 2246 return IsLoopHeaderPhi() && GetBlock()->GetLoopInformation()->IsIrreducible(); in IsIrreducibleLoopHeaderPhi() 2353 ArenaAllocator* allocator = user->GetBlock()->GetGraph()->GetAllocator(); in AddUseAt() 2365 new (GetBlock()->GetGraph()->GetAllocator()) HUseListNode<HEnvironment*>(user, index); in AddEnvUseAt() 2452 ArenaAllocator* allocator = GetBlock()->GetGraph()->GetAllocator(); in CopyEnvironmentFrom() 2463 ArenaAllocator* allocator = GetBlock()->GetGraph()->GetAllocator(); in CopyEnvironmentFromWithLoopPhiAdjustment() 2581 bool IsSuspendCheckEntry() const { return IsSuspendCheck() && GetBlock()->IsEntryBlock(); } in IsSuspendCheckEntry() 3058 bool IsCatchPhi() const { return GetBlock()->IsCatchBlock(); } 3084 && other->AsPhi()->GetBlock() == GetBlock() [all …]
|
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 | ssa_phi_elimination.cc | 193 current->GetBlock()->IsLoopPreHeaderFirstPredecessor()); in Run() 256 current->GetBlock()->RemovePhi(current); in Run()
|