Lines Matching refs:condition

84   void VisitGreaterThan(HGreaterThan* condition) override;
85 void VisitGreaterThanOrEqual(HGreaterThanOrEqual* condition) override;
86 void VisitLessThan(HLessThan* condition) override;
87 void VisitLessThanOrEqual(HLessThanOrEqual* condition) override;
88 void VisitBelow(HBelow* condition) override;
89 void VisitBelowOrEqual(HBelowOrEqual* condition) override;
90 void VisitAbove(HAbove* condition) override;
91 void VisitAboveOrEqual(HAboveOrEqual* condition) override;
914 HInstruction* condition = select->GetCondition(); in VisitSelect() local
918 if (condition->IsBooleanNot()) { in VisitSelect()
920 condition = condition->InputAt(0); in VisitSelect()
924 select->ReplaceInput(condition, 2); in VisitSelect()
931 } else if (condition->IsIntConstant()) { in VisitSelect()
932 if (condition->AsIntConstant()->IsTrue()) { in VisitSelect()
937 DCHECK(condition->AsIntConstant()->IsFalse()) << condition->AsIntConstant()->GetValue(); in VisitSelect()
943 replace_with = condition; in VisitSelect()
946 replace_with = GetGraph()->InsertOppositeCondition(condition, select); in VisitSelect()
948 } else if (condition->IsCondition()) { in VisitSelect()
949 IfCondition cmp = condition->AsCondition()->GetCondition(); in VisitSelect()
950 HInstruction* a = condition->InputAt(0); in VisitSelect()
951 HInstruction* b = condition->InputAt(1); in VisitSelect()
1012 HInstruction* condition = instruction->InputAt(0); in VisitIf() local
1013 if (condition->IsBooleanNot()) { in VisitIf()
1015 instruction->ReplaceInput(condition->InputAt(0), 0); in VisitIf()
1476 void InstructionSimplifierVisitor::VisitGreaterThan(HGreaterThan* condition) { in VisitGreaterThan() argument
1477 VisitCondition(condition); in VisitGreaterThan()
1480 void InstructionSimplifierVisitor::VisitGreaterThanOrEqual(HGreaterThanOrEqual* condition) { in VisitGreaterThanOrEqual() argument
1481 VisitCondition(condition); in VisitGreaterThanOrEqual()
1484 void InstructionSimplifierVisitor::VisitLessThan(HLessThan* condition) { in VisitLessThan() argument
1485 VisitCondition(condition); in VisitLessThan()
1488 void InstructionSimplifierVisitor::VisitLessThanOrEqual(HLessThanOrEqual* condition) { in VisitLessThanOrEqual() argument
1489 VisitCondition(condition); in VisitLessThanOrEqual()
1492 void InstructionSimplifierVisitor::VisitBelow(HBelow* condition) { in VisitBelow() argument
1493 VisitCondition(condition); in VisitBelow()
1496 void InstructionSimplifierVisitor::VisitBelowOrEqual(HBelowOrEqual* condition) { in VisitBelowOrEqual() argument
1497 VisitCondition(condition); in VisitBelowOrEqual()
1500 void InstructionSimplifierVisitor::VisitAbove(HAbove* condition) { in VisitAbove() argument
1501 VisitCondition(condition); in VisitAbove()
1504 void InstructionSimplifierVisitor::VisitAboveOrEqual(HAboveOrEqual* condition) { in VisitAboveOrEqual() argument
1505 VisitCondition(condition); in VisitAboveOrEqual()
1511 static bool RecognizeAndSimplifyClassCheck(HCondition* condition) { in RecognizeAndSimplifyClassCheck() argument
1512 HInstruction* input_one = condition->InputAt(0); in RecognizeAndSimplifyClassCheck()
1513 HInstruction* input_two = condition->InputAt(1); in RecognizeAndSimplifyClassCheck()
1551 value = condition->IsEqual() ? 1 : 0; in RecognizeAndSimplifyClassCheck()
1553 value = condition->IsNotEqual() ? 1 : 0; in RecognizeAndSimplifyClassCheck()
1555 condition->ReplaceWith(condition->GetBlock()->GetGraph()->GetIntConstant(value)); in RecognizeAndSimplifyClassCheck()
1560 void InstructionSimplifierVisitor::VisitCondition(HCondition* condition) { in VisitCondition() argument
1561 if (condition->IsEqual() || condition->IsNotEqual()) { in VisitCondition()
1562 if (RecognizeAndSimplifyClassCheck(condition)) { in VisitCondition()
1569 if (condition->GetLeft()->IsConstant() && !condition->GetRight()->IsConstant()) { in VisitCondition()
1570 HBasicBlock* block = condition->GetBlock(); in VisitCondition()
1572 GetOppositeConditionSwapOps(block->GetGraph()->GetAllocator(), condition); in VisitCondition()
1575 if (condition->IsLtBias()) { in VisitCondition()
1577 } else if (condition->IsGtBias()) { in VisitCondition()
1580 block->ReplaceAndRemoveInstructionWith(condition, replacement); in VisitCondition()
1583 condition = replacement; in VisitCondition()
1587 HInstruction* left = condition->GetLeft(); in VisitCondition()
1588 HInstruction* right = condition->GetRight(); in VisitCondition()
1613 if (left->HasAnyEnvironmentUseBefore(condition)) { in VisitCondition()
1622 condition->SetBias(left->AsCompare()->GetBias()); in VisitCondition()
1625 condition->ReplaceInput(left->InputAt(0), 0); in VisitCondition()
1626 condition->ReplaceInput(left->InputAt(1), 1); in VisitCondition()
2299 HCondition* condition = new (GetGraph()->GetAllocator()) HNotEqual(x, x, dex_pc); in SimplifyIsNaN() local
2300 condition->SetBias(ComparisonBias::kLtBias); in SimplifyIsNaN()
2301 invoke->GetBlock()->ReplaceAndRemoveInstructionWith(invoke, condition); in SimplifyIsNaN()
2326 HCondition* condition = new (GetGraph()->GetAllocator()) HNotEqual(x, x, dex_pc); in SimplifyFP2Int() local
2327 condition->SetBias(ComparisonBias::kLtBias); in SimplifyFP2Int()
2328 invoke->GetBlock()->InsertInstructionBefore(condition, invoke->GetNext()); in SimplifyFP2Int()
2330 HInstruction* select = new (GetGraph()->GetAllocator()) HSelect(condition, nan, invoke, dex_pc); in SimplifyFP2Int()
2331 invoke->GetBlock()->InsertInstructionBefore(select, condition->GetNext()); in SimplifyFP2Int()