Lines Matching defs:condition

72   void VisitGreaterThan(HGreaterThan* condition) OVERRIDE;
73 void VisitGreaterThanOrEqual(HGreaterThanOrEqual* condition) OVERRIDE;
74 void VisitLessThan(HLessThan* condition) OVERRIDE;
75 void VisitLessThanOrEqual(HLessThanOrEqual* condition) OVERRIDE;
76 void VisitBelow(HBelow* condition) OVERRIDE;
77 void VisitBelowOrEqual(HBelowOrEqual* condition) OVERRIDE;
78 void VisitAbove(HAbove* condition) OVERRIDE;
79 void VisitAboveOrEqual(HAboveOrEqual* condition) OVERRIDE;
668 // Replace condition with its opposite.
681 HInstruction* condition = select->GetCondition();
685 if (condition->IsBooleanNot()) {
687 condition = condition->InputAt(0);
691 select->ReplaceInput(condition, 2);
698 } else if (condition->IsIntConstant()) {
699 if (condition->AsIntConstant()->IsTrue()) {
704 DCHECK(condition->AsIntConstant()->IsFalse()) << condition->AsIntConstant()->GetValue();
710 replace_with = condition;
713 replace_with = GetGraph()->InsertOppositeCondition(condition, select);
725 HInstruction* condition = instruction->InputAt(0);
726 if (condition->IsBooleanNot()) {
728 instruction->ReplaceInput(condition->InputAt(0), 0);
1007 void InstructionSimplifierVisitor::VisitGreaterThan(HGreaterThan* condition) {
1008 VisitCondition(condition);
1011 void InstructionSimplifierVisitor::VisitGreaterThanOrEqual(HGreaterThanOrEqual* condition) {
1012 VisitCondition(condition);
1015 void InstructionSimplifierVisitor::VisitLessThan(HLessThan* condition) {
1016 VisitCondition(condition);
1019 void InstructionSimplifierVisitor::VisitLessThanOrEqual(HLessThanOrEqual* condition) {
1020 VisitCondition(condition);
1023 void InstructionSimplifierVisitor::VisitBelow(HBelow* condition) {
1024 VisitCondition(condition);
1027 void InstructionSimplifierVisitor::VisitBelowOrEqual(HBelowOrEqual* condition) {
1028 VisitCondition(condition);
1031 void InstructionSimplifierVisitor::VisitAbove(HAbove* condition) {
1032 VisitCondition(condition);
1035 void InstructionSimplifierVisitor::VisitAboveOrEqual(HAboveOrEqual* condition) {
1036 VisitCondition(condition);
1039 void InstructionSimplifierVisitor::VisitCondition(HCondition* condition) {
1040 // Reverse condition if left is constant. Our code generators prefer constant
1042 if (condition->GetLeft()->IsConstant() && !condition->GetRight()->IsConstant()) {
1043 HBasicBlock* block = condition->GetBlock();
1044 HCondition* replacement = GetOppositeConditionSwapOps(block->GetGraph()->GetArena(), condition);
1047 if (condition->IsLtBias()) {
1049 } else if (condition->IsGtBias()) {
1052 block->ReplaceAndRemoveInstructionWith(condition, replacement);
1055 condition = replacement;
1059 HInstruction* left = condition->GetLeft();
1060 HInstruction* right = condition->GetRight();
1066 // condition with a long, float or double comparison as input.
1085 if (left->HasAnyEnvironmentUseBefore(condition)) {
1094 condition->SetBias(left->AsCompare()->GetBias());
1097 condition->ReplaceInput(left->InputAt(0), 0);
1098 condition->ReplaceInput(left->InputAt(1), 1);
1640 HCondition* condition = new (GetGraph()->GetArena()) HNotEqual(x, x, dex_pc);
1641 condition->SetBias(ComparisonBias::kLtBias);
1642 invoke->GetBlock()->ReplaceAndRemoveInstructionWith(invoke, condition);
1667 HCondition* condition = new (GetGraph()->GetArena()) HNotEqual(x, x, dex_pc);
1668 condition->SetBias(ComparisonBias::kLtBias);
1669 invoke->GetBlock()->InsertInstructionBefore(condition, invoke->GetNext());
1671 HInstruction* select = new (GetGraph()->GetArena()) HSelect(condition, nan, invoke, dex_pc);
1672 invoke->GetBlock()->InsertInstructionBefore(select, condition->GetNext());