2328 case Op_StrCompressedCopy: 2329 case Op_StrInflatedCopy: 2330 case Op_EncodeISOArray: { 2331 // Restructure into a binary tree for Matching. 2332 Node* pair = new BinaryNode(n->in(3), n->in(4)); 2333 n->set_req(3, pair); 2334 n->del_req(4); 2335 break; 2336 } 2337 case Op_FmaD: 2338 case Op_FmaF: 2339 case Op_FmaVD: 2340 case Op_FmaVF: { 2341 // Restructure into a binary tree for Matching. 2342 Node* pair = new BinaryNode(n->in(1), n->in(2)); 2343 n->set_req(2, pair); 2344 n->set_req(1, n->in(3)); 2345 n->del_req(3); 2346 break; 2347 } 2348 default: 2349 break; 2350 } 2351 } 2352 else { 2353 ShouldNotReachHere(); 2354 } 2355 } // end of while (mstack.is_nonempty()) 2356 } 2357 2358 #ifdef ASSERT 2359 // machine-independent root to machine-dependent root 2360 void Matcher::dump_old2new_map() { 2361 _old2new_map.dump(); 2362 } 2363 #endif 2364 2365 //---------------------------collect_null_checks------------------------------- 2366 // Find null checks in the ideal graph; write a machine-specific node for 2367 // it. Used by later implicit-null-check handling. Actually collects | 2328 case Op_StrCompressedCopy: 2329 case Op_StrInflatedCopy: 2330 case Op_EncodeISOArray: { 2331 // Restructure into a binary tree for Matching. 2332 Node* pair = new BinaryNode(n->in(3), n->in(4)); 2333 n->set_req(3, pair); 2334 n->del_req(4); 2335 break; 2336 } 2337 case Op_FmaD: 2338 case Op_FmaF: 2339 case Op_FmaVD: 2340 case Op_FmaVF: { 2341 // Restructure into a binary tree for Matching. 2342 Node* pair = new BinaryNode(n->in(1), n->in(2)); 2343 n->set_req(2, pair); 2344 n->set_req(1, n->in(3)); 2345 n->del_req(3); 2346 break; 2347 } 2348 case Op_MulAddS2I: { 2349 Node* pair1 = new BinaryNode(n->in(1), n->in(2)); 2350 Node* pair2 = new BinaryNode(n->in(3), n->in(4)); 2351 n->set_req(1, pair1); 2352 n->set_req(2, pair2); 2353 n->del_req(4); 2354 n->del_req(3); 2355 break; 2356 } 2357 default: 2358 break; 2359 } 2360 } 2361 else { 2362 ShouldNotReachHere(); 2363 } 2364 } // end of while (mstack.is_nonempty()) 2365 } 2366 2367 #ifdef ASSERT 2368 // machine-independent root to machine-dependent root 2369 void Matcher::dump_old2new_map() { 2370 _old2new_map.dump(); 2371 } 2372 #endif 2373 2374 //---------------------------collect_null_checks------------------------------- 2375 // Find null checks in the ideal graph; write a machine-specific node for 2376 // it. Used by later implicit-null-check handling. Actually collects |