aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJason Merrill <jason@redhat.com>2002-01-23 07:39:30 -0500
committerJason Merrill <jason@gcc.gnu.org>2002-01-23 07:39:30 -0500
commitb21155754fcccc8980d5e696969229bb20375da5 (patch)
tree781114677aafcbf00cc97478a4b47d556724ba1f
parent6bacc7b094be8ab0fff0a465298d14d298fc9d29 (diff)
downloadgcc-b21155754fcccc8980d5e696969229bb20375da5.zip
gcc-b21155754fcccc8980d5e696969229bb20375da5.tar.gz
gcc-b21155754fcccc8980d5e696969229bb20375da5.tar.bz2
function.c (assign_parms): Don't put args of inline functions into registers when not optimizing.
* function.c (assign_parms): Don't put args of inline functions into registers when not optimizing. * cp/decl2.c (grokclassfn): Don't set DECL_REGISTER on 'this'. From-SVN: r49131
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/cp/ChangeLog2
-rw-r--r--gcc/cp/decl2.c4
-rw-r--r--gcc/function.c6
4 files changed, 9 insertions, 8 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 5c5da99..7d0e69c 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2002-01-23 Jason Merrill <jason@redhat.com>
+
+ * function.c (assign_parms): Don't put args of inline functions
+ into registers when not optimizing.
+
2002-01-23 Nick Clifton <nickc@cambridge.redhat.com>
* config/arm/arm.md (UNSPEC_PROLOGUE_USE): New unspec constant.
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index 7c88cac..ff79b13 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,5 +1,7 @@
2002-01-22 Jason Merrill <jason@redhat.com>
+ * decl2.c (grokclassfn): Don't set DECL_REGISTER on 'this'.
+
* parse.y (function_body): Suppress the block for the outermost
curly braces.
* decl.c (pushdecl): Don't try to skip it.
diff --git a/gcc/cp/decl2.c b/gcc/cp/decl2.c
index c384f86..1c7b579 100644
--- a/gcc/cp/decl2.c
+++ b/gcc/cp/decl2.c
@@ -983,10 +983,6 @@ grokclassfn (ctype, function, flags, quals)
qual_type = cp_build_qualified_type (type, this_quals);
parm = build_artificial_parm (this_identifier, qual_type);
c_apply_type_quals_to_decl (this_quals, parm);
-
- /* We can make this a register, so long as we don't
- accidentally complain if someone tries to take its address. */
- DECL_REGISTER (parm) = 1;
TREE_CHAIN (parm) = last_function_parms;
last_function_parms = parm;
}
diff --git a/gcc/function.c b/gcc/function.c
index bf294ea..d304b30 100644
--- a/gcc/function.c
+++ b/gcc/function.c
@@ -4650,8 +4650,7 @@ assign_parms (fndecl)
SET_DECL_RTL (parm, stack_parm);
}
else if (! ((! optimize
- && ! DECL_REGISTER (parm)
- && ! DECL_INLINE (fndecl))
+ && ! DECL_REGISTER (parm))
|| TREE_SIDE_EFFECTS (parm)
/* If -ffloat-store specified, don't put explicit
float variables into registers. */
@@ -4751,8 +4750,7 @@ assign_parms (fndecl)
can safely live in a register, put it in one. */
if (passed_pointer && TYPE_MODE (TREE_TYPE (parm)) != BLKmode
&& ! ((! optimize
- && ! DECL_REGISTER (parm)
- && ! DECL_INLINE (fndecl))
+ && ! DECL_REGISTER (parm))
|| TREE_SIDE_EFFECTS (parm)
/* If -ffloat-store specified, don't put explicit
float variables into registers. */