Lines Matching defs:pack

130 // 6) The initial set of pack pairs is seeded with memory references.
132 // 7) The set of pack pairs is extended by following use->def and def->use links.
173 // Find the adjacent memory references and create pack pairs for them.
223 // Create initial pack pairs of memory operations for which
277 } else { // Don't create unaligned pack
625 // Can s1 and s2 be in a pack with s1 immediately preceding s2 and
657 // Does s exist in a pack at position pos?
681 // only pack memops that are in the same alias set until that's fixed.
756 // Extend packset by following use->def and def->use links from pack members.
777 // Extend the packset by visiting operand definitions of nodes in pack p
811 // Extend the packset by visiting uses of nodes in pack p
878 // Estimate the savings from executing s1 and s2 as a pack
963 // Skip pack which can't be vector.
970 Node_List* pack = new Node_List();
972 pack->push(p1->at(j));
973 if (pack->size() >= max_vlen) {
974 assert(is_power_of_2(pack->size()), "sanity");
975 _packset.append(pack);
976 pack = new Node_List();
1002 // point where a node is only in one pack (after combine_packs).
1009 assert(my_pack(s) == NULL, "only in one pack");
1064 // Can code be generated for pack p?
1071 // For pack p, are all idx operands the same?
1086 // For pack p, are all operands and all uses (with in the block) vector?
1137 // Co-locate in the memory graph the members of each memory pack
1197 // To schedule a store pack, we need to move any sandwiched memory ops either before
1198 // or after the pack, based upon dependence information:
1199 // (1) If any store in the pack depends on the sandwiched memory op, the
1200 // sandwiched memory op must be scheduled BEFORE the pack;
1201 // (2) If a sandwiched memory op depends on any store in the pack, the
1202 // sandwiched memory op must be scheduled AFTER the pack;
1205 // scheduled before the pack, memB must also be scheduled before the pack;
1207 // schedule this store AFTER the pack
1209 // (6) Finally, all memory ops in another single pack should be moved in the same direction.
1211 // To schedule a load pack, we use the memory state of either the first or the last load in
1212 // the pack, based on the dependence constraint.
1235 // determine which memory operations should be scheduled before the pack
1276 assert(in_pack(previous, pk), "previous stays in pack");
1310 // all loads in the pack should have the same memory state. By default,
1428 // Create a vector operand for the nodes in pack p for operand: in(opd_idx)
1486 // Insert pack operation
1510 // If a use of pack p is not a vector use, then replace the
1516 // Inspect each use of each pack member. For each use that is
1909 // Are s1 and s2 in a pack pair and ordered as s1,s2?
1922 // Is s in pack p?
1933 // Remove the pack at position pos in the packset
1944 // Return the node executed first in pack p. Uses the RPO block list
1961 // Return the node executed last in pack p.