/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_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 | 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 | 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 | 203 left_neg->GetBlock()->RemoveInstruction(left_neg); in TryMoveNegOnInputsAfterBinop() 204 right_neg->GetBlock()->RemoveInstruction(right_neg); in TryMoveNegOnInputsAfterBinop() 206 binop->GetBlock()->InsertInstructionBefore(neg, binop->GetNext()); in TryMoveNegOnInputsAfterBinop() 238 left->GetBlock()->RemoveInstruction(left); in TryDeMorganNegationFactoring() 239 right->GetBlock()->RemoveInstruction(right); in TryDeMorganNegationFactoring() 255 op->GetBlock()->InsertInstructionBefore(hbin, op); in TryDeMorganNegationFactoring() 256 op->GetBlock()->ReplaceAndRemoveInstructionWith(op, hnot); in TryDeMorganNegationFactoring() 293 ArenaAllocator* allocator = mul->GetBlock()->GetGraph()->GetAllocator(); in TryCombineVecMultiplyAccumulate() 335 binop->GetBlock()->ReplaceAndRemoveInstructionWith(binop, mulacc); in TryCombineVecMultiplyAccumulate() 337 mul->GetBlock()->RemoveInstruction(mul); in TryCombineVecMultiplyAccumulate() [all …]
|
D | load_store_elimination.cc | 130 instruction->GetBlock()->InsertInstructionBefore(type_conversion, instruction); in AddTypeConversionIfNecessary() 181 type_conversion->GetBlock()->Dominates(load2->GetBlock()) && in TryToReuseTypeConversion() 184 (load2->GetBlock() == type_conversion->GetBlock() || in TryToReuseTypeConversion() 189 load2->GetBlock()->RemoveInstruction(load2); in TryToReuseTypeConversion() 238 load->GetBlock()->RemoveInstruction(load); in RemoveInstructions() 244 store->GetBlock()->RemoveInstruction(store); in RemoveInstructions() 258 new_instance->GetBlock()->RemoveInstruction(new_instance); in RemoveInstructions() 422 !singleton_ref->GetBlock()->Dominates(predecessor)) { in MergePredecessorValues() 485 DCHECK((singleton_ref->GetBlock() == block) || in MergePredecessorValues() 486 !singleton_ref->GetBlock()->Dominates(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 | graph_checker.cc | 345 if (!load->GetBlock()->IsCatchBlock()) { in VisitLoadException() 349 load->GetBlock()->GetBlockId())); in VisitLoadException() 350 } else if (load->GetBlock()->GetFirstInstruction() != load) { in VisitLoadException() 354 load->GetBlock()->GetBlockId())); in VisitLoadException() 367 if (instruction->GetBlock() == nullptr) { in VisitInstruction() 372 } else if (instruction->GetBlock() != current_block_) { in VisitInstruction() 377 instruction->GetBlock()->GetBlockId())); in VisitInstruction() 382 if (input->GetBlock() == nullptr) { in VisitInstruction() 389 ? input->GetBlock()->GetPhis() in VisitInstruction() 390 : input->GetBlock()->GetInstructions(); in VisitInstruction() [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 | 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() 393 HBasicBlock* phi_block = phi->GetBlock(); in ResolvePhi() 396 HBasicBlock* input_block = input->GetBlock(); in ResolvePhi() 608 if (!IsInOrigBBSet(user->GetBlock())) { in ConstructSubgraphClosedSSA() 619 if (!IsInOrigBBSet(env->GetHolder()->GetBlock())) { in ConstructSubgraphClosedSSA() 676 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() 593 constant->GetBlock()->InsertInstructionBefore(result, constant->GetNext()); in GetFloatEquivalent() 615 constant->GetBlock()->InsertInstructionBefore(result, constant->GetNext()); in GetDoubleEquivalent() 656 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 | 663 if ((cached_null_constant_ == nullptr) || (cached_null_constant_->GetBlock() == nullptr)) { in GetNullConstant() 679 if ((cached_current_method_ == nullptr) || (cached_current_method_->GetBlock() == nullptr)) { in GetCurrentMethod() 895 return !blocks_.IsBitSet(instruction->GetBlock()->GetBlockId()); in IsDefinedOutOfTheLoop() 962 DCHECK(initial->GetBlock() == this); in ReplaceAndRemovePhiWith() 970 DCHECK(initial->GetBlock() == this); in ReplaceAndRemoveInstructionWith() 976 DCHECK_EQ(initial->GetBlock(), this); in ReplaceAndRemoveInstructionWith() 994 DCHECK(instruction->GetBlock() == nullptr); in Add() 1015 DCHECK_EQ(cursor->GetBlock(), this); in InsertInstructionBefore() 1028 DCHECK_EQ(cursor->GetBlock(), this); in InsertInstructionAfter() 1040 DCHECK_EQ(cursor->GetBlock(), this); in InsertPhiAfter() [all …]
|
D | select_generator.cc | 52 instruction->AsSelect()->GetCondition()->GetBlock() == block) { in IsSimpleBlock() 189 DCHECK_EQ(only_two_predecessors, phi->GetBlock() == nullptr); in Run() 211 cached->GetBlock()->RemoveInstruction(cached); in Run()
|
D | instruction_simplifier_mips.cc | 74 HGraph* graph = access->GetBlock()->GetGraph(); in TryExtractArrayAccessIndex() 115 access->GetBlock()->InsertInstructionBefore(address, access); in TryExtractArrayAccessIndex()
|
D | reference_type_propagation.cc | 236 DCHECK(!dominator_block->Dominates(user->GetBlock()) in ShouldCreateBoundType() 269 : start_block->Dominates(user->GetBlock()); in BoundTypeIn() 280 bound_type = new (receiver->GetBlock()->GetGraph()->GetAllocator()) HBoundType(receiver); in BoundTypeIn() 580 instr->SetReferenceTypeInfo(instr->GetBlock()->GetGraph()->GetInexactObjectRti()); in SetClassAsTypeInfo() 650 instr->SetReferenceTypeInfo(instr->GetBlock()->GetGraph()->GetInexactObjectRti()); in VisitUnresolvedInstanceFieldGet() 658 instr->SetReferenceTypeInfo(instr->GetBlock()->GetGraph()->GetInexactObjectRti()); in VisitUnresolvedStaticFieldGet() 699 DCHECK(instr->GetBlock()->IsCatchBlock()); in VisitLoadException() 700 TryCatchInformation* catch_info = instr->GetBlock()->GetTryCatchInformation(); in VisitLoadException() 751 instr->GetBlock()->RemoveInstruction(instr); in VisitBoundType() 786 if (phi->GetBlock()->IsLoopHeader()) { in VisitPhi() [all …]
|
D | nodes.h | 643 if (constant == nullptr || constant->GetBlock() == nullptr) { 2057 HBasicBlock* GetBlock() const { return block_; } in GetBlock() function 2064 return IsLoopHeaderPhi() && GetBlock()->GetLoopInformation()->IsIrreducible(); in IsIrreducibleLoopHeaderPhi() 2167 new (GetBlock()->GetGraph()->GetAllocator()) HUseListNode<HInstruction*>(user, index); in AddUseAt() 2177 new (GetBlock()->GetGraph()->GetAllocator()) HUseListNode<HEnvironment*>(user, index); in AddEnvUseAt() 2260 ArenaAllocator* allocator = GetBlock()->GetGraph()->GetAllocator(); in CopyEnvironmentFrom() 2271 ArenaAllocator* allocator = GetBlock()->GetGraph()->GetAllocator(); in CopyEnvironmentFromWithLoopPhiAdjustment() 2378 bool IsSuspendCheckEntry() const { return IsSuspendCheck() && GetBlock()->IsEntryBlock(); } in IsSuspendCheckEntry() 2796 bool IsCatchPhi() const { return GetBlock()->IsCatchBlock(); } in IsCatchPhi() 2822 && other->AsPhi()->GetBlock() == GetBlock() in IsVRegEquivalentOf() [all …]
|
D | scheduler.cc | 317 << " is in block " << other->GetBlock()->GetBlockId() in AddDependencies() 318 << ", and expected in block " << instruction->GetBlock()->GetBlockId(); in AddDependencies() 600 CHECK_EQ(instruction->GetBlock(), block) in Schedule() 602 << " is in block " << instruction->GetBlock()->GetBlockId() in Schedule() 679 DCHECK_EQ(instruction->GetBlock(), cursor->GetBlock()); in MoveAfterInBlock() 680 DCHECK_NE(cursor, cursor->GetBlock()->GetLastInstruction()); in MoveAfterInBlock()
|
D | register_allocation_resolver.cc | 413 return instruction->GetBlock()->GetGraph()->HasIrreducibleLoops() && in IsMaterializableEntryBlockInstructionOfGraphWithIrreducibleLoop() 540 user->GetBlock()->InsertInstructionBefore(move, user); in AddInputMoveFor() 575 at = at->GetBlock()->GetFirstInstruction(); in InsertParallelMoveAt() 588 at->GetBlock()->InsertInstructionBefore(move, at); in InsertParallelMoveAt() 603 at->GetBlock()->InsertInstructionBefore(move, at->GetNext()); in InsertParallelMoveAt() 619 at->GetBlock()->InsertInstructionBefore(move, at); in InsertParallelMoveAt() 685 InsertParallelMoveAtEntryOf(instruction->GetBlock(), instruction, source, destination); in InsertMoveAfter() 697 instruction->GetBlock()->InsertInstructionBefore(move, instruction->GetNext()); in InsertMoveAfter()
|
D | inliner.cc | 865 HBasicBlock* bb_cursor = invoke_instruction->GetBlock(); in TryInlineMonomorphicCall() 1029 HBasicBlock* bb_cursor = invoke_instruction->GetBlock(); in TryInlinePolymorphicCall() 1064 invoke_instruction->GetBlock()->RemoveInstruction(invoke_instruction); in TryInlinePolymorphicCall() 1098 HBasicBlock* cursor_block = compare->GetBlock(); in CreateDiamondPatternForPolymorphicInline() 1099 HBasicBlock* original_invoke_block = invoke_instruction->GetBlock(); in CreateDiamondPatternForPolymorphicInline() 1110 HBasicBlock* end_then = invoke_instruction->GetBlock(); in CreateDiamondPatternForPolymorphicInline() 1218 HBasicBlock* bb_cursor = invoke_instruction->GetBlock(); in TryInlinePolymorphicCallToSameTarget() 1276 invoke_instruction->GetBlock()->RemoveInstruction(invoke_instruction); in TryInlinePolymorphicCallToSameTarget() 1303 HBasicBlock* bb_cursor = invoke_instruction->GetBlock(); in TryInlineAndReplace() 1326 invoke_instruction->GetBlock()->InsertInstructionBefore(new_invoke, invoke_instruction); in TryInlineAndReplace() [all …]
|