/art/compiler/optimizing/ |
D | escape.cc | 63 (user->IsInstanceFieldSet() && (reference == user->InputAt(1))) || in CalculateEscape() 64 (user->IsUnresolvedInstanceFieldSet() && (reference == user->InputAt(1))) || in CalculateEscape() 65 (user->IsStaticFieldSet() && (reference == user->InputAt(1))) || in CalculateEscape() 66 (user->IsUnresolvedStaticFieldSet() && (reference == user->InputAt(0))) || in CalculateEscape() 67 (user->IsArraySet() && (reference == user->InputAt(2)))) { in CalculateEscape() 74 } else if ((user->IsUnresolvedInstanceFieldGet() && (reference == user->InputAt(0))) || in CalculateEscape() 75 (user->IsUnresolvedInstanceFieldSet() && (reference == user->InputAt(0)))) { in CalculateEscape()
|
D | x86_memory_gen.cc | 36 HArrayLength* array_len = check->InputAt(1)->AsArrayLength(); in VisitBoundsCheck() 43 HInstruction* array = array_len->InputAt(0); in VisitBoundsCheck() 47 if (array->IsConstant() || (array->IsNullCheck() && array->InputAt(0)->IsConstant())) { in VisitBoundsCheck()
|
D | induction_var_analysis.cc | 125 HInstruction* if_expr = ifs->InputAt(0); in IsGuardedBy() 130 if (if_expr->InputAt(0) == a && if_expr->InputAt(1) == b) { in IsGuardedBy() 132 } else if (if_expr->InputAt(1) == a && if_expr->InputAt(0) == b) { in IsGuardedBy() 150 use.GetUser()->InputAt(1) == instruction) { in FindFirstLoopHeaderPhiUse() 361 info = TransferAddSub(LookupInfo(loop, instruction->InputAt(0)), in ClassifyTrivial() 362 LookupInfo(loop, instruction->InputAt(1)), kAdd); in ClassifyTrivial() 364 info = TransferAddSub(LookupInfo(loop, instruction->InputAt(0)), in ClassifyTrivial() 365 LookupInfo(loop, instruction->InputAt(1)), kSub); in ClassifyTrivial() 367 info = TransferNeg(LookupInfo(loop, instruction->InputAt(0))); in ClassifyTrivial() 369 info = TransferMul(LookupInfo(loop, instruction->InputAt(0)), in ClassifyTrivial() [all …]
|
D | dead_code_elimination.cc | 48 HInstruction* condition = if_instruction->InputAt(0); in MarkReachableBlocks() 61 HInstruction* switch_input = switch_instruction->InputAt(0); in MarkReachableBlocks() 104 return (instruction->InputAt(0) == input) || in HasInput() 105 (instruction->InputAt(1) == input); in HasInput() 165 HInstruction* cond = ifs->InputAt(0); in RemoveNonNullControlDependences() 175 HInstruction* obj = cond->InputAt(1); in RemoveNonNullControlDependences() 177 obj = cond->InputAt(0); in RemoveNonNullControlDependences() 178 } else if (!cond->InputAt(0)->IsNullConstant()) { in RemoveNonNullControlDependences() 332 bool has_only_phi_and_if = (last == first) && (last->InputAt(0) == block->GetFirstPhi()); in SimplifyIfs() 338 (last->InputAt(0) == first) && in SimplifyIfs() [all …]
|
D | instruction_simplifier_arm64.cc | 106 left = use->InputAt(0); in TryMergeIntoShifterOperand() 107 right = use->InputAt(1); in TryMergeIntoShifterOperand() 110 right = use->AsNeg()->InputAt(0); in TryMergeIntoShifterOperand() 146 bitfield_op->InputAt(0), in TryMergeIntoShifterOperand() 233 if (instruction->InputAt(1)->IsConstant()) { in VisitShl() 239 if (instruction->InputAt(1)->IsConstant()) { in VisitShr() 246 HInstruction* shl = instruction->GetRight()->InputAt(0); in VisitSub() 247 if (shl->InputAt(1)->IsConstant() && TryReplaceSubSubWithSubAdd(instruction)) { in VisitSub() 268 if (instruction->InputAt(1)->IsConstant()) { in VisitUShr()
|
D | instruction_simplifier_shared.h | 35 return (instruction->IsShl() && instruction->AsShl()->InputAt(1)->IsIntConstant()) || in CanFitInShifterOperand() 36 (instruction->IsShr() && instruction->AsShr()->InputAt(1)->IsIntConstant()) || in CanFitInShifterOperand() 37 (instruction->IsUShr() && instruction->AsUShr()->InputAt(1)->IsIntConstant()); in CanFitInShifterOperand()
|
D | instruction_simplifier_arm.cc | 97 HInstruction* left = use->InputAt(0); in TryMergeIntoShifterOperand() 98 HInstruction* right = use->InputAt(1); in TryMergeIntoShifterOperand() 142 bitfield_op->InputAt(0), in TryMergeIntoShifterOperand() 262 if (instruction->InputAt(1)->IsConstant()) { in VisitShl() 268 if (instruction->InputAt(1)->IsConstant()) { in VisitShr() 275 HInstruction* shl = instruction->GetRight()->InputAt(0); in VisitSub() 276 if (shl->InputAt(1)->IsConstant() && TryReplaceSubSubWithSubAdd(instruction)) { in VisitSub() 297 if (instruction->InputAt(1)->IsConstant()) { in VisitUShr()
|
D | induction_var_range_test.cc | 762 HInstruction* phi = condition_->InputAt(0); in TEST_F() 790 ExpectInt(1000, last->InputAt(0)); in TEST_F() 791 ExpectInt(0, last->InputAt(1)); in TEST_F() 814 HInstruction* phi = condition_->InputAt(0); in TEST_F() 842 ExpectInt(1000, last->InputAt(0)); in TEST_F() 843 ASSERT_TRUE(last->InputAt(1)->IsNeg()); in TEST_F() 844 last = last->InputAt(1)->InputAt(0); in TEST_F() 846 ExpectInt(0, last->InputAt(0)); in TEST_F() 847 ExpectInt(1000, last->InputAt(1)); in TEST_F() 859 last = tce->InputAt(0); in TEST_F() [all …]
|
D | select_generator.cc | 80 if (phi->InputAt(index1) != phi->InputAt(index2)) { in GetSingleChangedPhi() 145 true_value = true_block->GetFirstInstruction()->InputAt(0); in Run() 146 false_value = false_block->GetFirstInstruction()->InputAt(0); in Run() 148 true_value = phi->InputAt(predecessor_index_true); in Run() 149 false_value = phi->InputAt(predecessor_index_false); in Run() 156 HInstruction* condition = if_instruction->InputAt(0); in Run()
|
D | load_store_analysis.h | 232 ref = ref->InputAt(0); in HuntForOriginalReference() 261 HInstruction* array = instruction->InputAt(0); in GetArrayHeapLocation() 262 HInstruction* index = instruction->InputAt(1); in GetArrayHeapLocation() 501 VisitFieldAccess(instruction->InputAt(0), instruction->GetFieldInfo()); in VisitInstanceFieldGet() 506 HeapLocation* location = VisitFieldAccess(instruction->InputAt(0), instruction->GetFieldInfo()); in VisitInstanceFieldSet() 532 VisitFieldAccess(instruction->InputAt(0), instruction->GetFieldInfo()); in VisitStaticFieldGet() 537 VisitFieldAccess(instruction->InputAt(0), instruction->GetFieldInfo()); in VisitStaticFieldSet() 545 HInstruction* array = instruction->InputAt(0); in VisitArrayGet() 546 HInstruction* index = instruction->InputAt(1); in VisitArrayGet() 553 HInstruction* array = instruction->InputAt(0); in VisitArraySet() [all …]
|
D | instruction_simplifier.cc | 238 HInstruction* src_left = left->InputAt(0); in TryDeMorganNegationFactoring() 239 HInstruction* src_right = right->InputAt(0); in TryDeMorganNegationFactoring() 402 DataType::Type source_type = shift_amount->InputAt(0)->GetType(); in VisitShift() 517 if (neg->InputAt(0) == (neg_is_left ? ushr->GetRight() : shl->GetRight())) { in TryReplaceWithRotateRegisterNegPattern() 555 HInstruction* obj = null_check->InputAt(0); in VisitNullCheck() 617 HInstruction* object = check_cast->InputAt(0); in VisitCheckCast() 658 HInstruction* object = instruction->InputAt(0); in VisitInstanceOf() 723 HInstruction *lhs = cond->InputAt(0); in GetOppositeConditionSwapOps() 724 HInstruction *rhs = cond->InputAt(1); in GetOppositeConditionSwapOps() 817 HInstruction* input = bool_not->InputAt(0); in VisitBooleanNot() [all …]
|
D | constructor_fence_redundancy_elimination.cc | 50 candidate_fence_targets_.insert(constructor_fence->InputAt(input_idx)); in VisitConstructorFence() 67 HInstruction* value = instruction->InputAt(1); in VisitInstanceFieldSet() 72 HInstruction* value = instruction->InputAt(1); in VisitStaticFieldSet() 77 HInstruction* value = instruction->InputAt(2); in VisitArraySet() 177 if (IsInterestingPublishTarget(inst->InputAt(input_count))) { in HasInterestingPublishTargetAsInput()
|
D | reference_type_propagation.cc | 145 DCHECK(instr->GetReferenceTypeInfo().IsEqual(instr->InputAt(0)->GetReferenceTypeInfo())) in ValidateTypes() 147 << "Input(0) " << instr->InputAt(0)->GetReferenceTypeInfo(); in ValidateTypes() 258 BoundTypeIn(receiver->InputAt(0), start_block, start_instruction, class_rti); in BoundTypeIn() 269 HInstruction* compare = check->InputAt(0); in BoundTypeForClassCheck() 273 HInstruction* input_one = compare->InputAt(0); in BoundTypeForClassCheck() 274 HInstruction* input_two = compare->InputAt(1); in BoundTypeForClassCheck() 294 HInstruction* receiver = field_get->InputAt(0); in BoundTypeForClassCheck() 362 HInstruction* ifInput = ifInstruction->InputAt(0); in BoundTypeForIfNotNull() 366 HInstruction* input0 = ifInput->InputAt(0); in BoundTypeForIfNotNull() 367 HInstruction* input1 = ifInput->InputAt(1); in BoundTypeForIfNotNull() [all …]
|
D | loop_optimization.cc | 132 HInstruction* conv = instruction->InputAt(0); in IsSignExtensionAndGet() 147 IsZeroExtensionAndGet(instruction->InputAt(0), type, /*out*/ operand); in IsSignExtensionAndGet() 197 HInstruction* conv = instruction->InputAt(0); in IsZeroExtensionAndGet() 210 IsSignExtensionAndGet(instruction->InputAt(0), type, /*out*/ operand); in IsZeroExtensionAndGet() 281 return IsAddConst(instruction->InputAt(0), a, b, c, depth - 1) && in IsAddConst() 282 IsAddConst(instruction->InputAt(1), a, b, c, depth - 1); in IsAddConst() 284 IsInt64AndGet(instruction->InputAt(1), &value)) { in IsAddConst() 286 return IsAddConst(instruction->InputAt(0), a, b, c, depth - 1); in IsAddConst() 328 *a = instruction->InputAt(0); in IsSubConst2() 329 *b = instruction->InputAt(1); in IsSubConst2() [all …]
|
D | intrinsics.cc | 197 if (invoke->InputAt(0)->IsIntConstant()) { in ComputeIntegerValueOfLocations() 198 int32_t value = invoke->InputAt(0)->AsIntConstant()->GetValue(); in ComputeIntegerValueOfLocations() 225 if (invoke->InputAt(0)->IsIntConstant()) { in ComputeIntegerValueOfLocations() 226 int32_t value = invoke->InputAt(0)->AsIntConstant()->GetValue(); in ComputeIntegerValueOfLocations() 248 locations->SetInAt(0, Location::RegisterOrConstant(invoke->InputAt(0))); in ComputeIntegerValueOfLocations() 252 locations->SetInAt(0, Location::ConstantLocation(invoke->InputAt(0)->AsConstant())); in ComputeIntegerValueOfLocations() 308 if (invoke->InputAt(0)->IsIntConstant()) { in ComputeIntegerValueOfInfo() 309 int32_t input_value = invoke->InputAt(0)->AsIntConstant()->GetValue(); in ComputeIntegerValueOfInfo() 344 if (invoke->InputAt(0)->IsIntConstant()) { in ComputeIntegerValueOfInfo() 345 int32_t input_value = invoke->InputAt(0)->AsIntConstant()->GetValue(); in ComputeIntegerValueOfInfo()
|
D | induction_var_analysis_test.cc | 264 EXPECT_STREQ("((1) * i + (0)):Int32", GetInductionInfo(store->InputAt(1), 0).c_str()); in TEST_F() 268 EXPECT_FALSE(HaveSameInduction(store->InputAt(1), increment_[0])); in TEST_F() 328 GetInductionInfo(store1->InputAt(1), 0).c_str()); in TEST_F() 330 GetInductionInfo(store2->InputAt(1), 0).c_str()); in TEST_F() 363 EXPECT_STREQ("((1) * i + (1)):Int32", GetInductionInfo(store->InputAt(1), 0).c_str()); in TEST_F() 366 EXPECT_TRUE(HaveSameInduction(store->InputAt(1), inc1)); in TEST_F() 367 EXPECT_TRUE(HaveSameInduction(store->InputAt(1), inc2)); in TEST_F() 394 EXPECT_STREQ("((1) * i + (1)):Int32", GetInductionInfo(store->InputAt(1), 0).c_str()); in TEST_F() 397 EXPECT_TRUE(HaveSameInduction(store->InputAt(1), inc1)); in TEST_F() 398 EXPECT_TRUE(HaveSameInduction(store->InputAt(1), inc2)); in TEST_F() [all …]
|
D | code_sinking.cc | 92 if (!instruction->InputAt(0)->IsNewInstance()) { in IsInterestingInstruction() 98 if (!instruction->InputAt(0)->IsNewArray()) { in IsInterestingInstruction() 161 (user->InputAt(0) == instruction) && in ShouldFilterUse() 165 (user->InputAt(0) == instruction) && in ShouldFilterUse() 245 HInstruction* if_input = insert_pos->AsIf()->InputAt(0); in FindIdealPosition() 408 if (!instructions_that_can_move.IsBitSet(instruction->InputAt(0)->GetId())) { in SinkCodeToUncommonBranch() 417 position = FindIdealPosition(instruction->InputAt(0), post_dominated, /* filter= */ true); in SinkCodeToUncommonBranch()
|
D | prepare_for_register_allocation.cc | 53 check->ReplaceWith(check->InputAt(0)); in VisitNullCheck() 63 if (next->CanDoImplicitNullCheckOn(check->InputAt(0))) { in VisitNullCheck() 70 check->ReplaceWith(check->InputAt(0)); in VisitDivZeroCheck() 82 check->ReplaceWith(check->InputAt(0)); in VisitBoundsCheck() 100 bound_type->ReplaceWith(bound_type->InputAt(0)); in VisitBoundType()
|
D | constant_folding_test.cc | 125 HInstruction* inst = graph->GetBlocks()[1]->GetFirstInstruction()->InputAt(0); in TEST_F() 186 HInstruction* inst = graph->GetBlocks()[1]->GetFirstInstruction()->InputAt(0); in TEST_F() 247 HInstruction* inst = graph->GetBlocks()[1]->GetFirstInstruction()->InputAt(0); in TEST_F() 326 HInstruction* inst1 = graph->GetBlocks()[1]->GetFirstInstruction()->InputAt(0); in TEST_F() 397 HInstruction* inst = graph->GetBlocks()[1]->GetFirstInstruction()->InputAt(0); in TEST_F() 460 HInstruction* inst = graph->GetBlocks()[1]->GetFirstInstruction()->InputAt(0); in TEST_F() 524 HInstruction* inst = graph->GetBlocks()[1]->GetFirstInstruction()->InputAt(0); in TEST_F() 624 HInstruction* inst1 = graph->GetBlocks()[4]->GetFirstInstruction()->InputAt(0); in TEST_F() 709 HInstruction* inst = graph->GetBlocks()[1]->GetFirstInstruction()->InputAt(0); in TEST_F()
|
D | nodes_x86.h | 55 return InputAt(0)->AsX86ComputeBaseMethodAddress(); in GetBaseMethodAddress() 59 return InputAt(1)->AsConstant(); in GetConstant() 82 return InputAt(1)->AsX86ComputeBaseMethodAddress(); in GetBaseMethodAddress() 113 return InputAt(1)->AsX86ComputeBaseMethodAddress(); in GetBaseMethodAddress()
|
D | pc_relative_fixups_x86.cc | 65 HConstant* value = ret->InputAt(0)->AsConstant(); in VisitReturn() 98 HConstant* rhs = bin->InputAt(1)->AsConstant(); in BinaryFP() 136 neg->InputAt(0), in VisitNeg() 156 switch_insn->InputAt(0), in VisitPackedSwitch()
|
D | bounds_check_elimination.cc | 825 HInstruction* index = bounds_check->InputAt(0); in VisitBoundsCheck() 826 HInstruction* array_length = bounds_check->InputAt(1); in VisitBoundsCheck() 954 HInstruction* instruction = phi->InputAt(1); in VisitPhi() 959 HInstruction* initial_value = phi->InputAt(0); in VisitPhi() 998 if (instruction->InputAt(0)->IsCondition()) { in VisitIf() 999 HCondition* cond = instruction->InputAt(0)->AsCondition(); in VisitIf() 1287 right = right->AsDivZeroCheck()->InputAt(0); in VisitRem() 1349 if (loop->IsDefinedOutOfTheLoop(array_get->InputAt(0)) && in VisitArrayGet() 1350 loop->IsDefinedOutOfTheLoop(array_get->InputAt(1))) { in VisitArrayGet() 1402 HInstruction* index = bounds_check->InputAt(0); in AddComparesWithDeoptimization() [all …]
|
D | common_arm.h | 109 DataType::Type type = instr->InputAt(input_index)->GetType(); in InputSRegisterAt() 115 DataType::Type type = instr->InputAt(input_index)->GetType(); in InputDRegisterAt() 121 DataType::Type type = instr->InputAt(input_index)->GetType(); in InputVRegisterAt() 141 instr->InputAt(input_index)->GetType()); in InputRegisterAt() 200 instr->InputAt(input_index)->GetType()); in InputOperandAt()
|
D | loop_optimization_test.cc | 256 HInstruction* input = phi->InputAt(i); in TEST_F() 331 EXPECT_EQ(new_preheader_phi->InputAt(0), preheader0_add); in TEST_F() 332 EXPECT_EQ(new_preheader_phi->InputAt(1), preheader1_add); in TEST_F() 335 EXPECT_EQ(header_phi->InputAt(0), new_preheader_phi); in TEST_F() 336 EXPECT_EQ(header_phi->InputAt(1), body_add); in TEST_F()
|
D | load_store_elimination.cc | 515 if ((prev != nullptr) && prev->IsNullCheck() && (prev == instruction->InputAt(0))) { in TryRemovingNullCheck() 517 prev->ReplaceWith(prev->InputAt(0)); in TryRemovingNullCheck() 684 HInstruction* object = instruction->InputAt(0); in VisitInstanceFieldGet() 690 HInstruction* object = instruction->InputAt(0); in VisitInstanceFieldSet() 692 HInstruction* value = instruction->InputAt(1); in VisitInstanceFieldSet() 698 HInstruction* cls = instruction->InputAt(0); in VisitStaticFieldGet() 704 HInstruction* cls = instruction->InputAt(0); in VisitStaticFieldSet() 707 VisitSetLocation(instruction, idx, instruction->InputAt(1)); in VisitStaticFieldSet() 740 HInstruction* reference = heap_value->InputAt(0); in VisitDeoptimize()
|