Lines Matching refs:phase

45 const Type *IfNode::Value( PhaseTransform *phase ) const {
47 if( phase->type(in(0)) == Type::TOP )
49 const Type *t = phase->type(in(1));
222 PhaseGVN *phase = igvn;
278 phi_x = phase->transform( phi_x );
281 Node *cmp_c = phase->makecon(t);
285 cmp_x = phase->transform(cmp_x);
287 Node *b_c = phase->transform(new (igvn->C) BoolNode(cmp_c,b->_test._test));
288 Node *b_x = phase->transform(new (igvn->C) BoolNode(cmp_x,b->_test._test));
301 Node *iff_c_t = phase->transform(new (igvn->C) IfTrueNode (iff_c));
302 Node *iff_c_f = phase->transform(new (igvn->C) IfFalseNode(iff_c));
309 Node *iff_x_t = phase->transform(new (igvn->C) IfTrueNode (iff_x));
310 Node *iff_x_f = phase->transform(new (igvn->C) IfFalseNode(iff_x));
366 phi_s = phase->transform(phi_s);
378 phi_f = phase->transform(phi_f);
675 Node* IfNode::fold_compares(PhaseGVN* phase) {
680 this_cmp->in(2)->is_Con() && this_cmp->in(2) != phase->C->top()) {
714 const TypeInt* failtype = filtered_int_type(phase, n, ctrl);
716 const TypeInt* type2 = filtered_int_type(phase, n, fail);
730 Node* adjusted = phase->transform(new (phase->C) SubINode(n, phase->intcon(failtype->_lo)));
731 Node* newcmp = phase->transform(new (phase->C) CmpUNode(adjusted, phase->intcon(bound)));
732 Node* newbool = phase->transform(new (phase->C) BoolNode(newcmp, cond));
733 phase->is_IterGVN()->replace_input_of(dom_iff, 1, phase->intcon(ctrl->as_Proj()->_con));
734 phase->hash_delete(this);
741 phase->hash_delete(this);
742 set_req(1, phase->intcon(success->as_Proj()->_con));
757 static Node *remove_useless_bool(IfNode *iff, PhaseGVN *phase) {
766 const Type *cmp2_t = phase->type( cmp->in(2) );
775 if( phase->type( phi ) != TypeInt::BOOL )
797 const Type *phi1_t = phase->type( phi->in(1) );
798 const Type *phi2_t = phase->type( phi->in(2) );
812 Node* new_bol = (flip ? phase->transform( bol2->negate(phase) ) : bol2);
816 phase->C->set_major_progress();
820 static IfNode* idealize_test(PhaseGVN* phase, IfNode* iff);
825 Node *IfNode::Ideal(PhaseGVN *phase, bool can_reshape) {
826 if (remove_dead_region(phase, can_reshape)) return this;
829 PhaseIterGVN *igvn = phase->is_IterGVN();
841 Node* idt_if = idealize_test(phase, this);
851 Node *bol2 = remove_useless_bool(this, phase);
914 if (!phase->C->allow_range_check_smearing()) return NULL;
960 Node* result = fold_compares(phase);
992 if( VerifyOpto && !phase->allow_progress() ) {
1005 return new (phase->C) ConINode(TypeInt::ZERO);
1061 Node *IfTrueNode::Identity( PhaseTransform *phase ) {
1063 const TypeTuple *t = phase->type(in(0))->is_tuple();
1081 static IfNode* idealize_test(PhaseGVN* phase, IfNode* iff) {
1101 Node* new_b = phase->transform( new (phase->C) BoolNode(b->in(1), bt.negate()) );
1105 PhaseIterGVN *igvn = phase->is_IterGVN();
1109 iff = new (phase->C) IfNode( iff->in(0), b, 1.0-iff->_prob, iff->_fcnt);
1122 Node* new_if_f = (Node*)(new (phase->C) IfFalseNode( iff ));
1123 Node* new_if_t = (Node*)(new (phase->C) IfTrueNode ( iff ));
1137 Node *IfFalseNode::Identity( PhaseTransform *phase ) {
1139 const TypeTuple *t = phase->type(in(0))->is_tuple();