diff options
author | Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | 2003-12-31 23:02:44 +0000 |
---|---|---|
committer | Richard Kenner <kenner@gcc.gnu.org> | 2003-12-31 18:02:44 -0500 |
commit | a55f4481282f3274a0712e2a1e0b80ee54b987c9 (patch) | |
tree | 5f258284a00af9c99b77923dab2e2c78109e1b51 /gcc | |
parent | a5a8386f2d409144f400bd73d675f21e1b2396e8 (diff) | |
download | gcc-a55f4481282f3274a0712e2a1e0b80ee54b987c9.zip gcc-a55f4481282f3274a0712e2a1e0b80ee54b987c9.tar.gz gcc-a55f4481282f3274a0712e2a1e0b80ee54b987c9.tar.bz2 |
print-rtl.c (print_rtx): For hard register...
* print-rtl.c (print_rtx): For hard register, write out register
number and register name instead of calling PRINT_REG.
* defaults.h (PRINT_REG): Deleted.
* config/i386/i386.c (print_reg): Remove handling of CODE of -1.
Move comments here from i386.h.
(print_operand, print_operand_address): Call print_reg directly.
* config/i386/i386.h (PRINT_REG): Deleted.
From-SVN: r75282
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 10 | ||||
-rw-r--r-- | gcc/config/i386/i386.c | 32 | ||||
-rw-r--r-- | gcc/config/i386/i386.h | 14 | ||||
-rw-r--r-- | gcc/defaults.h | 6 | ||||
-rw-r--r-- | gcc/print-rtl.c | 6 |
5 files changed, 30 insertions, 38 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index a21dfac..b197c75 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,13 @@ +2003-12-31 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> + + * print-rtl.c (print_rtx): For hard register, write out register + number and register name instead of calling PRINT_REG. + * defaults.h (PRINT_REG): Deleted. + * config/i386/i386.c (print_reg): Remove handling of CODE of -1. + Move comments here from i386.h. + (print_operand, print_operand_address): Call print_reg directly. + * config/i386/i386.h (PRINT_REG): Deleted. + 2003-12-31 Roger Sayle <roger@eyesopen.com> * config/ia64/hpux.h (TARGET_OS_CPP_BUILTINS): Define diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c index 6a49d42..2762f63 100644 --- a/gcc/config/i386/i386.c +++ b/gcc/config/i386/i386.c @@ -6968,17 +6968,21 @@ put_condition_code (enum rtx_code code, enum machine_mode mode, int reverse, fputs (suffix, file); } +/* Print the name of register X to FILE based on its machine mode and number. + If CODE is 'w', pretend the mode is HImode. + If CODE is 'b', pretend the mode is QImode. + If CODE is 'k', pretend the mode is SImode. + If CODE is 'q', pretend the mode is DImode. + If CODE is 'h', pretend the reg is the `high' byte register. + If CODE is 'y', print "st(0)" instead of "st", if the reg is stack op. */ + void print_reg (rtx x, int code, FILE *file) { - /* Code -1 indicates we are called from print_rtx, and it is not - an error for a virtual register to appear here. */ - if (code == -1) - code = 0; - else if (REGNO (x) == ARG_POINTER_REGNUM - || REGNO (x) == FRAME_POINTER_REGNUM - || REGNO (x) == FLAGS_REG - || REGNO (x) == FPSR_REG) + if (REGNO (x) == ARG_POINTER_REGNUM + || REGNO (x) == FRAME_POINTER_REGNUM + || REGNO (x) == FLAGS_REG + || REGNO (x) == FPSR_REG) abort (); if (ASSEMBLER_DIALECT == ASM_ATT || USER_LABEL_PREFIX[0] == 0) @@ -7389,9 +7393,7 @@ print_operand (FILE *file, rtx x, int code) } if (GET_CODE (x) == REG) - { - PRINT_REG (x, code, file); - } + print_reg (x, code, file); else if (GET_CODE (x) == MEM) { @@ -7570,11 +7572,11 @@ print_operand_address (FILE *file, rtx addr) putc ('(', file); if (base) - PRINT_REG (base, 0, file); + print_reg (base, 0, file); if (index) { putc (',', file); - PRINT_REG (index, 0, file); + print_reg (index, 0, file); if (scale != 1) fprintf (file, ",%d", scale); } @@ -7609,7 +7611,7 @@ print_operand_address (FILE *file, rtx addr) putc ('[', file); if (base) { - PRINT_REG (base, 0, file); + print_reg (base, 0, file); if (offset) { if (INTVAL (offset) >= 0) @@ -7625,7 +7627,7 @@ print_operand_address (FILE *file, rtx addr) if (index) { putc ('+', file); - PRINT_REG (index, 0, file); + print_reg (index, 0, file); if (scale != 1) fprintf (file, "*%d", scale); } diff --git a/gcc/config/i386/i386.h b/gcc/config/i386/i386.h index f328eba..9ce250f 100644 --- a/gcc/config/i386/i386.h +++ b/gcc/config/i386/i386.h @@ -2720,7 +2720,7 @@ do { \ For non floating point regs, the following are the HImode names. For float regs, the stack top is sometimes referred to as "%st(0)" - instead of just "%st". PRINT_REG handles this with the "y" code. */ + instead of just "%st". PRINT_OPERAND handles this with the "y" code. */ #define HI_REGISTER_NAMES \ {"ax","dx","cx","bx","si","di","bp","sp", \ @@ -2871,18 +2871,6 @@ do { \ #define PRINT_OPERAND_PUNCT_VALID_P(CODE) \ ((CODE) == '*' || (CODE) == '+' || (CODE) == '&') -/* Print the name of a register based on its machine mode and number. - If CODE is 'w', pretend the mode is HImode. - If CODE is 'b', pretend the mode is QImode. - If CODE is 'k', pretend the mode is SImode. - If CODE is 'q', pretend the mode is DImode. - If CODE is 'h', pretend the reg is the `high' byte register. - If CODE is 'y', print "st(0)" instead of "st", if the reg is stack op. - If CODE is -1, it is not an error for X to be a virtual register. */ - -#define PRINT_REG(X, CODE, FILE) \ - print_reg ((X), (CODE), (FILE)) - #define PRINT_OPERAND(FILE, X, CODE) \ print_operand ((FILE), (X), (CODE)) diff --git a/gcc/defaults.h b/gcc/defaults.h index afe788c..68ab0ab 100644 --- a/gcc/defaults.h +++ b/gcc/defaults.h @@ -679,12 +679,6 @@ You Lose! You must define PREFERRED_DEBUGGING_TYPE! #define STACK_POINTER_OFFSET 0 #endif -/* How to print out a register name. */ -#ifndef PRINT_REG -#define PRINT_REG(RTX, CODE, FILE) \ - fprintf ((FILE), "%s", reg_names[REGNO (RTX)]) -#endif - #ifndef LOCAL_REGNO #define LOCAL_REGNO(REGNO) 0 #endif diff --git a/gcc/print-rtl.c b/gcc/print-rtl.c index 5c3b8d4..f5e30fe 100644 --- a/gcc/print-rtl.c +++ b/gcc/print-rtl.c @@ -384,10 +384,8 @@ print_rtx (rtx in_rtx) #ifndef GENERATOR_FILE if (GET_CODE (in_rtx) == REG && value < FIRST_PSEUDO_REGISTER) - { - fputc (' ', outfile); - PRINT_REG (in_rtx, -1, outfile); - } + fprintf (outfile, " %d %s", REGNO (in_rtx), + reg_names[REGNO (in_rtx)]); else if (GET_CODE (in_rtx) == REG && value <= LAST_VIRTUAL_REGISTER) { |