Lines Matching refs:use
45 bool TryMergeIntoShifterOperand(HInstruction* use,
48 bool CanMergeIntoShifterOperand(HInstruction* use, HInstruction* bitfield_op) { in CanMergeIntoShifterOperand() argument
49 return TryMergeIntoShifterOperand(use, bitfield_op, /* do_merge= */ false); in CanMergeIntoShifterOperand()
51 bool MergeIntoShifterOperand(HInstruction* use, HInstruction* bitfield_op) { in MergeIntoShifterOperand() argument
52 DCHECK(CanMergeIntoShifterOperand(use, bitfield_op)); in MergeIntoShifterOperand()
53 return TryMergeIntoShifterOperand(use, bitfield_op, /* do_merge= */ true); in MergeIntoShifterOperand()
90 bool InstructionSimplifierArm64Visitor::TryMergeIntoShifterOperand(HInstruction* use, in TryMergeIntoShifterOperand() argument
93 DCHECK(HasShifterOperand(use, InstructionSet::kArm64)); in TryMergeIntoShifterOperand()
94 DCHECK(use->IsBinaryOperation() || use->IsNeg()); in TryMergeIntoShifterOperand()
98 DataType::Type type = use->GetType(); in TryMergeIntoShifterOperand()
105 if (use->IsBinaryOperation()) { in TryMergeIntoShifterOperand()
106 left = use->InputAt(0); in TryMergeIntoShifterOperand()
107 right = use->InputAt(1); in TryMergeIntoShifterOperand()
109 DCHECK(use->IsNeg()); in TryMergeIntoShifterOperand()
110 right = use->AsNeg()->InputAt(0); in TryMergeIntoShifterOperand()
122 bool is_commutative = use->IsBinaryOperation() && use->AsBinaryOperation()->IsCommutative(); in TryMergeIntoShifterOperand()
138 if (HDataProcWithShifterOp::IsExtensionOp(op_kind) && !ShifterOperandSupportsExtension(use)) { in TryMergeIntoShifterOperand()
144 new (GetGraph()->GetAllocator()) HDataProcWithShifterOp(use, in TryMergeIntoShifterOperand()
149 use->GetDexPc()); in TryMergeIntoShifterOperand()
150 use->GetBlock()->ReplaceAndRemoveInstructionWith(use, alu_with_op); in TryMergeIntoShifterOperand()
171 for (const HUseListNode<HInstruction*>& use : uses) { in TryMergeIntoUsersShifterOperand() local
172 HInstruction* user = use.GetUser(); in TryMergeIntoUsersShifterOperand()