Lines Matching refs:op
57 bool ReplaceRotateWithRor(HBinaryOperation* op, HUShr* ushr, HShl* shl);
59 bool TryReplaceWithRotateConstantPattern(HBinaryOperation* op, HUShr* ushr, HShl* shl);
60 bool TryReplaceWithRotateRegisterNegPattern(HBinaryOperation* op, HUShr* ushr, HShl* shl);
61 bool TryReplaceWithRotateRegisterSubPattern(HBinaryOperation* op, HUShr* ushr, HShl* shl);
67 bool TryDeMorganNegationFactoring(HBinaryOperation* op);
221 bool InstructionSimplifierVisitor::TryDeMorganNegationFactoring(HBinaryOperation* op) { in TryDeMorganNegationFactoring() argument
222 DCHECK(op->IsAnd() || op->IsOr()) << op->DebugName(); in TryDeMorganNegationFactoring()
223 DataType::Type type = op->GetType(); in TryDeMorganNegationFactoring()
224 HInstruction* left = op->GetLeft(); in TryDeMorganNegationFactoring()
225 HInstruction* right = op->GetRight(); in TryDeMorganNegationFactoring()
242 uint32_t dex_pc = op->GetDexPc(); in TryDeMorganNegationFactoring()
252 if (op->IsAnd()) { in TryDeMorganNegationFactoring()
264 op->GetBlock()->InsertInstructionBefore(hbin, op); in TryDeMorganNegationFactoring()
265 op->GetBlock()->ReplaceAndRemoveInstructionWith(op, hnot); in TryDeMorganNegationFactoring()
436 bool InstructionSimplifierVisitor::ReplaceRotateWithRor(HBinaryOperation* op, in ReplaceRotateWithRor() argument
439 DCHECK(op->IsAdd() || op->IsXor() || op->IsOr()) << op->DebugName(); in ReplaceRotateWithRor()
442 op->GetBlock()->ReplaceAndRemoveInstructionWith(op, ror); in ReplaceRotateWithRor()
460 bool InstructionSimplifierVisitor::TryReplaceWithRotate(HBinaryOperation* op) { in TryReplaceWithRotate() argument
461 DCHECK(op->IsAdd() || op->IsXor() || op->IsOr()); in TryReplaceWithRotate()
462 HInstruction* left = op->GetLeft(); in TryReplaceWithRotate()
463 HInstruction* right = op->GetRight(); in TryReplaceWithRotate()
474 return TryReplaceWithRotateConstantPattern(op, ushr, shl); in TryReplaceWithRotate()
477 return TryReplaceWithRotateRegisterSubPattern(op, ushr, shl); in TryReplaceWithRotate()
480 return TryReplaceWithRotateRegisterNegPattern(op, ushr, shl); in TryReplaceWithRotate()
497 bool InstructionSimplifierVisitor::TryReplaceWithRotateConstantPattern(HBinaryOperation* op, in TryReplaceWithRotateConstantPattern() argument
500 DCHECK(op->IsAdd() || op->IsXor() || op->IsOr()); in TryReplaceWithRotateConstantPattern()
505 ReplaceRotateWithRor(op, ushr, shl); in TryReplaceWithRotateConstantPattern()
527 bool InstructionSimplifierVisitor::TryReplaceWithRotateRegisterNegPattern(HBinaryOperation* op, in TryReplaceWithRotateRegisterNegPattern() argument
530 DCHECK(op->IsAdd() || op->IsXor() || op->IsOr()); in TryReplaceWithRotateRegisterNegPattern()
536 ReplaceRotateWithRor(op, ushr, shl); in TryReplaceWithRotateRegisterNegPattern()
557 bool InstructionSimplifierVisitor::TryReplaceWithRotateRegisterSubPattern(HBinaryOperation* op, in TryReplaceWithRotateRegisterSubPattern() argument
560 DCHECK(op->IsAdd() || op->IsXor() || op->IsOr()); in TryReplaceWithRotateRegisterSubPattern()
567 return ReplaceRotateWithRor(op, ushr, shl); in TryReplaceWithRotateRegisterSubPattern()