static void tcg_out_reloc(TCGContext *s, tcg_insn_unit *code_ptr, int type,

                          int label_index, intptr_t addend)

{

    TCGLabel *l;

    TCGRelocation *r;



    l = &s->labels[label_index];

    if (l->has_value) {

        /* FIXME: This may break relocations on RISC targets that

           modify instruction fields in place.  The caller may not have 

           written the initial value.  */

        patch_reloc(code_ptr, type, l->u.value, addend);

    } else {

        /* add a new relocation entry */

        r = tcg_malloc(sizeof(TCGRelocation));

        r->type = type;

        r->ptr = code_ptr;

        r->addend = addend;

        r->next = l->u.first_reloc;

        l->u.first_reloc = r;

    }

}

static void tcg_out_reloc(TCGContext *s, tcg_insn_unit *code_ptr, int type,

                          int label_index, intptr_t addend)

{

    TCGLabel *l;

    TCGRelocation *r;



    l = &s->labels[label_index];

    if (l->has_value) {

        





        patch_reloc(code_ptr, type, l->u.value, addend);

    } else {

        

        r = tcg_malloc(sizeof(TCGRelocation));

        r->type = type;

        r->ptr = code_ptr;

        r->addend = addend;

        r->next = l->u.first_reloc;

        l->u.first_reloc = r;

    }

}

static void FUNC_0(TCGContext *VAR_0, tcg_insn_unit *VAR_1, int VAR_2,

                          int VAR_3, intptr_t VAR_4)

{

    TCGLabel *l;

    TCGRelocation *r;



    l = &VAR_0->labels[VAR_3];

    if (l->has_value) {

        





        patch_reloc(VAR_1, VAR_2, l->u.value, VAR_4);

    } else {

        

        r = tcg_malloc(sizeof(TCGRelocation));

        r->VAR_2 = VAR_2;

        r->ptr = VAR_1;

        r->VAR_4 = VAR_4;

        r->next = l->u.first_reloc;

        l->u.first_reloc = r;

    }

}

static void FUNC_0(TCGContext *VAR_0, tcg_insn_unit *VAR_1, int VAR_2,
int VAR_3, intptr_t VAR_4)
{ TCGLabel *l; TCGRelocation *r; l = &VAR_0->labels[VAR_3]; if (l->has_value) { patch_reloc(VAR_1, VAR_2, l->u.value, VAR_4); } else { r = tcg_malloc(sizeof(TCGRelocation)); r->VAR_2 = VAR_2; r->ptr = VAR_1; r->VAR_4 = VAR_4; r->next = l->u.first_reloc; l->u.first_reloc = r; } }