This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[patch] Remove PROMOTE_FOR_CALL_ONLY
- From: Paul Brook <paul at codesourcery dot com>
- To: gcc-patches at gcc dot gnu dot org
- Cc: Richard Earnshaw <rearnsha at arm dot com>
- Date: Tue, 27 Apr 2004 17:12:50 +0100
- Subject: [patch] Remove PROMOTE_FOR_CALL_ONLY
- Organization: CodeSourcery
The patch below removes and poisons PROMOTE_FOR_CALL_ONLY, as previously
discussed
http://gcc.gnu.org/ml/gcc-patches/2004-04/msg00975.html
Tested with cross to arm-non-elf, in addition to previous testing.
Ok?
Paul
2004-04-27 Paul Brook <paul@codesourcery.com>
* calls.c (precompute_arguments): Remove PROMOTE_FOR_CALL_ONLY.
* function.c (assign_temp): Ditto.
* system.h (PROMOTE_FOR_CALL_ONLY): Poison.
Index: calls.c
===================================================================
RCS file: /var/cvsroot/gcc-cvs/gcc/gcc/calls.c,v
retrieving revision 1.329
diff -u -p -r1.329 calls.c
--- a/calls.c 5 Apr 2004 12:24:59 -0000 1.329
+++ b/calls.c 15 Apr 2004 14:19:49 -0000
@@ -1407,7 +1407,7 @@ precompute_arguments (int flags, int num
args[i].value
= convert_modes (args[i].mode, mode,
args[i].value, args[i].unsignedp);
-#ifdef PROMOTE_FOR_CALL_ONLY
+#if defined(PROMOTE_FUNCTION_MODE) && !defined(PROMOTE_MODE)
/* CSE will replace this only if it contains args[i].value
pseudo, so convert it down to the declared mode using
a SUBREG. */
Index: function.c
===================================================================
RCS file: /var/cvsroot/gcc-cvs/gcc/gcc/function.c,v
retrieving revision 1.510
diff -u -p -r1.510 function.c
--- a/function.c 9 Apr 2004 01:38:12 -0000 1.510
+++ b/function.c 15 Apr 2004 14:18:47 -0000
@@ -841,7 +841,7 @@ assign_temp (tree type_or_decl, int keep
{
tree type, decl;
enum machine_mode mode;
-#ifndef PROMOTE_FOR_CALL_ONLY
+#ifdef PROMOTE_MODE
int unsignedp;
#endif
@@ -851,7 +851,7 @@ assign_temp (tree type_or_decl, int keep
decl = NULL, type = type_or_decl;
mode = TYPE_MODE (type);
-#ifndef PROMOTE_FOR_CALL_ONLY
+#ifdef PROMOTE_MODE
unsignedp = TYPE_UNSIGNED (type);
#endif
@@ -889,7 +889,7 @@ assign_temp (tree type_or_decl, int keep
return tmp;
}
-#ifndef PROMOTE_FOR_CALL_ONLY
+#ifdef PROMOTE_MODE
if (! dont_promote)
mode = promote_mode (type, mode, &unsignedp, 0);
#endif
Index: system.h
===================================================================
RCS file: /var/cvsroot/gcc-cvs/gcc/gcc/system.h,v
retrieving revision 1.208
diff -u -p -r1.208 system.h
--- a/system.h 19 Mar 2004 00:52:24 -0000 1.208
+++ b/system.h 15 Apr 2004 14:04:31 -0000
@@ -641,7 +641,7 @@ typedef char _Bool;
FINAL_REG_PARM_STACK_SPACE MAYBE_REG_PARM_STACK_SPACE \
TRADITIONAL_PIPELINE_INTERFACE DFA_PIPELINE_INTERFACE \
DBX_OUTPUT_STANDARD_TYPES BUILTIN_SETJMP_FRAME_VALUE \
- SUNOS4_SHARED_LIBRARIES
+ SUNOS4_SHARED_LIBRARIES PROMOTE_FOR_CALL_ONLY
/* Hooks that are no longer used. */
#pragma GCC poison LANG_HOOKS_FUNCTION_MARK LANG_HOOKS_FUNCTION_FREE \