/aosp12/art/compiler/optimizing/ |
H A 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() 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() 193 EXPECT_EQ(set_array->GetBlock(), loop_body_); in TEST_F() [all …]
|
H A 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() 312 HBasicBlock* block = instruction->GetBlock(); in VisitRem() 356 HBasicBlock* block = instruction->GetBlock(); in VisitSub() [all …]
|
H A D | instruction_simplifier_shared.cc | 82 mul->GetBlock()->ReplaceAndRemoveInstructionWith(mul, mulacc); in TrySimpleMultiplyAccumulatePatterns() 83 input_binop->GetBlock()->RemoveInstruction(input_binop); in TrySimpleMultiplyAccumulatePatterns() 148 mul->GetBlock()->RemoveInstruction(mul); in TryCombineMultiplyAccumulate() 161 mul->GetBlock()->RemoveInstruction(mul); in TryCombineMultiplyAccumulate() 222 op->GetBlock()->ReplaceAndRemoveInstructionWith(op, neg_op); in TryMergeNegatedInput() 223 hnot->GetBlock()->RemoveInstruction(hnot); in TryMergeNegatedInput() 257 HGraph* graph = access->GetBlock()->GetGraph(); in TryExtractArrayAccessAddress() 264 access->GetBlock()->InsertInstructionBefore(address, access); in TryExtractArrayAccessAddress() 291 HGraph* graph = access->GetBlock()->GetGraph(); in TryExtractVecArrayAccessAddress() 333 access->GetBlock()->InsertInstructionBefore(address, access); in TryExtractVecArrayAccessAddress() [all …]
|
H A D | instruction_simplifier.cc | 247 left->GetBlock()->RemoveInstruction(left); in TryDeMorganNegationFactoring() 248 right->GetBlock()->RemoveInstruction(right); in TryDeMorganNegationFactoring() 356 mul->GetBlock()->RemoveInstruction(mul); in TryCombineVecMultiplyAccumulate() 444 ushr->GetBlock()->RemoveInstruction(ushr); in ReplaceRotateWithRor() 450 shl->GetBlock()->RemoveInstruction(shl); in ReplaceRotateWithRor() 785 HBasicBlock* block = equal->GetBlock(); in VisitEqual() 977 if (!target->IsPhi() || !default_val->IsPhi() || default_val->GetBlock() != target->GetBlock()) { in VisitPredicatedInstanceFieldGet() 1410 neg->GetBlock()->RemoveInstruction(neg); in VisitAdd() 1727 left->GetBlock()->RemoveInstruction(left); in VisitCondition() 2565 HBasicBlock* block = invoke->GetBlock(); in TryReplaceStringBuilderAppend() [all …]
|
H A 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 …]
|
H A 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()
|
H A 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()
|
H A 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() 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() 289 ASSERT_EQ(field_get_in_loop_body->GetBlock(), loop_body); in TEST_F() 292 ASSERT_TRUE(field_get_in_exit->GetBlock() == nullptr); in TEST_F() [all …]
|
H A D | graph_checker.cc | 346 if (!load->GetBlock()->IsCatchBlock()) { in VisitLoadException() 368 if (instruction->GetBlock() == nullptr) { in VisitInstruction() 373 } else if (instruction->GetBlock() != current_block_) { in VisitInstruction() 383 if (input->GetBlock() == nullptr) { in VisitInstruction() 390 ? input->GetBlock()->GetPhis() in VisitInstruction() 391 : input->GetBlock()->GetInstructions(); in VisitInstruction() 406 ? user->GetBlock()->GetPhis() in VisitInstruction() 407 : user->GetBlock()->GetInstructions(); in VisitInstruction() 883 if (!(input->GetBlock() == predecessor in VisitPhi() 984 HBasicBlock* block = instruction->GetBlock(); in VisitPackedSwitch() [all …]
|
H A D | bounds_check_elimination.cc | 388 return induction_variable_->GetBlock(); in GetLoopHeader() 617 if (instruction->GetBlock() != basic_block) { in ApplyRangeFromComparison() 634 if (instruction->GetBlock() != left->GetBlock()) { in HandleIfBetweenTwoMonotonicValueRanges() 693 HBasicBlock* block = instruction->GetBlock(); in HandleIf() 824 HBasicBlock* block = bounds_check->GetBlock(); in VisitBoundsCheck() 939 *phi->GetBlock()->GetPredecessors()[1])); in HasSameInputAtBackEdges() 1110 AssignRange(add->GetBlock(), add, range); in VisitAdd() 1129 AssignRange(sub->GetBlock(), sub, range); in VisitSub() 1441 if (block == user->GetBlock() || in AddComparesWithDeoptimization() 1797 if (instruction->GetBlock() == header) { in GetPreHeader() [all …]
|
H A 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()
|
H A 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()
|
H A 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()
|
H A 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()
|
H A 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() 1085 HandleExit(instruction->GetBlock()); in VisitReturn() 1089 HandleExit(return_void->GetBlock()); in VisitReturnVoid() 1093 HandleExit(throw_instruction->GetBlock()); in VisitThrow() 1512 CHECK(ref->GetBlock() != block && ref->GetBlock()->Dominates(block)) in PrepareLoopValue() 1826 HandleExit(instruction->GetBlock()); in VisitSetLocation() 3141 if (ins->IsPhi() && merged_inst->IsPhi() && ins->GetBlock() == merged_inst->GetBlock()) { in ReplaceInput() 3152 if (ins->GetBlock() == nullptr) { in RemoveAndReplaceInputs() [all …]
|
H A D | superblock_cloner.cc | 46 if (!bb_set.IsBitSet(user->GetBlock()->GetBlockId())) { in IsUsedOutsideRegion() 121 if (!IsInOrigBBSet(orig_input->GetBlock())) { in ReplaceInputsWithCopies() 427 HBasicBlock* phi_block = phi->GetBlock(); in ResolvePhi() 430 HBasicBlock* input_block = input->GetBlock(); in ResolvePhi() 648 if (!IsInOrigBBSet(user->GetBlock())) { in ConstructSubgraphClosedSSA() 717 DCHECK(orig_input->GetBlock()->Dominates(orig_instr->GetBlock())); in CheckInstructionInputsRemapping() 721 if (!IsInOrigBBSet(orig_input->GetBlock())) { in CheckInstructionInputsRemapping() 725 DCHECK(copy_input->GetBlock()->Dominates(copy_instr->GetBlock())); in CheckInstructionInputsRemapping() 742 DCHECK(copy_input->GetBlock()->Dominates(copy_instr->GetBlock())); in CheckInstructionInputsRemapping() 780 DCHECK(it.first->GetBlock() != nullptr); in VerifyGraph() [all …]
|
H A 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()
|
H A D | nodes.cc | 1135 DCHECK(initial->GetBlock() == this); in ReplaceAndRemovePhiWith() 1143 DCHECK(initial->GetBlock() == this); in ReplaceAndRemoveInstructionWith() 1188 DCHECK_EQ(cursor->GetBlock(), this); in InsertInstructionBefore() 1201 DCHECK_EQ(cursor->GetBlock(), this); in InsertInstructionAfter() 1213 DCHECK_EQ(cursor->GetBlock(), this); in InsertPhiAfter() 1320 HGraph* graph = (GetBlock() != nullptr) ? GetBlock()->GetGraph() : nullptr; in Dump() 1448 DCHECK_EQ(instruction1->GetBlock(), instruction2->GetBlock()); in FoundBefore() 1466 HBasicBlock* block = GetBlock(); in StrictlyDominates() 1469 return GetBlock()->Dominates(other_instruction->GetBlock()); in StrictlyDominates() 2111 DCHECK_EQ(cursor->GetBlock(), this); in SplitBefore() [all …]
|
H A 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()
|
H A 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()
|
H A D | nodes.h | 2239 HBasicBlock* GetBlock() const { return block_; } in GetBlock() function 3084 && other->AsPhi()->GetBlock() == GetBlock() 3154 return GetBlock()->GetSingleSuccessor(); 3425 return GetBlock()->GetSuccessors()[0]; 3429 return GetBlock()->GetSuccessors()[1]; 3484 GetBlock()->AddSuccessor(handler); 5278 return GetBlock()->GetGraph()->GetIntConstant( 6411 DCHECK_EQ(GetBlock(), other->GetBlock()); 6931 DCHECK(GetBlock() == nullptr); 7095 DCHECK(GetBlock() == nullptr); [all …]
|
H A 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()
|
H A 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()
|
H A 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()
|
H A D | inliner.cc | 509 HBasicBlock* bb_cursor = invoke_instruction->GetBlock(); in TryInlineFromCHA() 772 HBasicBlock* bb_cursor = invoke_instruction->GetBlock(); in TryInlineMonomorphicCall() 905 old_instruction->GetBlock()->RemoveInstruction(old_instruction); in MaybeReplaceAndRemove() 940 HBasicBlock* bb_cursor = invoke_instruction->GetBlock(); in TryInlinePolymorphicCall() 1002 HBasicBlock* cursor_block = compare->GetBlock(); in CreateDiamondPatternForPolymorphicInline() 1003 HBasicBlock* original_invoke_block = invoke_instruction->GetBlock(); in CreateDiamondPatternForPolymorphicInline() 1014 HBasicBlock* end_then = invoke_instruction->GetBlock(); in CreateDiamondPatternForPolymorphicInline() 1121 HBasicBlock* bb_cursor = invoke_instruction->GetBlock(); in TryInlinePolymorphicCallToSameTarget() 1535 invoke_instruction->GetBlock()->InsertInstructionBefore(iget, invoke_instruction); in TryPatternSubstitution() 1550 invoke_instruction->GetBlock()->InsertInstructionBefore(iput, invoke_instruction); in TryPatternSubstitution() [all …]
|