Lines Matching refs:If

202   // If a value is going to be stored into a field or array some of
253 // If a value is going to be stored into a field or array some of
612 static bool is_true(jlong x, If::Condition cond, jlong y) {
614 case If::eql: return x == y;
615 case If::neq: return x != y;
616 case If::lss: return x < y;
617 case If::leq: return x <= y;
618 case If::gtr: return x > y;
619 case If::geq: return x >= y;
633 void Canonicalizer::do_If(If* x) {
641 // pattern: If (a cond a) => simplify to Goto
644 case If::eql: sux = x->sux_for(true); break;
645 case If::neq: sux = x->sux_for(false); break;
646 case If::lss: sux = x->sux_for(false); break;
647 case If::leq: sux = x->sux_for(true); break;
648 case If::gtr: sux = x->sux_for(false); break;
649 case If::geq: sux = x->sux_for(true); break;
651 // If is a safepoint then the debug information should come from the state_before of the If.
658 // pattern: If (lc cond rc) => simplify to: Goto
663 // If is a safepoint then the debug information should come from the state_before of the If.
668 // pattern: If (l cond rc) => investigate further
671 // pattern: If ((a cmp b) cond rc) => simplify to: If (x cond y) or: Goto
685 // two successors differ and two successors are the same => simplify to: If (x cmp y)
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());
699 // TODO: If profiling, leave floating point comparisons unoptimized.
718 // pattern: If ((obj instanceof klass) cond rc) => simplify to: IfInstanceOf or: Goto
760 // (Constant & If) and the Canonicalizer cannot return them correctly
764 // simplify to If
767 set_canonical(new If(x->tag(), If::eql, true, key, x->sux_at(0), x->default_sux(), x->state_before(), x->is_safepoint()));
791 // (Constant & If) and the Canonicalizer cannot return them correctly
795 // simplify to If
798 set_canonical(new If(x->tag(), If::eql, true, key, x->sux_at(0), x->default_sux(), x->state_before(), x->is_safepoint()));
907 // If the value is pinned then it will be always be computed so