62 // Convert a dense opcode number to an expanded rule number 63 const int *_reduceOp; 64 const int *_leftOp; 65 const int *_rightOp; 66 67 // Map dense opcode number to info on when rule is swallowed constant. 68 const bool *_swallowed; 69 70 // Map dense rule number to determine if this is an instruction chain rule 71 const uint _begin_inst_chain_rule; 72 const uint _end_inst_chain_rule; 73 74 // We want to clone constants and possible CmpI-variants. 75 // If we do not clone CmpI, then we can have many instances of 76 // condition codes alive at once. This is OK on some chips and 77 // bad on others. Hence the machine-dependent table lookup. 78 const char *_must_clone; 79 80 // Find shared Nodes, or Nodes that otherwise are Matcher roots 81 void find_shared( Node *n ); 82 83 // Debug and profile information for nodes in old space: 84 GrowableArray<Node_Notes*>* _old_node_note_array; 85 86 // Node labeling iterator for instruction selection 87 Node *Label_Root( const Node *n, State *svec, Node *control, const Node *mem ); 88 89 Node *transform( Node *dummy ); 90 91 Node_List _projection_list; // For Machine nodes killing many values 92 93 Node_Array _shared_nodes; 94 95 debug_only(Node_Array _old2new_map;) // Map roots of ideal-trees to machine-roots 96 debug_only(Node_Array _new2old_map;) // Maps machine nodes back to ideal 97 98 // Accessors for the inherited field PhaseTransform::_nodes: 99 void grow_new_node_array(uint idx_limit) { 100 _nodes.map(idx_limit-1, NULL); 101 } | 62 // Convert a dense opcode number to an expanded rule number 63 const int *_reduceOp; 64 const int *_leftOp; 65 const int *_rightOp; 66 67 // Map dense opcode number to info on when rule is swallowed constant. 68 const bool *_swallowed; 69 70 // Map dense rule number to determine if this is an instruction chain rule 71 const uint _begin_inst_chain_rule; 72 const uint _end_inst_chain_rule; 73 74 // We want to clone constants and possible CmpI-variants. 75 // If we do not clone CmpI, then we can have many instances of 76 // condition codes alive at once. This is OK on some chips and 77 // bad on others. Hence the machine-dependent table lookup. 78 const char *_must_clone; 79 80 // Find shared Nodes, or Nodes that otherwise are Matcher roots 81 void find_shared( Node *n ); 82 #ifdef X86 83 bool is_bmi_pattern(Node *n, Node *m); 84 #endif 85 86 // Debug and profile information for nodes in old space: 87 GrowableArray<Node_Notes*>* _old_node_note_array; 88 89 // Node labeling iterator for instruction selection 90 Node *Label_Root( const Node *n, State *svec, Node *control, const Node *mem ); 91 92 Node *transform( Node *dummy ); 93 94 Node_List _projection_list; // For Machine nodes killing many values 95 96 Node_Array _shared_nodes; 97 98 debug_only(Node_Array _old2new_map;) // Map roots of ideal-trees to machine-roots 99 debug_only(Node_Array _new2old_map;) // Maps machine nodes back to ideal 100 101 // Accessors for the inherited field PhaseTransform::_nodes: 102 void grow_new_node_array(uint idx_limit) { 103 _nodes.map(idx_limit-1, NULL); 104 } |