|
|
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 distributed in the hope that it will be useful,
7: but WITHOUT ANY WARRANTY. No author or distributor
8: accepts responsibility to anyone for the consequences of using it
9: or for whether it serves any particular purpose or works at all,
10: unless he says so in writing. Refer to the GNU CC General Public
11: License for full details.
12:
13: Everyone is granted permission to copy, modify and redistribute
14: GNU CC, but only under the conditions described in the
15: GNU CC General Public License. A copy of this license is
16: supposed to have been given to you along with GNU CC so you
17: can know your rights and responsibilities. It should be in a
18: file named COPYING. Among other things, the copyright notice
19: and this notice must be preserved on all copies. */
20:
21:
22: /* Define the type for a pointer to a set with a bit for each
23: (hard or pseudo) register. */
24:
1.1.1.2 root 25: typedef long *regset;
1.1 root 26:
27: /* Size of a regset for the current function,
28: in (1) bytes and (2) elements. */
29:
30: extern int regset_bytes;
31: extern int regset_size;
32:
33: /* Number of bits in each actual element of a regset. */
34:
35: #define REGSET_ELT_BITS HOST_BITS_PER_INT
36:
37: /* Number of basic blocks in the current function. */
38:
39: extern int n_basic_blocks;
40:
41: /* Index by basic block number, get first insn in the block. */
42:
43: extern rtx *basic_block_head;
44:
45: /* Index by basic block number, get last insn in the block. */
46:
47: extern rtx *basic_block_end;
48:
49: /* Index by basic block number, get address of regset
50: describing the registers live at the start of that block. */
51:
52: extern regset *basic_block_live_at_start;
53:
54: /* Indexed by n, gives number of basic block that (REG n) is used in.
1.1.1.3 ! root 55: If the value is REG_BLOCK_GLOBAL (-2),
! 56: it means (REG n) is used in more than one basic block.
! 57: REG_BLOCK_UNKNOWN (-1) means it hasn't been seen yet so we don't know.
! 58: This information remains valid for the rest of the compilation
! 59: of the current function; it is used to control register allocation. */
1.1 root 60:
1.1.1.3 ! root 61: #define REG_BLOCK_UNKNOWN -1
! 62: #define REG_BLOCK_GLOBAL -2
1.1 root 63: extern short *reg_basic_block;
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.