< prev index next >

src/share/vm/adlc/formssel.hpp

Print this page




 174   // Should antidep checks be disabled for this Instruct
 175   // See definition of MatchRule::skip_antidep_check
 176   bool skip_antidep_check() const;
 177   virtual Form::DataType is_ideal_store() const;// node matches ideal 'StoreXNode'
 178           bool        is_ideal_mem() const { return is_ideal_load() != Form::none || is_ideal_store() != Form::none; }
 179   virtual uint        two_address(FormDict &globals); // output reg must match input reg
 180   // when chaining a constant to an instruction, return 'true' and set opType
 181   virtual Form::DataType is_chain_of_constant(FormDict &globals);
 182   virtual Form::DataType is_chain_of_constant(FormDict &globals, const char * &opType);
 183   virtual Form::DataType is_chain_of_constant(FormDict &globals, const char * &opType, const char * &result_type);
 184 
 185   // Check if a simple chain rule
 186   virtual bool        is_simple_chain_rule(FormDict &globals) const;
 187 
 188   // check for structural rematerialization
 189   virtual bool        rematerialize(FormDict &globals, RegisterForm *registers);
 190 
 191   // loads from memory, so must check for anti-dependence
 192   virtual bool        needs_anti_dependence_check(FormDict &globals) const;
 193   virtual int         memory_operand(FormDict &globals) const;
 194           bool        is_wide_memory_kill(FormDict &globals) const;
 195 
 196   enum memory_operand_type {
 197     NO_MEMORY_OPERAND = -1,
 198     MANY_MEMORY_OPERANDS = 999999
 199   };
 200 
 201 
 202   // This instruction captures the machine-independent bottom_type
 203   // Expected use is for pointer vs oop determination for LoadP
 204   virtual bool        captures_bottom_type(FormDict& globals) const;
 205 
 206   virtual const char *cost();      // Access ins_cost attribute
 207   virtual uint        num_opnds(); // Count of num_opnds for MachNode class
 208                                    // Counts USE_DEF opnds twice.  See also num_unique_opnds().
 209   virtual uint        num_post_match_opnds();
 210   virtual uint        num_consts(FormDict &globals) const;// Constants in match rule
 211   // Constants in match rule with specified type
 212   virtual uint        num_consts(FormDict &globals, Form::DataType type) const;
 213 
 214   // Return the register class associated with 'leaf'.




 174   // Should antidep checks be disabled for this Instruct
 175   // See definition of MatchRule::skip_antidep_check
 176   bool skip_antidep_check() const;
 177   virtual Form::DataType is_ideal_store() const;// node matches ideal 'StoreXNode'
 178           bool        is_ideal_mem() const { return is_ideal_load() != Form::none || is_ideal_store() != Form::none; }
 179   virtual uint        two_address(FormDict &globals); // output reg must match input reg
 180   // when chaining a constant to an instruction, return 'true' and set opType
 181   virtual Form::DataType is_chain_of_constant(FormDict &globals);
 182   virtual Form::DataType is_chain_of_constant(FormDict &globals, const char * &opType);
 183   virtual Form::DataType is_chain_of_constant(FormDict &globals, const char * &opType, const char * &result_type);
 184 
 185   // Check if a simple chain rule
 186   virtual bool        is_simple_chain_rule(FormDict &globals) const;
 187 
 188   // check for structural rematerialization
 189   virtual bool        rematerialize(FormDict &globals, RegisterForm *registers);
 190 
 191   // loads from memory, so must check for anti-dependence
 192   virtual bool        needs_anti_dependence_check(FormDict &globals) const;
 193   virtual int         memory_operand(FormDict &globals) const;

 194 
 195   enum memory_operand_type {
 196     NO_MEMORY_OPERAND = -1,
 197     MANY_MEMORY_OPERANDS = 999999
 198   };
 199 
 200 
 201   // This instruction captures the machine-independent bottom_type
 202   // Expected use is for pointer vs oop determination for LoadP
 203   virtual bool        captures_bottom_type(FormDict& globals) const;
 204 
 205   virtual const char *cost();      // Access ins_cost attribute
 206   virtual uint        num_opnds(); // Count of num_opnds for MachNode class
 207                                    // Counts USE_DEF opnds twice.  See also num_unique_opnds().
 208   virtual uint        num_post_match_opnds();
 209   virtual uint        num_consts(FormDict &globals) const;// Constants in match rule
 210   // Constants in match rule with specified type
 211   virtual uint        num_consts(FormDict &globals, Form::DataType type) const;
 212 
 213   // Return the register class associated with 'leaf'.


< prev index next >