return arch_no_register_req;
}
-static void TEMPLATE_set_irn_reg(ir_node *irn, const arch_register_t *reg)
-{
- int pos = 0;
-
- if (is_Proj(irn)) {
- pos = TEMPLATE_translate_proj_pos(irn);
- irn = skip_Proj(irn);
- }
-
- if (is_TEMPLATE_irn(irn)) {
- const arch_register_t **slots;
-
- slots = get_TEMPLATE_slots(irn);
- slots[pos] = reg;
- }
- else {
- /* here we set the registers for the Phi nodes */
- TEMPLATE_set_firm_reg(irn, reg, cur_reg_set);
- }
-}
-
-static const arch_register_t *TEMPLATE_get_irn_reg(const ir_node *irn)
-{
- int pos = 0;
- const arch_register_t *reg = NULL;
-
- if (is_Proj(irn)) {
- pos = TEMPLATE_translate_proj_pos(irn);
- irn = skip_Proj_const(irn);
- }
-
- if (is_TEMPLATE_irn(irn)) {
- const arch_register_t * const *slots;
- slots = get_TEMPLATE_slots_const(irn);
- reg = slots[pos];
- }
- else {
- reg = TEMPLATE_get_firm_reg(irn, cur_reg_set);
- }
-
- return reg;
-}
-
static arch_irn_class_t TEMPLATE_classify(const ir_node *irn)
{
irn = skip_Proj_const(irn);
return 0;
}
-static arch_irn_flags_t TEMPLATE_get_flags(const ir_node *irn)
-{
- irn = skip_Proj_const(irn);
-
- if (is_TEMPLATE_irn(irn)) {
- return get_TEMPLATE_flags(irn);
- }
- else if (is_Unknown(irn)) {
- return arch_irn_flags_ignore;
- }
-
- return 0;
-}
-
static ir_entity *TEMPLATE_get_frame_entity(const ir_node *node)
{
(void) node;
static const arch_irn_ops_t TEMPLATE_irn_ops = {
TEMPLATE_get_irn_reg_req,
- TEMPLATE_set_irn_reg,
- TEMPLATE_get_irn_reg,
TEMPLATE_classify,
- TEMPLATE_get_flags,
TEMPLATE_get_frame_entity,
TEMPLATE_set_frame_entity,
TEMPLATE_set_frame_offset,
0, /* no dword lowering */
0, /* no inline assembly */
0, /* no immediate floating point mode. */
- NULL, /* no additional opcodes */
NULL, /* will be set later */
NULL, /* no creator function */
NULL, /* context for create_intrinsic_fkt */
const arch_isa_if_t TEMPLATE_isa_if = {
TEMPLATE_init,
TEMPLATE_done,
+ NULL, /* handle intrinsics */
TEMPLATE_get_n_reg_class,
TEMPLATE_get_reg_class,
TEMPLATE_get_reg_class_for_mode,