https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94605
--- Comment #2 from CVS Commits <cvs-commit at gcc dot gnu.org> --- The master branch has been updated by Richard Sandiford <[email protected]>: https://gcc.gnu.org/g:3c3f12e2a7625c9a2f5d74a47dbacb2fd1ae5643 commit r10-7755-g3c3f12e2a7625c9a2f5d74a47dbacb2fd1ae5643 Author: Richard Sandiford <[email protected]> Date: Wed Apr 15 11:38:24 2020 +0100 early-remat: Handle sets of multiple candidate regs [PR94605] early-remat.c:process_block wasn't handling insns that set multiple candidate registers, which led to an assertion failure at the end of the main loop. Instructions that set two pseudos aren't rematerialisation candidates in themselves, but we still need to track them if another instruction that sets the same register is a rematerialisation candidate. 2020-04-16 Richard Sandiford <[email protected]> gcc/ PR rtl-optimization/94605 * early-remat.c (early_remat::process_block): Handle insns that set multiple candidate registers. gcc/testsuite/ PR rtl-optimization/94605 * gcc.target/aarch64/sve/pr94605.c: New test.
