|
|
1.1 ! root 1: /* Define control and data flow tables, and regsets. ! 2: Copyright (C) 1987 Free Software Foundation, Inc. ! 3: ! 4: This file is part of GNU CC. ! 5: ! 6: GNU CC is free software; you can redistribute it and/or modify ! 7: it under the terms of the GNU General Public License as published by ! 8: the Free Software Foundation; either version 2, or (at your option) ! 9: any later version. ! 10: ! 11: GNU CC is distributed in the hope that it will be useful, ! 12: but WITHOUT ANY WARRANTY; without even the implied warranty of ! 13: MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ! 14: GNU General Public License for more details. ! 15: ! 16: You should have received a copy of the GNU General Public License ! 17: along with GNU CC; see the file COPYING. If not, write to ! 18: the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ ! 19: ! 20: ! 21: /* Define the type for a pointer to a set with a bit for each ! 22: (hard or pseudo) register. */ ! 23: ! 24: typedef long *regset; ! 25: ! 26: /* Size of a regset for the current function, ! 27: in (1) bytes and (2) elements. */ ! 28: ! 29: extern int regset_bytes; ! 30: extern int regset_size; ! 31: ! 32: /* Number of bits in each actual element of a regset. */ ! 33: ! 34: #define REGSET_ELT_BITS HOST_BITS_PER_INT ! 35: ! 36: /* Number of basic blocks in the current function. */ ! 37: ! 38: extern int n_basic_blocks; ! 39: ! 40: /* Index by basic block number, get first insn in the block. */ ! 41: ! 42: extern rtx *basic_block_head; ! 43: ! 44: /* Index by basic block number, get last insn in the block. */ ! 45: ! 46: extern rtx *basic_block_end; ! 47: ! 48: /* Index by basic block number, get address of regset ! 49: describing the registers live at the start of that block. */ ! 50: ! 51: extern regset *basic_block_live_at_start; ! 52: ! 53: /* Indexed by n, gives number of basic block that (REG n) is used in. ! 54: If the value is REG_BLOCK_GLOBAL (-2), ! 55: it means (REG n) is used in more than one basic block. ! 56: REG_BLOCK_UNKNOWN (-1) means it hasn't been seen yet so we don't know. ! 57: This information remains valid for the rest of the compilation ! 58: of the current function; it is used to control register allocation. */ ! 59: ! 60: #define REG_BLOCK_UNKNOWN -1 ! 61: #define REG_BLOCK_GLOBAL -2 ! 62: extern short *reg_basic_block;
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.