< prev index next >

src/share/vm/adlc/formssel.hpp

Print this page




 149   virtual bool        is_parm(FormDict &globals); // node matches ideal 'Parm'
 150   // ideal opcode enumeration
 151   virtual const char *ideal_Opcode(FormDict &globals)  const;
 152   virtual int         is_expensive() const;     // node matches ideal 'CosD'
 153   virtual int         is_empty_encoding() const; // _size=0 and/or _insencode empty
 154   virtual int         is_tls_instruction() const; // tlsLoadP rule or ideal ThreadLocal
 155   virtual int         is_ideal_copy() const;    // node matches ideal 'Copy*'
 156   virtual bool        is_ideal_negD() const;    // node matches ideal 'NegD'
 157   virtual bool        is_ideal_if()   const;    // node matches ideal 'If'
 158   virtual bool        is_ideal_fastlock() const; // node matches 'FastLock'
 159   virtual bool        is_ideal_membar() const;  // node matches ideal 'MemBarXXX'
 160   virtual bool        is_ideal_loadPC() const;  // node matches ideal 'LoadPC'
 161   virtual bool        is_ideal_box() const;     // node matches ideal 'Box'
 162   virtual bool        is_ideal_goto() const;    // node matches ideal 'Goto'
 163   virtual bool        is_ideal_branch() const;  // "" 'If' | 'Goto' | 'LoopEnd' | 'Jump'
 164   virtual bool        is_ideal_jump() const;    // node matches ideal 'Jump'
 165   virtual bool        is_ideal_return() const;  // node matches ideal 'Return'
 166   virtual bool        is_ideal_halt() const;    // node matches ideal 'Halt'
 167   virtual bool        is_ideal_safepoint() const; // node matches 'SafePoint'
 168   virtual bool        is_ideal_nop() const;     // node matches 'Nop'

 169   virtual bool        is_ideal_control() const; // control node
 170   virtual bool        is_vector() const;        // vector instruction
 171 
 172   virtual Form::CallType is_ideal_call() const; // matches ideal 'Call'
 173   virtual Form::DataType is_ideal_load() const; // node matches ideal 'LoadXNode'
 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




 149   virtual bool        is_parm(FormDict &globals); // node matches ideal 'Parm'
 150   // ideal opcode enumeration
 151   virtual const char *ideal_Opcode(FormDict &globals)  const;
 152   virtual int         is_expensive() const;     // node matches ideal 'CosD'
 153   virtual int         is_empty_encoding() const; // _size=0 and/or _insencode empty
 154   virtual int         is_tls_instruction() const; // tlsLoadP rule or ideal ThreadLocal
 155   virtual int         is_ideal_copy() const;    // node matches ideal 'Copy*'
 156   virtual bool        is_ideal_negD() const;    // node matches ideal 'NegD'
 157   virtual bool        is_ideal_if()   const;    // node matches ideal 'If'
 158   virtual bool        is_ideal_fastlock() const; // node matches 'FastLock'
 159   virtual bool        is_ideal_membar() const;  // node matches ideal 'MemBarXXX'
 160   virtual bool        is_ideal_loadPC() const;  // node matches ideal 'LoadPC'
 161   virtual bool        is_ideal_box() const;     // node matches ideal 'Box'
 162   virtual bool        is_ideal_goto() const;    // node matches ideal 'Goto'
 163   virtual bool        is_ideal_branch() const;  // "" 'If' | 'Goto' | 'LoopEnd' | 'Jump'
 164   virtual bool        is_ideal_jump() const;    // node matches ideal 'Jump'
 165   virtual bool        is_ideal_return() const;  // node matches ideal 'Return'
 166   virtual bool        is_ideal_halt() const;    // node matches ideal 'Halt'
 167   virtual bool        is_ideal_safepoint() const; // node matches 'SafePoint'
 168   virtual bool        is_ideal_nop() const;     // node matches 'Nop'
 169   virtual bool        is_ideal_msk() const;     // node matches 'Msk'
 170   virtual bool        is_ideal_control() const; // control node
 171   virtual bool        is_vector() const;        // vector instruction
 172 
 173   virtual Form::CallType is_ideal_call() const; // matches ideal 'Call'
 174   virtual Form::DataType is_ideal_load() const; // node matches ideal 'LoadXNode'
 175   // Should antidep checks be disabled for this Instruct
 176   // See definition of MatchRule::skip_antidep_check
 177   bool skip_antidep_check() const;
 178   virtual Form::DataType is_ideal_store() const;// node matches ideal 'StoreXNode'
 179           bool        is_ideal_mem() const { return is_ideal_load() != Form::none || is_ideal_store() != Form::none; }
 180   virtual uint        two_address(FormDict &globals); // output reg must match input reg
 181   // when chaining a constant to an instruction, return 'true' and set opType
 182   virtual Form::DataType is_chain_of_constant(FormDict &globals);
 183   virtual Form::DataType is_chain_of_constant(FormDict &globals, const char * &opType);
 184   virtual Form::DataType is_chain_of_constant(FormDict &globals, const char * &opType, const char * &result_type);
 185 
 186   // Check if a simple chain rule
 187   virtual bool        is_simple_chain_rule(FormDict &globals) const;
 188 
 189   // check for structural rematerialization


< prev index next >