comparison src/share/vm/opto/superword.hpp @ 667:78af5ae8e731

6636138: UseSuperWord enabled failure Summary: Fixed SuperWord scheduling of memory operations. Reviewed-by: kvn, never
author cfang
date Tue, 24 Mar 2009 12:19:47 -0700
parents 98cb887364d3
children bd02caa94611
comparison
equal deleted inserted replaced
666:ebebd376f657 667:78af5ae8e731
339 void construct_my_pack_map(); 339 void construct_my_pack_map();
340 // Remove packs that are not implemented or not profitable. 340 // Remove packs that are not implemented or not profitable.
341 void filter_packs(); 341 void filter_packs();
342 // Adjust the memory graph for the packed operations 342 // Adjust the memory graph for the packed operations
343 void schedule(); 343 void schedule();
344 // Within a pack, move stores down to the last executed store, 344 // Remove "current" from its current position in the memory graph and insert
345 // and move loads up to the first executed load. 345 // it after the appropriate insert points (lip or uip);
346 void remove_and_insert(MemNode *current, MemNode *prev, MemNode *lip, Node *uip, Unique_Node_List &schd_before);
347 // Within a store pack, schedule stores together by moving out the sandwiched memory ops according
348 // to dependence info; and within a load pack, move loads down to the last executed load.
346 void co_locate_pack(Node_List* p); 349 void co_locate_pack(Node_List* p);
347 // Convert packs into vector node operations 350 // Convert packs into vector node operations
348 void output(); 351 void output();
349 // Create a vector operand for the nodes in pack p for operand: in(opd_idx) 352 // Create a vector operand for the nodes in pack p for operand: in(opd_idx)
350 VectorNode* vector_opd(Node_List* p, int opd_idx); 353 VectorNode* vector_opd(Node_List* p, int opd_idx);