Commit a70c61d9 by Jim Wilson

(try_combine): Only use I2DEST as a scratch reg for

a split if it does not overlap any inputs of NEWPAT.

From-SVN: r2857
parent 4090a6b3
...@@ -1535,7 +1535,15 @@ try_combine (i3, i2, i1) ...@@ -1535,7 +1535,15 @@ try_combine (i3, i2, i1)
convert I2DEST to the mode of the source of NEWPAT if we can. */ convert I2DEST to the mode of the source of NEWPAT if we can. */
m_split = split_insns (newpat, i3); m_split = split_insns (newpat, i3);
if (m_split == 0)
/* We can only use I2DEST as a scratch reg if it doesn't overlap any
inputs of NEWPAT. */
/* ??? If I2DEST is not safe, and I1DEST exists, then it would be
possible to try that as a scratch reg. This would require adding
more code to make it work though. */
if (m_split == 0 && ! reg_overlap_mentioned_p (ni2dest, newpat))
{ {
/* If I2DEST is a hard register or the only use of a pseudo, /* If I2DEST is a hard register or the only use of a pseudo,
we can change its mode. */ we can change its mode. */
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment