mirror of git://gcc.gnu.org/git/gcc.git
integrate.c (copy_rtx_and_substitute): When copying an ignored return value, strip REG_FUNCTION_VALUE_P.
* integrate.c (copy_rtx_and_substitute): When copying an ignored return value, strip REG_FUNCTION_VALUE_P. From-SVN: r38747
This commit is contained in:
parent
3cccebf27b
commit
ea55fa7ab1
|
|
@ -1,3 +1,8 @@
|
||||||
|
Sat Jan 6 00:09:34 2001 J"orn Rennecke <amylaar@redhat.com>
|
||||||
|
|
||||||
|
* integrate.c (copy_rtx_and_substitute): When copying
|
||||||
|
an ignored return value, strip REG_FUNCTION_VALUE_P.
|
||||||
|
|
||||||
2001-01-06 Michael Hayes <mhayes@redhat.com>
|
2001-01-06 Michael Hayes <mhayes@redhat.com>
|
||||||
|
|
||||||
* loop.c (debug_biv, debug_giv): New.
|
* loop.c (debug_biv, debug_giv): New.
|
||||||
|
|
|
||||||
|
|
@ -1844,9 +1844,18 @@ copy_rtx_and_substitute (orig, map, for_lhs)
|
||||||
the function doesn't have a return value, error. If the
|
the function doesn't have a return value, error. If the
|
||||||
mode doesn't agree, and it ain't BLKmode, make a SUBREG. */
|
mode doesn't agree, and it ain't BLKmode, make a SUBREG. */
|
||||||
if (map->inline_target == 0)
|
if (map->inline_target == 0)
|
||||||
|
{
|
||||||
|
if (rtx_equal_function_value_matters)
|
||||||
|
/* This is an ignored return value. We must not
|
||||||
|
leave it in with REG_FUNCTION_VALUE_P set, since
|
||||||
|
that would confuse subsequent inlining of the
|
||||||
|
current function into a later function. */
|
||||||
|
return gen_rtx_REG (GET_MODE (orig), regno);
|
||||||
|
else
|
||||||
/* Must be unrolling loops or replicating code if we
|
/* Must be unrolling loops or replicating code if we
|
||||||
reach here, so return the register unchanged. */
|
reach here, so return the register unchanged. */
|
||||||
return orig;
|
return orig;
|
||||||
|
}
|
||||||
else if (GET_MODE (map->inline_target) != BLKmode
|
else if (GET_MODE (map->inline_target) != BLKmode
|
||||||
&& mode != GET_MODE (map->inline_target))
|
&& mode != GET_MODE (map->inline_target))
|
||||||
return gen_lowpart (mode, map->inline_target);
|
return gen_lowpart (mode, map->inline_target);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue