Mercurial > hg > truffle
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); |