/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() 128 if (!discard_blocks.IsBitSet(instruction->GetBlock()->GetBlockId()) && in AddInstruction() 162 !post_dominated.IsBitSet(user->GetBlock()->GetBlockId()); in ShouldFilterUse() 166 !post_dominated.IsBitSet(user->GetBlock()->GetBlockId()); in ShouldFilterUse() 187 HBasicBlock* block = user->GetBlock(); in FindIdealPosition() 201 finder.Update(use.GetUser()->GetHolder()->GetBlock()); in FindIdealPosition() 227 if (use.GetUser()->GetBlock() == target_block && in FindIdealPosition() 234 if (user->GetBlock() == target_block && in FindIdealPosition() 327 if (!post_dominated.IsBitSet(user->GetBlock()->GetBlockId()) && in SinkCodeToUncommonBranch() 337 !user->GetBlock()->Dominates(common_dominator)) { in SinkCodeToUncommonBranch() [all …]
|
D | instruction_simplifier.cc | 210 left_neg->GetBlock()->RemoveInstruction(left_neg); in TryMoveNegOnInputsAfterBinop() 211 right_neg->GetBlock()->RemoveInstruction(right_neg); in TryMoveNegOnInputsAfterBinop() 213 binop->GetBlock()->InsertInstructionBefore(neg, binop->GetNext()); in TryMoveNegOnInputsAfterBinop() 245 left->GetBlock()->RemoveInstruction(left); in TryDeMorganNegationFactoring() 246 right->GetBlock()->RemoveInstruction(right); in TryDeMorganNegationFactoring() 262 op->GetBlock()->InsertInstructionBefore(hbin, op); in TryDeMorganNegationFactoring() 263 op->GetBlock()->ReplaceAndRemoveInstructionWith(op, hnot); in TryDeMorganNegationFactoring() 289 ArenaAllocator* allocator = mul->GetBlock()->GetGraph()->GetAllocator(); in TryCombineVecMultiplyAccumulate() 331 binop->GetBlock()->ReplaceAndRemoveInstructionWith(binop, mulacc); in TryCombineVecMultiplyAccumulate() 333 mul->GetBlock()->RemoveInstruction(mul); in TryCombineVecMultiplyAccumulate() [all …]
|
D | load_store_elimination.cc | 138 use.GetUser()->GetBlock()->Dominates(instruction->GetBlock()) && in FindOrAddTypeConversionIfNecessary() 141 (use.GetUser()->GetBlock() == instruction->GetBlock() || in FindOrAddTypeConversionIfNecessary() 143 if (use.GetUser()->GetBlock() == instruction->GetBlock() && in FindOrAddTypeConversionIfNecessary() 144 use.GetUser()->GetBlock()->GetInstructions().FoundBefore(instruction, use.GetUser())) { in FindOrAddTypeConversionIfNecessary() 156 instruction->GetBlock()->InsertInstructionBefore(type_conversion, instruction); in FindOrAddTypeConversionIfNecessary() 219 load->GetBlock()->RemoveInstruction(load); in RemoveInstructions() 225 store->GetBlock()->RemoveInstruction(store); in RemoveInstructions() 239 new_instance->GetBlock()->RemoveInstruction(new_instance); in RemoveInstructions() 416 !singleton_ref->GetBlock()->Dominates(predecessor)) { in MergePredecessorValues() 479 DCHECK((singleton_ref->GetBlock() == block) || in MergePredecessorValues() [all …]
|
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() 174 check->GetBlock()->RemoveInstruction(check); in VisitClinitCheck() 226 constructor_fence->GetBlock()->RemoveInstruction(constructor_fence); in VisitConstructorFence() 291 if (user->GetBlock() != input->GetBlock()) { in CanMoveClinitCheck() 312 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() 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 | 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 | 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 | 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 | 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 | nodes.cc | 662 if ((cached_null_constant_ == nullptr) || (cached_null_constant_->GetBlock() == nullptr)) { in GetNullConstant() 678 if ((cached_current_method_ == nullptr) || (cached_current_method_->GetBlock() == nullptr)) { in GetCurrentMethod() 894 return !blocks_.IsBitSet(instruction->GetBlock()->GetBlockId()); in IsDefinedOutOfTheLoop() 961 DCHECK(initial->GetBlock() == this); in ReplaceAndRemovePhiWith() 969 DCHECK(initial->GetBlock() == this); in ReplaceAndRemoveInstructionWith() 975 DCHECK_EQ(initial->GetBlock(), this); in ReplaceAndRemoveInstructionWith() 993 DCHECK(instruction->GetBlock() == nullptr); in Add() 1014 DCHECK_EQ(cursor->GetBlock(), this); in InsertInstructionBefore() 1027 DCHECK_EQ(cursor->GetBlock(), this); in InsertInstructionAfter() 1039 DCHECK_EQ(cursor->GetBlock(), this); in InsertPhiAfter() [all …]
|
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 | 333 << " is in block " << other->GetBlock()->GetBlockId() in AddDependencies() 334 << ", and expected in block " << instruction->GetBlock()->GetBlockId(); in AddDependencies() 585 CHECK_EQ(instruction->GetBlock(), block) in Schedule() 587 << " is in block " << instruction->GetBlock()->GetBlockId() in Schedule() 664 DCHECK_EQ(instruction->GetBlock(), cursor->GetBlock()); in MoveAfterInBlock() 665 DCHECK_NE(cursor, cursor->GetBlock()->GetLastInstruction()); in MoveAfterInBlock()
|
D | nodes.h | 713 if (constant == nullptr || constant->GetBlock() == nullptr) { 2128 HBasicBlock* GetBlock() const { return block_; } in GetBlock() function 2135 return IsLoopHeaderPhi() && GetBlock()->GetLoopInformation()->IsIrreducible(); in IsIrreducibleLoopHeaderPhi() 2239 new (GetBlock()->GetGraph()->GetAllocator()) HUseListNode<HInstruction*>(user, index); in AddUseAt() 2249 new (GetBlock()->GetGraph()->GetAllocator()) HUseListNode<HEnvironment*>(user, index); in AddEnvUseAt() 2332 ArenaAllocator* allocator = GetBlock()->GetGraph()->GetAllocator(); in CopyEnvironmentFrom() 2343 ArenaAllocator* allocator = GetBlock()->GetGraph()->GetAllocator(); in CopyEnvironmentFromWithLoopPhiAdjustment() 2450 bool IsSuspendCheckEntry() const { return IsSuspendCheck() && GetBlock()->IsEntryBlock(); } in IsSuspendCheckEntry() 2868 bool IsCatchPhi() const { return GetBlock()->IsCatchBlock(); } in IsCatchPhi() 2894 && other->AsPhi()->GetBlock() == GetBlock() in IsVRegEquivalentOf() [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 | inliner.cc | 880 HBasicBlock* bb_cursor = invoke_instruction->GetBlock(); in TryInlineMonomorphicCall() 1043 HBasicBlock* bb_cursor = invoke_instruction->GetBlock(); in TryInlinePolymorphicCall() 1078 invoke_instruction->GetBlock()->RemoveInstruction(invoke_instruction); in TryInlinePolymorphicCall() 1111 HBasicBlock* cursor_block = compare->GetBlock(); in CreateDiamondPatternForPolymorphicInline() 1112 HBasicBlock* original_invoke_block = invoke_instruction->GetBlock(); in CreateDiamondPatternForPolymorphicInline() 1123 HBasicBlock* end_then = invoke_instruction->GetBlock(); in CreateDiamondPatternForPolymorphicInline() 1231 HBasicBlock* bb_cursor = invoke_instruction->GetBlock(); in TryInlinePolymorphicCallToSameTarget() 1289 invoke_instruction->GetBlock()->RemoveInstruction(invoke_instruction); in TryInlinePolymorphicCallToSameTarget() 1315 HBasicBlock* bb_cursor = invoke_instruction->GetBlock(); in TryInlineAndReplace() 1338 invoke_instruction->GetBlock()->InsertInstructionBefore(new_invoke, invoke_instruction); in TryInlineAndReplace() [all …]
|
D | ssa_phi_elimination.cc | 193 current->GetBlock()->IsLoopPreHeaderFirstPredecessor()); in Run() 256 current->GetBlock()->RemovePhi(current); in Run()
|
D | nodes_shared.h | 101 return GetBlock()->GetGraph()->GetIntConstant( in Evaluate() 105 return GetBlock()->GetGraph()->GetLongConstant( in Evaluate()
|