Annotation of GNUtools/cc/basic-block.h, revision 1.1.1.1

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: /* Number of bits in each actual element of a regset.  */
                     22: 
                     23: #define REGSET_ELT_BITS HOST_BITS_PER_WIDE_INT
                     24: 
                     25: /* Type to use for a regset element.  Note that lots of code assumes
                     26:    that the initial part of a regset that contains information on the
                     27:    hard registers is the same format as a HARD_REG_SET.  */
                     28: 
                     29: #define REGSET_ELT_TYPE unsigned HOST_WIDE_INT
                     30: 
                     31: /* Define the type for a pointer to a set with a bit for each
                     32:    (hard or pseudo) register.  */
                     33: 
                     34: typedef REGSET_ELT_TYPE *regset;
                     35: 
                     36: /* Size of a regset for the current function,
                     37:    in (1) bytes and (2) elements.  */
                     38: 
                     39: extern int regset_bytes;
                     40: extern int regset_size;
                     41: 
                     42: /* Number of basic blocks in the current function.  */
                     43: 
                     44: extern int n_basic_blocks;
                     45: 
                     46: /* Index by basic block number, get first insn in the block.  */
                     47: 
                     48: extern rtx *basic_block_head;
                     49: 
                     50: /* Index by basic block number, get last insn in the block.  */
                     51: 
                     52: extern rtx *basic_block_end;
                     53: 
                     54: /* Index by basic block number, get address of regset
                     55:    describing the registers live at the start of that block.  */
                     56: 
                     57: extern regset *basic_block_live_at_start;
                     58: 
                     59: /* Indexed by n, gives number of basic block that  (REG n) is used in.
                     60:    If the value is REG_BLOCK_GLOBAL (-2),
                     61:    it means (REG n) is used in more than one basic block.
                     62:    REG_BLOCK_UNKNOWN (-1) means it hasn't been seen yet so we don't know.
                     63:    This information remains valid for the rest of the compilation
                     64:    of the current function; it is used to control register allocation.  */
                     65: 
                     66: #define REG_BLOCK_UNKNOWN -1
                     67: #define REG_BLOCK_GLOBAL -2
                     68: extern int *reg_basic_block;

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.