Revision e8996ee0 tcg/tcg.h

b/tcg/tcg.h
98 98

  
99 99
#define TCG_TYPE_I32 0
100 100
#define TCG_TYPE_I64 1
101
#define TCG_TYPE_COUNT 2 /* number of different types */
101 102

  
102 103
#if TCG_TARGET_REG_BITS == 32
103 104
#define TCG_TYPE_PTR TCG_TYPE_I32
......
188 189
    unsigned int fixed_reg:1;
189 190
    unsigned int mem_coherent:1;
190 191
    unsigned int mem_allocated:1;
192
    unsigned int temp_allocated:1; /* never used for code gen */
193
    /* index of next free temp of same base type, -1 if end */
194
    int next_free_temp;
191 195
    const char *name;
192 196
} TCGTemp;
193 197

  
......
208 212
    TCGTemp *temps; /* globals first, temps after */
209 213
    int nb_globals;
210 214
    int nb_temps;
215
    int first_free_temp[TCG_TYPE_COUNT]; /* index of free temps, -1 if none */
216

  
211 217
    /* constant indexes (end of temp array) */
212 218
    int const_start;
213 219
    int const_end;
......
236 242
    TCGHelperInfo *helpers;
237 243
    int nb_helpers;
238 244
    int allocated_helpers;
245
    int helpers_sorted;
239 246

  
240 247
#ifdef CONFIG_PROFILER
241 248
    /* profiling info */
......
299 306
TCGv tcg_global_mem_new(TCGType type, int reg, tcg_target_long offset,
300 307
                        const char *name);
301 308
TCGv tcg_temp_new(TCGType type);
309
void tcg_temp_free(TCGv arg);
302 310
char *tcg_get_arg_str(TCGContext *s, char *buf, int buf_size, TCGv arg);
303 311
void tcg_dump_info(FILE *f,
304 312
                   int (*cpu_fprintf)(FILE *f, const char *fmt, ...));
......
381 389

  
382 390
void tcg_out_reloc(TCGContext *s, uint8_t *code_ptr, int type, 
383 391
                   int label_index, long addend);
384
void tcg_reg_alloc_start(TCGContext *s);
385
void tcg_reg_alloc_bb_end(TCGContext *s);
386
void tcg_liveness_analysis(TCGContext *s);
387 392
const TCGArg *tcg_gen_code_op(TCGContext *s, int opc, const TCGArg *args1,
388 393
                              unsigned int dead_iargs);
389 394

  

Also available in: Unified diff