2069 n->del_req(LoadStoreNode::ExpectedIn); 2070 break; 2071 } 2072 case Op_CMoveD: // Convert trinary to binary-tree 2073 case Op_CMoveF: 2074 case Op_CMoveI: 2075 case Op_CMoveL: 2076 case Op_CMoveN: 2077 case Op_CMoveP: { 2078 // Restructure into a binary tree for Matching. It's possible that 2079 // we could move this code up next to the graph reshaping for IfNodes 2080 // or vice-versa, but I do not want to debug this for Ladybird. 2081 // 10/2/2000 CNC. 2082 Node *pair1 = new (C, 3) BinaryNode(n->in(1),n->in(1)->in(1)); 2083 n->set_req(1,pair1); 2084 Node *pair2 = new (C, 3) BinaryNode(n->in(2),n->in(3)); 2085 n->set_req(2,pair2); 2086 n->del_req(3); 2087 break; 2088 } 2089 case Op_StrEquals: { 2090 Node *pair1 = new (C, 3) BinaryNode(n->in(2),n->in(3)); 2091 n->set_req(2,pair1); 2092 n->set_req(3,n->in(4)); 2093 n->del_req(4); 2094 break; 2095 } 2096 case Op_StrComp: 2097 case Op_StrIndexOf: { 2098 Node *pair1 = new (C, 3) BinaryNode(n->in(2),n->in(3)); 2099 n->set_req(2,pair1); 2100 Node *pair2 = new (C, 3) BinaryNode(n->in(4),n->in(5)); 2101 n->set_req(3,pair2); 2102 n->del_req(5); 2103 n->del_req(4); 2104 break; 2105 } 2106 default: 2107 break; 2108 } | 2069 n->del_req(LoadStoreNode::ExpectedIn); 2070 break; 2071 } 2072 case Op_CMoveD: // Convert trinary to binary-tree 2073 case Op_CMoveF: 2074 case Op_CMoveI: 2075 case Op_CMoveL: 2076 case Op_CMoveN: 2077 case Op_CMoveP: { 2078 // Restructure into a binary tree for Matching. It's possible that 2079 // we could move this code up next to the graph reshaping for IfNodes 2080 // or vice-versa, but I do not want to debug this for Ladybird. 2081 // 10/2/2000 CNC. 2082 Node *pair1 = new (C, 3) BinaryNode(n->in(1),n->in(1)->in(1)); 2083 n->set_req(1,pair1); 2084 Node *pair2 = new (C, 3) BinaryNode(n->in(2),n->in(3)); 2085 n->set_req(2,pair2); 2086 n->del_req(3); 2087 break; 2088 } 2089 case Op_LoopLimit: { 2090 Node *pair1 = new (C, 3) BinaryNode(n->in(1),n->in(2)); 2091 n->set_req(1,pair1); 2092 n->set_req(2,n->in(3)); 2093 n->del_req(3); 2094 break; 2095 } 2096 case Op_StrEquals: { 2097 Node *pair1 = new (C, 3) BinaryNode(n->in(2),n->in(3)); 2098 n->set_req(2,pair1); 2099 n->set_req(3,n->in(4)); 2100 n->del_req(4); 2101 break; 2102 } 2103 case Op_StrComp: 2104 case Op_StrIndexOf: { 2105 Node *pair1 = new (C, 3) BinaryNode(n->in(2),n->in(3)); 2106 n->set_req(2,pair1); 2107 Node *pair2 = new (C, 3) BinaryNode(n->in(4),n->in(5)); 2108 n->set_req(3,pair2); 2109 n->del_req(5); 2110 n->del_req(4); 2111 break; 2112 } 2113 default: 2114 break; 2115 } |