summaryrefslogtreecommitdiffstats
path: root/contrib/gcc/regs.h
diff options
context:
space:
mode:
authorkan <kan@FreeBSD.org>2004-07-28 03:11:36 +0000
committerkan <kan@FreeBSD.org>2004-07-28 03:11:36 +0000
commit5e00ec74d8ce58f99801200d4d3d0412c7cc1b28 (patch)
tree052f4bb635f2bea2c5e350bd60c902be100a0d1e /contrib/gcc/regs.h
parent87b8398a7d9f9bf0e28bbcd54a4fc27db2125f38 (diff)
downloadFreeBSD-src-5e00ec74d8ce58f99801200d4d3d0412c7cc1b28.zip
FreeBSD-src-5e00ec74d8ce58f99801200d4d3d0412c7cc1b28.tar.gz
Gcc 3.4.2 20040728.
Diffstat (limited to 'contrib/gcc/regs.h')
-rw-r--r--contrib/gcc/regs.h19
1 files changed, 9 insertions, 10 deletions
diff --git a/contrib/gcc/regs.h b/contrib/gcc/regs.h
index 2e838e3..9c9edcc 100644
--- a/contrib/gcc/regs.h
+++ b/contrib/gcc/regs.h
@@ -1,6 +1,6 @@
/* Define per-register tables for data flow info and register allocation.
Copyright (C) 1987, 1993, 1994, 1995, 1996, 1997, 1998,
- 1999, 2000 Free Software Foundation, Inc.
+ 1999, 2000, 2003 Free Software Foundation, Inc.
This file is part of GCC.
@@ -60,7 +60,7 @@ typedef struct reg_info_def
int live_length; /* # of instructions (REG n) is live */
int calls_crossed; /* # of calls (REG n) is live across */
int basic_block; /* # of basic blocks (REG n) is used in */
- char changes_mode; /* whether (SUBREG (REG n)) exists and
+ char changes_mode; /* whether (SUBREG (REG n)) exists and
is illegal. */
} reg_info;
@@ -76,7 +76,7 @@ extern bitmap_head subregs_of_mode;
#define REG_FREQ(N) (VARRAY_REG (reg_n_info, N)->freq)
-/* The weights for each insn varries from 0 to REG_FREQ_BASE.
+/* The weights for each insn varries from 0 to REG_FREQ_BASE.
This constant does not need to be high, as in infrequently executed
regions we want to count instructions equivalently to optimize for
size instead of speed. */
@@ -153,14 +153,13 @@ extern bitmap_head subregs_of_mode;
extern short *reg_renumber;
-/* Vector indexed by hardware reg
- saying whether that reg is ever used. */
+/* Vector indexed by hardware reg saying whether that reg is ever used. */
extern char regs_ever_live[FIRST_PSEUDO_REGISTER];
-/* Vector indexed by hardware reg giving its name. */
+/* Like regs_ever_live, but saying whether reg is set by asm statements. */
-extern const char * reg_names[FIRST_PSEUDO_REGISTER];
+extern char regs_asm_clobbered[FIRST_PSEUDO_REGISTER];
/* For each hard register, the widest mode object that it can contain.
This will be a MODE_INT mode if the register can hold integers. Otherwise
@@ -214,14 +213,14 @@ extern int caller_save_needed;
/* Select a register mode required for caller save of hard regno REGNO. */
#ifndef HARD_REGNO_CALLER_SAVE_MODE
#define HARD_REGNO_CALLER_SAVE_MODE(REGNO, NREGS, MODE) \
- choose_hard_reg_mode (REGNO, NREGS)
+ choose_hard_reg_mode (REGNO, NREGS, false)
#endif
-/* Registers that get partially clobbered by a call in a given mode.
+/* Registers that get partially clobbered by a call in a given mode.
These must not be call used registers. */
#ifndef HARD_REGNO_CALL_PART_CLOBBERED
#define HARD_REGNO_CALL_PART_CLOBBERED(REGNO, MODE) 0
#endif
/* Allocate reg_n_info tables */
-extern void allocate_reg_info PARAMS ((size_t, int, int));
+extern void allocate_reg_info (size_t, int, int);
OpenPOWER on IntegriCloud