Lines Matching defs:cond
612 static bool is_true(jlong x, If::Condition cond, jlong y) {
613 switch (cond) {
641 // pattern: If (a cond a) => simplify to Goto
643 switch (x->cond()) {
658 // pattern: If (lc cond rc) => simplify to: Goto
659 BlockBegin* sux = x->x()->as_Constant()->compare(x->cond(), x->y(),
668 // pattern: If (l cond rc) => investigate further
671 // pattern: If ((a cmp b) cond rc) => simplify to: If (x cond y) or: Goto
674 BlockBegin* lss_sux = x->sux_for(is_true(-1, x->cond(), rc)); // successor for a < b
675 BlockBegin* eql_sux = x->sux_for(is_true( 0, x->cond(), rc)); // successor for a = b
676 BlockBegin* gtr_sux = x->sux_for(is_true(+1, x->cond(), rc)); // successor for a > b
687 If::Condition cond;
690 if (lss_sux == eql_sux) { cond = If::leq; tsux = lss_sux; fsux = gtr_sux; }
691 else if (lss_sux == gtr_sux) { cond = If::neq; tsux = lss_sux; fsux = eql_sux; }
692 else if (eql_sux == gtr_sux) { cond = If::geq; tsux = eql_sux; fsux = lss_sux; }
694 If* canon = new If(cmp->x(), cond, nan_sux == tsux, cmp->y(), tsux, fsux, cmp->state_before(), x->is_safepoint());
718 // pattern: If ((obj instanceof klass) cond rc) => simplify to: IfInstanceOf or: Goto
720 BlockBegin* is_inst_sux = x->sux_for(is_true(1, x->cond(), rc)); // successor for instanceof == 1
721 BlockBegin* no_inst_sux = x->sux_for(is_true(0, x->cond(), rc)); // successor for instanceof == 0
731 if (x->cond() == Instruction::eql) {
735 assert(x->cond() == Instruction::neq, "only other valid case");