filename | src/xlat/regalloc.h |
changeset | 1011:fdd58619b760 |
author | nkeynes |
date | Sun Apr 12 07:24:45 2009 +0000 (15 years ago) |
branch | xlat-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 */ |
.