diff options
author | Bernd Schmidt <bernds@codesourcery.com> | 2014-11-06 17:19:57 +0000 |
---|---|---|
committer | Bernd Schmidt <bernds@gcc.gnu.org> | 2014-11-06 17:19:57 +0000 |
commit | 9cb6671480ac7c1ed75920dc8829d76a1db7cfe9 (patch) | |
tree | fd94121b974c2e571483e6011fda7cb8aa58f0c3 /gcc/combine.c | |
parent | dc2af904c90c2644c2d8364c68e42264e854ff2a (diff) | |
download | gcc-9cb6671480ac7c1ed75920dc8829d76a1db7cfe9.zip gcc-9cb6671480ac7c1ed75920dc8829d76a1db7cfe9.tar.gz gcc-9cb6671480ac7c1ed75920dc8829d76a1db7cfe9.tar.bz2 |
Don't combine calls into i3, it wouldn't be changed into a CALL_INSN.
* combine.c (try_combine): Don't allow a call as one of the source
insns.
From-SVN: r217197
Diffstat (limited to 'gcc/combine.c')
-rw-r--r-- | gcc/combine.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/gcc/combine.c b/gcc/combine.c index e240cfb..6a7d16b 100644 --- a/gcc/combine.c +++ b/gcc/combine.c @@ -2553,7 +2553,10 @@ try_combine (rtx_insn *i3, rtx_insn *i2, rtx_insn *i1, rtx_insn *i0, /* Exit early if one of the insns involved can't be used for combinations. */ - if (cant_combine_insn_p (i3) + if (CALL_P (i2) + || (i1 && CALL_P (i1)) + || (i0 && CALL_P (i0)) + || cant_combine_insn_p (i3) || cant_combine_insn_p (i2) || (i1 && cant_combine_insn_p (i1)) || (i0 && cant_combine_insn_p (i0)) |