diff options
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/combine.c | 3 |
2 files changed, 8 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index e770638..b3538c4 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2015-11-24 Segher Boessenkool <segher@kernel.crashing.org> + + PR rtl-optimization/68381 + * combine.c (is_parallel_of_n_reg_sets): Return false if the pattern + is poisoned. + 2015-11-23 Nick Clifton <nickc@redhat.com> Jeff Law <law@redhat.com> diff --git a/gcc/combine.c b/gcc/combine.c index 2a66fd5..4958d3b 100644 --- a/gcc/combine.c +++ b/gcc/combine.c @@ -2512,7 +2512,8 @@ is_parallel_of_n_reg_sets (rtx pat, int n) || !REG_P (SET_DEST (XVECEXP (pat, 0, i)))) return false; for ( ; i < len; i++) - if (GET_CODE (XVECEXP (pat, 0, i)) != CLOBBER) + if (GET_CODE (XVECEXP (pat, 0, i)) != CLOBBER + || XEXP (XVECEXP (pat, 0, i), 0) == const0_rtx) return false; return true; |