diff options
| author | Jeff Law <jeffrey.law@oss.qualcomm.com> | 2026-02-08 08:23:07 -0700 |
|---|---|---|
| committer | Jeff Law <jeffrey.law@oss.qualcomm.com> | 2026-02-08 19:35:53 -0700 |
| commit | 2f84ad4ddc2a2dc93584d87da347c444a77f429c (patch) | |
| tree | bcf9b137350e7820fb4e0dc012b082cf40e49baa /libphobos/libdruntime/config/common | |
| parent | 08a17b96c31f78bf7d030f5550ef801580a178ed (diff) | |
| download | gcc-master.zip gcc-master.tar.gz gcc-master.tar.bz2 | |
I kept hoping I'd see a better solution, perhaps one where chunks of this
routine just go away, but that hasn't materialized. So...
This patch avoids infinite recursion through riscv_legitimize_move.
Essentially we end up calling it recursively with arguments that are a nop-move
and those particular arguments trigger infinite recursion.
So this patch just recognizes and elides the nop move. Bootstrapped on
riscv64-linux-gnu and regression tested on riscv{32,64}-elf with no
regressions. Pushing to the trunk.
PR target/123911
gcc/
* config/riscv/riscv.cc (riscv_legitimize_move): Elide nop moves to
avoid infinite recursion.
gcc/testsuite/
* gcc.target/riscv/pr123911.c: New test.
Diffstat (limited to 'libphobos/libdruntime/config/common')
0 files changed, 0 insertions, 0 deletions
