Annotation of gcc/basic-block.h, revision 1.1.1.5

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