Lines Matching defs: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);
53 // `op` should be either HOr or HAnd.
56 bool TryDeMorganNegationFactoring(HBinaryOperation* op);
182 bool InstructionSimplifierVisitor::TryDeMorganNegationFactoring(HBinaryOperation* op) {
183 DCHECK(op->IsAnd() || op->IsOr()) << op->DebugName();
184 Primitive::Type type = op->GetType();
185 HInstruction* left = op->GetLeft();
186 HInstruction* right = op->GetRight();
189 // by `op`.
203 uint32_t dex_pc = op->GetDexPc();
213 if (op->IsAnd()) {
225 op->GetBlock()->InsertInstructionBefore(hbin, op);
226 op->GetBlock()->ReplaceAndRemoveInstructionWith(op, hnot);
262 bool InstructionSimplifierVisitor::ReplaceRotateWithRor(HBinaryOperation* op,
265 DCHECK(op->IsAdd() || op->IsXor() || op->IsOr()) << op->DebugName();
267 op->GetBlock()->ReplaceAndRemoveInstructionWith(op, ror);
284 bool InstructionSimplifierVisitor::TryReplaceWithRotate(HBinaryOperation* op) {
285 DCHECK(op->IsAdd() || op->IsXor() || op->IsOr());
286 HInstruction* left = op->GetLeft();
287 HInstruction* right = op->GetRight();
298 return TryReplaceWithRotateConstantPattern(op, ushr, shl);
301 return TryReplaceWithRotateRegisterSubPattern(op, ushr, shl);
304 return TryReplaceWithRotateRegisterNegPattern(op, ushr, shl);
321 bool InstructionSimplifierVisitor::TryReplaceWithRotateConstantPattern(HBinaryOperation* op,
324 DCHECK(op->IsAdd() || op->IsXor() || op->IsOr());
329 ReplaceRotateWithRor(op, ushr, shl);
351 bool InstructionSimplifierVisitor::TryReplaceWithRotateRegisterNegPattern(HBinaryOperation* op,
354 DCHECK(op->IsAdd() || op->IsXor() || op->IsOr());
360 ReplaceRotateWithRor(op, ushr, shl);
381 bool InstructionSimplifierVisitor::TryReplaceWithRotateRegisterSubPattern(HBinaryOperation* op,
384 DCHECK(op->IsAdd() || op->IsXor() || op->IsOr());
391 return ReplaceRotateWithRor(op, ushr, shl);