combine: Handle aborts in is_parallel_of_n_reg_sets (PR68381)
commitaf7e839751f225946ccf763122868852656ea7e3
authorsegher <segher@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 24 Nov 2015 06:43:20 +0000 (24 06:43 +0000)
committersegher <segher@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 24 Nov 2015 06:43:20 +0000 (24 06:43 +0000)
treee8e7486d62311cdca103bda26c258d6570103af2
parent375e335e976db65e4661d003af9d1c3b34eb25fc
combine: Handle aborts in is_parallel_of_n_reg_sets (PR68381)

Some users of is_parallel_of_n_reg_sets disregard the clobbers in a
parallel after it has returned "yes, this is a parallel of N sets and
maybe some clobbers".  But combine uses a clobber of const0_rtx to
indicate substitution failure, so this leads to disaster.

Fix this by checking for such special clobbers in is_parallel_of_n_reg_sets.

PR rtl-optimization/68381
* combine.c (is_parallel_of_n_reg_sets): Return false if the pattern
is poisoned.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230786 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/combine.c