static bool node_has_sp_base(ir_node const *const node) { int input; if (is_sparc_FrameAddr(node)) { input = n_sparc_FrameAddr_base; } else if (is_sparc_Ld(node)) { input = n_sparc_Ld_ptr; } else if (is_sparc_St(node)) { input = n_sparc_St_ptr; } else if (is_sparc_Ldf(node)) { input = n_sparc_Ldf_ptr; } else if (is_sparc_Stf(node)) { input = n_sparc_Stf_ptr; } else { panic("Unexpected node %+F", node); } arch_register_t const *const reg = arch_get_irn_register_in(node, input); return reg == &sparc_registers[REG_SP]; }
bool sparc_has_load_store_attr(const ir_node *node) { return is_sparc_Ld(node) || is_sparc_St(node) || is_sparc_Ldf(node) || is_sparc_Stf(node); }