assert(reg && "no in register found");
/* in case of a joker register: just return a valid register */
- if (arch_register_type_is(reg, joker)) {
+ if (reg->type & arch_register_type_joker) {
const arch_register_req_t *req = arch_get_register_req(irn, pos);
if (arch_register_req_is(req, limited)) {
void arm_emit_shifter_operand(const ir_node *node)
{
- const arm_shifter_operand_t *attr = get_irn_generic_attr_const(node);
+ const arm_shifter_operand_t *attr = get_arm_shifter_operand_attr_const(node);
switch (attr->shift_modifier) {
case ARM_SHF_REG:
typedef struct sym_or_tv_t {
union {
ir_entity *entity; /**< An entity. */
- tarval *tv; /**< A tarval. */
+ ir_tarval *tv; /**< A tarval. */
const void *generic; /**< For generic compare. */
} u;
unsigned label; /**< the associated label. */
static void emit_arm_FrameAddr(const ir_node *irn)
{
- const arm_SymConst_attr_t *attr = get_irn_generic_attr_const(irn);
+ const arm_SymConst_attr_t *attr = get_arm_SymConst_attr_const(irn);
be_emit_cstring("\tadd ");
arm_emit_dest_register(irn, 0);
*/
static ir_node *sched_next_block(const ir_node *block)
{
- return get_irn_link(block);
+ return (ir_node*)get_irn_link(block);
}
/**
*/
static ir_node *get_cfop_target_block(const ir_node *irn)
{
- return get_irn_link(irn);
+ return (ir_node*)get_irn_link(irn);
}
/**
ir_node *op1 = get_irn_n(irn, 0);
const char *suffix;
pn_Cmp pnc = get_arm_CondJmp_pnc(irn);
- const arm_cmp_attr_t *cmp_attr = get_irn_generic_attr_const(op1);
+ const arm_cmp_attr_t *cmp_attr = get_arm_cmp_attr_const(op1);
bool is_signed = !cmp_attr->is_unsigned;
assert(is_arm_Cmp(op1) || is_arm_Tst(op1));
/** Sort register in ascending order. */
static int reg_cmp(const void *a, const void *b)
{
- const arch_register_t * const *ra = a;
- const arch_register_t * const *rb = b;
+ const arch_register_t * const *ra = (const arch_register_t**)a;
+ const arch_register_t * const *rb = (const arch_register_t**)b;
return *ra < *rb ? -1 : (*ra != *rb);
}
*/
static void emit_arm_CopyB(const ir_node *irn)
{
- const arm_CopyB_attr_t *attr = get_irn_generic_attr_const(irn);
+ const arm_CopyB_attr_t *attr = get_arm_CopyB_attr_const(irn);
unsigned size = attr->size;
const char *tgt = arch_register_get_name(get_in_reg(irn, 0));
*/
static int cmp_sym_or_tv(const void *elt, const void *key, size_t size)
{
- const sym_or_tv_t *p1 = elt;
- const sym_or_tv_t *p2 = key;
+ const sym_or_tv_t *p1 = (const sym_or_tv_t*)elt;
+ const sym_or_tv_t *p2 = (const sym_or_tv_t*)key;
(void) size;
/* as an identifier NEVER can point to a tarval, it's enough
be_emit_cstring("\t.align 2\n");
- foreach_set(sym_or_tv, entry) {
+ foreach_set(sym_or_tv, sym_or_tv_t*, entry) {
emit_constant_name(entry);
be_emit_cstring(":\n");
be_emit_write_line();
be_emit_char('\n');
be_emit_write_line();
} else {
- tarval *tv = entry->u.tv;
+ ir_tarval *tv = entry->u.tv;
int i, size = get_mode_size_bytes(get_tarval_mode(tv));
unsigned v;