This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/6466] backend uses bad type for frame size calculation.
- From: "cvs-commit at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 26 Nov 2003 09:48:37 -0000
- Subject: [Bug target/6466] backend uses bad type for frame size calculation.
- References: <20020425193600.6466.davem@redhat.com>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Additional Comments From cvs-commit at gcc dot gnu dot org 2003-11-26 09:48 -------
Subject: Bug 6466
CVSROOT: /cvs/gcc
Module name: gcc
Changes by: ebotcazou@gcc.gnu.org 2003-11-26 09:48:22
Modified files:
gcc : ChangeLog
gcc/config/sparc: sparc-protos.h sparc.c
Log message:
PR target/6466
* config/sparc/sparc-protos.h (compute_frame_size): New prototype.
(sparc_flat_compute_frame_size): Likewise.
(sparc_flat_save_restore): Move prototype...
* config/sparc/sparc.c (sparc_flat_save_restore): ...here.
(save_regs): New prototype.
(build_big_number): Likewise.
(apparent_fsize): Change type to HOST_WIDE_INT.
(actual_fsize): Likewise.
(frame_base_offset): Likewise.
(build_big_number): Add support for HOST_BITS_PER_WIDE_INT == 64.
Change string descriptor to HOST_WIDE_INT_PRINT_DEC.
[TARGET_ARCH64]: Use the sequence of sparc_emit_set_const64_longway
to load a 64-bit constant.
(sparc_nonflat_function_prologue): Change string descriptor to
HOST_WIDE_INT_PRINT_DEC. Change offset type to HOST_WIDE_INT.
(output_restore_regs): Change offset type to HOST_WIDE_INT.
(sparc_nonflat_function_epilogue): Change string descriptor to
HOST_WIDE_INT_PRINT_DEC. Use build_big_number.
(output_sibcall): Change size type to HOST_WIDE_INT. Use
build_big_number. Change string descriptor to HOST_WIDE_INT_PRINT_DEC.
(sparc_frame_info): Change types for several components.
(sparc_flat_compute_frame_size): Update types according to previous
change.
(sparc_flat_function_prologue): Change string descriptor to
HOST_WIDE_INT_PRINT_DEC. Change offset type to int. Use
build_big_number.
(sparc_flat_function_epilogue): Change offset type to int.
Rename 'size1' into 'reg_offset1'. Change string descriptor to
HOST_WIDE_INT_PRINT_DEC. Use build_big_number. Change big number
limit to 4096 instead of 4095.
* config/sparc/sparc.c (mems_ok_for_ldd_peep): Change offset type to
HOST_WIDE_INT.
Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gcc&r1=2.1827&r2=2.1828
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/sparc/sparc-protos.h.diff?cvsroot=gcc&r1=1.37&r2=1.38
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/sparc/sparc.c.diff?cvsroot=gcc&r1=1.269&r2=1.270
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=6466