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'.
|