Search
lxdream.org :: lxdream/src/xlat/regalloc.h
lxdream 0.9.1
released Jun 29
Download Now
filename src/xlat/regalloc.h
changeset 1011:fdd58619b760
author nkeynes
date Sun Apr 12 07:24:45 2009 +0000 (15 years ago)
branchxlat-refactor
permissions -rw-r--r--
last change Restructure operand types -
rename to forms to avoid conflict for actual data types
temporary operands are now a first class form
remove explicit types for immediates - now implied by opcode
Initial work on promote-source-reg pass
file annotate diff log raw
nkeynes@1011
     1
/**
nkeynes@1011
     2
 * $Id: regalloc.h 931 2008-10-31 02:57:59Z nkeynes $
nkeynes@1011
     3
 * 
nkeynes@1011
     4
 * Register allocation based on simple linear scan
nkeynes@1011
     5
 *
nkeynes@1011
     6
 * Copyright (c) 2008 Nathan Keynes.
nkeynes@1011
     7
 *
nkeynes@1011
     8
 * This program is free software; you can redistribute it and/or modify
nkeynes@1011
     9
 * it under the terms of the GNU General Public License as published by
nkeynes@1011
    10
 * the Free Software Foundation; either version 2 of the License, or
nkeynes@1011
    11
 * (at your option) any later version.
nkeynes@1011
    12
 *
nkeynes@1011
    13
 * This program is distributed in the hope that it will be useful,
nkeynes@1011
    14
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
nkeynes@1011
    15
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
nkeynes@1011
    16
 * GNU General Public License for more details.
nkeynes@1011
    17
 */
nkeynes@1011
    18
nkeynes@1011
    19
#ifndef lxdream_regalloc_H
nkeynes@1011
    20
#define lxdream_regalloc_H 1
nkeynes@1011
    21
nkeynes@1011
    22
#include "xlat/xir.h"
nkeynes@1011
    23
nkeynes@1011
    24
typedef struct target_machine_reg {
nkeynes@1011
    25
    
nkeynes@1011
    26
} *target_machine_reg_t;
nkeynes@1011
    27
nkeynes@1011
    28
/**
nkeynes@1011
    29
 * Allocate registers from the source machine to the target machine
nkeynes@1011
    30
 */
nkeynes@1011
    31
void xlat_register_alloc( xir_op_t start, xir_op_t end, target_machine_reg_t target_registers );
nkeynes@1011
    32
nkeynes@1011
    33
nkeynes@1011
    34
#endif /* !lxdream_regalloc_H */
.