Commit 9a623a65 by Zack Weinberg

print-rtl.c (print_rtx): Call PRINT_REG with second argument -1.

	* print-rtl.c (print_rtx): Call PRINT_REG with second argument -1.
	* config/i386/i386.c (print_reg): Abort on a virtual register
	if code != -1; not if file == asm_out_file.
	* config/i386/i386.h (PRINT_REG): Document meaning of CODE == -1.
	(DEBUG_PRINT_REG): Delete, unused.

From-SVN: r73203
parent 634879c8
2003-11-02 Zack Weinberg <zack@codesourcery.com>
* print-rtl.c (print_rtx): Call PRINT_REG with second argument -1.
* config/i386/i386.c (print_reg): Abort on a virtual register
if code != -1; not if file == asm_out_file.
* config/i386/i386.h (PRINT_REG): Document meaning of CODE == -1.
(DEBUG_PRINT_REG): Delete, unused.
2003-11-02 Andreas Schwab <schwab@suse.de> 2003-11-02 Andreas Schwab <schwab@suse.de>
* config/ia64/fde-glibc.c (_GNU_SOURCE): Define to 1 instead of * config/ia64/fde-glibc.c (_GNU_SOURCE): Define to 1 instead of
...@@ -164,36 +172,36 @@ ...@@ -164,36 +172,36 @@
code. code.
2003-10-31 Andreas Jaeger <aj@suse.de>, 2003-10-31 Andreas Jaeger <aj@suse.de>,
Zack Weinberg <zack@codesourcery.com> Zack Weinberg <zack@codesourcery.com>
* crtstuff.c (__register_frame_info, __register_frame_info_bases) * crtstuff.c (__register_frame_info, __register_frame_info_bases)
(__deregister_frame_info, __deregister_frame_info_bases): (__deregister_frame_info, __deregister_frame_info_bases):
Constify void * argument. Constify void * argument.
* unwind-dw2-fde.h (struct fde_vector): * unwind-dw2-fde.h (struct fde_vector):
Constify 'orig_data' and 'array' fields. Constify 'orig_data' and 'array' fields.
(__register_frame_info, __register_frame_info_bases) (__register_frame_info, __register_frame_info_bases)
(__deregister_frame_info, __deregister_frame_info_bases): (__deregister_frame_info, __deregister_frame_info_bases):
Constify void * argument. Constify void * argument.
(get_cie, next_fde, _Unwind_Find_FDE): Constify arguments, (get_cie, next_fde, _Unwind_Find_FDE): Constify arguments,
return values, and casts of type fde *, struct dwarf_fde *, return values, and casts of type fde *, struct dwarf_fde *,
and struct dwarf_cie *. and struct dwarf_cie *.
* unwind-dw2-fde.c (__register_frame_info, __register_frame_info_bases) * unwind-dw2-fde.c (__register_frame_info, __register_frame_info_bases)
(__deregister_frame_info, __deregister_frame_info_bases): (__deregister_frame_info, __deregister_frame_info_bases):
Constify void * argument. Constify void * argument.
(get_cie_encoding, ): Constify struct dwarf_cie * argument. (get_cie_encoding, ): Constify struct dwarf_cie * argument.
(get_fde_encoding, fde_unencoded_compare, fde_single_encoding_compare) (get_fde_encoding, fde_unencoded_compare, fde_single_encoding_compare)
(fde_mixed_encoding_compare, fde_compare_t, start_fde_sort, fde_insert) (fde_mixed_encoding_compare, fde_compare_t, start_fde_sort, fde_insert)
fde_split, SWAP, frame_downheap, frame_heapsort) fde_split, SWAP, frame_downheap, frame_heapsort)
(classify_object_over_fdes, add_fdes, linear_search_fdes, (classify_object_over_fdes, add_fdes, linear_search_fdes,
binary_search_unencoded_fdes, binary_search_single_encoding_fdes, binary_search_unencoded_fdes, binary_search_single_encoding_fdes,
binary_search_mixed_encoding_fdes, search_object, _Unwind_Find_FDE): binary_search_mixed_encoding_fdes, search_object, _Unwind_Find_FDE):
Constify arguments, local variables, return values, and casts Constify arguments, local variables, return values, and casts
of type fde *, fde **, struct dwarf_fde *, and struct dwarf_cie *. of type fde *, fde **, struct dwarf_fde *, and struct dwarf_cie *.
Use const pointer types in sizeof expressions, for clarity. Use const pointer types in sizeof expressions, for clarity.
* unwind-dw2-fde-glibc.c * unwind-dw2-fde-glibc.c
(_Unwind_find_registered_FDE, _Unwind_find_FDE): Constify return value. (_Unwind_find_registered_FDE, _Unwind_find_FDE): Constify return value.
(struct unw_eh_callback_data): Constify 'ret' field. (struct unw_eh_callback_data): Constify 'ret' field.
2003-10-31 Fariborz Jahanian <fjahanian@apple.com> 2003-10-31 Fariborz Jahanian <fjahanian@apple.com>
David Edelsohn <edelsohn@gnu.org> David Edelsohn <edelsohn@gnu.org>
...@@ -265,7 +273,7 @@ ...@@ -265,7 +273,7 @@
2003-10-30 Eric Christopher <echristo@redhat.com> 2003-10-30 Eric Christopher <echristo@redhat.com>
* function.c (purge_addressof_1): Add case for REG_RETVAL * function.c (purge_addressof_1): Add case for REG_RETVAL
notes when modes are unequal. notes when modes are unequal.
2003-10-31 Jan Hubicka <jh@suse.cz> 2003-10-31 Jan Hubicka <jh@suse.cz>
......
...@@ -6993,11 +6993,14 @@ put_condition_code (enum rtx_code code, enum machine_mode mode, int reverse, ...@@ -6993,11 +6993,14 @@ put_condition_code (enum rtx_code code, enum machine_mode mode, int reverse,
void void
print_reg (rtx x, int code, FILE *file) print_reg (rtx x, int code, FILE *file)
{ {
if ((REGNO (x) == ARG_POINTER_REGNUM /* Code -1 indicates we are called from print_rtx, and it is not
|| REGNO (x) == FRAME_POINTER_REGNUM an error for a virtual register to appear here. */
|| REGNO (x) == FLAGS_REG if (code == -1)
|| REGNO (x) == FPSR_REG) code = 0;
&& file == asm_out_file) else if (REGNO (x) == ARG_POINTER_REGNUM
|| REGNO (x) == FRAME_POINTER_REGNUM
|| REGNO (x) == FLAGS_REG
|| REGNO (x) == FPSR_REG)
abort (); abort ();
if (ASSEMBLER_DIALECT == ASM_ATT || USER_LABEL_PREFIX[0] == 0) if (ASSEMBLER_DIALECT == ASM_ATT || USER_LABEL_PREFIX[0] == 0)
......
...@@ -2882,7 +2882,8 @@ do { \ ...@@ -2882,7 +2882,8 @@ do { \
If CODE is 'k', pretend the mode is SImode. If CODE is 'k', pretend the mode is SImode.
If CODE is 'q', pretend the mode is DImode. If CODE is 'q', pretend the mode is DImode.
If CODE is 'h', pretend the reg is the `high' byte register. 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 '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) \ #define PRINT_REG(X, CODE, FILE) \
print_reg ((X), (CODE), (FILE)) print_reg ((X), (CODE), (FILE))
...@@ -2899,70 +2900,6 @@ do { \ ...@@ -2899,70 +2900,6 @@ do { \
goto FAIL; \ goto FAIL; \
} while (0); } while (0);
/* Print the name of a register for based on its machine mode and number.
This macro is used to print debugging output.
This macro is different from PRINT_REG in that it may be used in
programs that are not linked with aux-output.o. */
#define DEBUG_PRINT_REG(X, CODE, FILE) \
do { static const char * const hi_name[] = HI_REGISTER_NAMES; \
static const char * const qi_name[] = QI_REGISTER_NAMES; \
fprintf ((FILE), "%d ", REGNO (X)); \
if (REGNO (X) == FLAGS_REG) \
{ fputs ("flags", (FILE)); break; } \
if (REGNO (X) == DIRFLAG_REG) \
{ fputs ("dirflag", (FILE)); break; } \
if (REGNO (X) == FPSR_REG) \
{ fputs ("fpsr", (FILE)); break; } \
if (REGNO (X) == ARG_POINTER_REGNUM) \
{ fputs ("argp", (FILE)); break; } \
if (REGNO (X) == FRAME_POINTER_REGNUM) \
{ fputs ("frame", (FILE)); break; } \
if (STACK_TOP_P (X)) \
{ fputs ("st(0)", (FILE)); break; } \
if (FP_REG_P (X)) \
{ fputs (hi_name[REGNO(X)], (FILE)); break; } \
if (REX_INT_REG_P (X)) \
{ \
switch (GET_MODE_SIZE (GET_MODE (X))) \
{ \
default: \
case 8: \
fprintf ((FILE), "r%i", REGNO (X) \
- FIRST_REX_INT_REG + 8); \
break; \
case 4: \
fprintf ((FILE), "r%id", REGNO (X) \
- FIRST_REX_INT_REG + 8); \
break; \
case 2: \
fprintf ((FILE), "r%iw", REGNO (X) \
- FIRST_REX_INT_REG + 8); \
break; \
case 1: \
fprintf ((FILE), "r%ib", REGNO (X) \
- FIRST_REX_INT_REG + 8); \
break; \
} \
break; \
} \
switch (GET_MODE_SIZE (GET_MODE (X))) \
{ \
case 8: \
fputs ("r", (FILE)); \
fputs (hi_name[REGNO (X)], (FILE)); \
break; \
default: \
fputs ("e", (FILE)); \
case 2: \
fputs (hi_name[REGNO (X)], (FILE)); \
break; \
case 1: \
fputs (qi_name[REGNO (X)], (FILE)); \
break; \
} \
} while (0)
/* a letter which is not needed by the normal asm syntax, which /* a letter which is not needed by the normal asm syntax, which
we can use for operand syntax in the extended asm */ we can use for operand syntax in the extended asm */
......
...@@ -386,7 +386,7 @@ print_rtx (rtx in_rtx) ...@@ -386,7 +386,7 @@ print_rtx (rtx in_rtx)
if (GET_CODE (in_rtx) == REG && value < FIRST_PSEUDO_REGISTER) if (GET_CODE (in_rtx) == REG && value < FIRST_PSEUDO_REGISTER)
{ {
fputc (' ', outfile); fputc (' ', outfile);
PRINT_REG (in_rtx, 0, outfile); PRINT_REG (in_rtx, -1, outfile);
} }
else if (GET_CODE (in_rtx) == REG else if (GET_CODE (in_rtx) == REG
&& value <= LAST_VIRTUAL_REGISTER) && value <= LAST_VIRTUAL_REGISTER)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment