function.c (struct epi_info): New field const_equiv.
authorRichard Kenner <kenner@vlsi1.ultra.nyu.edu>
Fri, 14 Nov 2003 17:28:25 +0000 (17:28 +0000)
committerRichard Kenner <kenner@gcc.gnu.org>
Fri, 14 Nov 2003 17:28:25 +0000 (12:28 -0500)
commitf285d67bfe945cb4a02e3da0139aa4a171ba106a
tree753d9314a0fd4ae7558309808837be7aaf893eae
parenta477ab83205c208ab4e461b0af4af1abaad2ceae
function.c (struct epi_info): New field const_equiv.

PR/6552
* function.c (struct epi_info): New field const_equiv.
(update_epilogue_consts): New function.
(keep_stack_depressed): Clear new field and verify scratch register
doesn't have it set.
Call new function via note_stores.
(handle_epilogue_set): Allow setting SP equiv reg in different mode.
Allow PLUS where second operand is register known set to constant.
(emit_equiv_load): Write load using proper mode if source different.
* config/mips/mips.md (return_internal): Put (return) first.

From-SVN: r73609
gcc/ChangeLog
gcc/config/mips/mips.md
gcc/function.c