On 8/11/23 02:45, Juzhe-Zhong wrote:
This patch fix bug: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110985
PR target/110985
gcc/ChangeLog:
* config/riscv/riscv-v.cc (expand_vec_series): Refactor the expander.
gcc/testsuite/ChangeLog:
* gcc.target/riscv/rvv/autovec/vls-vlmax/pr110985.c: New test.
OK. The wording on the ChangeLog could perhaps be improved -- typically
when one says "refactor" there's not supposed to be a functional change.
So perhaps "Refactor the expander and don't lose final assignment" or
something like that.
Also it's generally useful to reviewers to explain the core problem. I
can guess from the BZ that we lost an assignment and I can speculate it
was a case when the destination wasn't initially a pseudo. The
refactoring ensured that the sequence always stores into a pseudo and if
that pseudo is not the same as the ultimate target, then we copy from
the pseudo to the ultimate target when expansion is done.
jeff