src/share/vm/opto/superword.hpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File
*** old/src/share/vm/opto/superword.hpp	Mon Mar 30 19:43:01 2015
--- new/src/share/vm/opto/superword.hpp	Mon Mar 30 19:43:01 2015

*** 247,256 **** --- 247,257 ---- private: IdealLoopTree* _lpt; // Current loop tree node LoopNode* _lp; // Current LoopNode Node* _bb; // Current basic block PhiNode* _iv; // Induction var + bool _race_possible; // In cases where SDMU is true // Accessors Arena* arena() { return _arena; } Node* bb() { return _bb; }
*** 335,354 **** --- 336,359 ---- bool are_adjacent_refs(Node* s1, Node* s2); // Are s1 and s2 similar? bool isomorphic(Node* s1, Node* s2); // Is there no data path from s1 to s2 or s2 to s1? bool independent(Node* s1, Node* s2); + // Is there a data path between s1 and s2 and both are reductions? + bool reduction(Node* s1, Node* s2); // Helper for independent bool independent_path(Node* shallow, Node* deep, uint dp=0); void set_alignment(Node* s1, Node* s2, int align); int data_size(Node* s); // Extend packset by following use->def and def->use links from pack members. void extend_packlist(); // Extend the packset by visiting operand definitions of nodes in pack p bool follow_use_defs(Node_List* p); // Extend the packset by visiting uses of nodes in pack p bool follow_def_uses(Node_List* p); + // For extended packsets, ordinally arrange uses packset by major component + void order_def_uses(Node_List* p); // Estimate the savings from executing s1 and s2 as a pack int est_savings(Node* s1, Node* s2); int adjacent_profit(Node* s1, Node* s2); int pack_cost(int ct); int unpack_cost(int ct);
*** 417,429 **** --- 422,437 ---- void print_packset(); void print_pack(Node_List* p); void print_bb(); void print_stmt(Node* s); char* blank(uint depth); + + void packset_sort(int n); }; + //------------------------------SWPointer--------------------------- // Information about an address for dependence checking and vector alignment class SWPointer VALUE_OBJ_CLASS_SPEC { protected: MemNode* _mem; // My memory reference node

src/share/vm/opto/superword.hpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File