aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Kenner <kenner@gcc.gnu.org>1993-12-11 18:41:43 -0500
committerRichard Kenner <kenner@gcc.gnu.org>1993-12-11 18:41:43 -0500
commit3eda169fe0b58eb4a5582e4ac725ed1dce5e1240 (patch)
tree09d3b08fa689c717351a652aeaeea77298dd5b19
parentf29a425b9100e64588eca2e0c1a01509bb546a5c (diff)
downloadgcc-3eda169fe0b58eb4a5582e4ac725ed1dce5e1240.zip
gcc-3eda169fe0b58eb4a5582e4ac725ed1dce5e1240.tar.gz
gcc-3eda169fe0b58eb4a5582e4ac725ed1dce5e1240.tar.bz2
(expand_inline_function): Remove last change.
From-SVN: r6211
-rw-r--r--gcc/integrate.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/gcc/integrate.c b/gcc/integrate.c
index fcba544..9f1803b 100644
--- a/gcc/integrate.c
+++ b/gcc/integrate.c
@@ -1284,7 +1284,9 @@ expand_inline_function (fndecl, parms, target, ignore, type, structure_value_add
But if ARG_VALS[I] overlaps TARGET, these assumptions are
wrong, so put ARG_VALS[I] into a fresh register. */
|| (target != 0
- && ! CONSTANT_P (arg_vals[i])
+ && (GET_CODE (arg_vals[i]) == REG
+ || GET_CODE (arg_vals[i]) == SUBREG
+ || GET_CODE (arg_vals[i]) == MEM)
&& reg_overlap_mentioned_p (arg_vals[i], target))
/* ??? We must always copy a SUBREG into a REG, because it might
get substituted into an address, and not all ports correctly