Lines Matching refs:op
46 bool ReplaceRotateWithRor(HBinaryOperation* op, HUShr* ushr, HShl* shl);
48 bool TryReplaceWithRotateConstantPattern(HBinaryOperation* op, HUShr* ushr, HShl* shl);
49 bool TryReplaceWithRotateRegisterNegPattern(HBinaryOperation* op, HUShr* ushr, HShl* shl);
50 bool TryReplaceWithRotateRegisterSubPattern(HBinaryOperation* op, HUShr* ushr, HShl* shl);
56 bool TryDeMorganNegationFactoring(HBinaryOperation* op);
182 bool InstructionSimplifierVisitor::TryDeMorganNegationFactoring(HBinaryOperation* op) { in TryDeMorganNegationFactoring() argument
183 DCHECK(op->IsAnd() || op->IsOr()) << op->DebugName(); in TryDeMorganNegationFactoring()
184 Primitive::Type type = op->GetType(); in TryDeMorganNegationFactoring()
185 HInstruction* left = op->GetLeft(); in TryDeMorganNegationFactoring()
186 HInstruction* right = op->GetRight(); in TryDeMorganNegationFactoring()
203 uint32_t dex_pc = op->GetDexPc(); in TryDeMorganNegationFactoring()
213 if (op->IsAnd()) { in TryDeMorganNegationFactoring()
225 op->GetBlock()->InsertInstructionBefore(hbin, op); in TryDeMorganNegationFactoring()
226 op->GetBlock()->ReplaceAndRemoveInstructionWith(op, hnot); in TryDeMorganNegationFactoring()
262 bool InstructionSimplifierVisitor::ReplaceRotateWithRor(HBinaryOperation* op, in ReplaceRotateWithRor() argument
265 DCHECK(op->IsAdd() || op->IsXor() || op->IsOr()) << op->DebugName(); in ReplaceRotateWithRor()
267 op->GetBlock()->ReplaceAndRemoveInstructionWith(op, ror); in ReplaceRotateWithRor()
284 bool InstructionSimplifierVisitor::TryReplaceWithRotate(HBinaryOperation* op) { in TryReplaceWithRotate() argument
285 DCHECK(op->IsAdd() || op->IsXor() || op->IsOr()); in TryReplaceWithRotate()
286 HInstruction* left = op->GetLeft(); in TryReplaceWithRotate()
287 HInstruction* right = op->GetRight(); in TryReplaceWithRotate()
298 return TryReplaceWithRotateConstantPattern(op, ushr, shl); in TryReplaceWithRotate()
301 return TryReplaceWithRotateRegisterSubPattern(op, ushr, shl); in TryReplaceWithRotate()
304 return TryReplaceWithRotateRegisterNegPattern(op, ushr, shl); in TryReplaceWithRotate()
321 bool InstructionSimplifierVisitor::TryReplaceWithRotateConstantPattern(HBinaryOperation* op, in TryReplaceWithRotateConstantPattern() argument
324 DCHECK(op->IsAdd() || op->IsXor() || op->IsOr()); in TryReplaceWithRotateConstantPattern()
329 ReplaceRotateWithRor(op, ushr, shl); in TryReplaceWithRotateConstantPattern()
351 bool InstructionSimplifierVisitor::TryReplaceWithRotateRegisterNegPattern(HBinaryOperation* op, in TryReplaceWithRotateRegisterNegPattern() argument
354 DCHECK(op->IsAdd() || op->IsXor() || op->IsOr()); in TryReplaceWithRotateRegisterNegPattern()
360 ReplaceRotateWithRor(op, ushr, shl); in TryReplaceWithRotateRegisterNegPattern()
381 bool InstructionSimplifierVisitor::TryReplaceWithRotateRegisterSubPattern(HBinaryOperation* op, in TryReplaceWithRotateRegisterSubPattern() argument
384 DCHECK(op->IsAdd() || op->IsXor() || op->IsOr()); in TryReplaceWithRotateRegisterSubPattern()
391 return ReplaceRotateWithRor(op, ushr, shl); in TryReplaceWithRotateRegisterSubPattern()