diff options
author | Jason Merrill <jason@redhat.com> | 2002-01-23 07:39:30 -0500 |
---|---|---|
committer | Jason Merrill <jason@gcc.gnu.org> | 2002-01-23 07:39:30 -0500 |
commit | b21155754fcccc8980d5e696969229bb20375da5 (patch) | |
tree | 781114677aafcbf00cc97478a4b47d556724ba1f /gcc | |
parent | 6bacc7b094be8ab0fff0a465298d14d298fc9d29 (diff) | |
download | gcc-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
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/cp/ChangeLog | 2 | ||||
-rw-r--r-- | gcc/cp/decl2.c | 4 | ||||
-rw-r--r-- | gcc/function.c | 6 |
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. */ |