diff options
| author | Vladimir N. Makarov <vmakarov@redhat.com> | 2025-12-05 14:21:38 -0500 |
|---|---|---|
| committer | Vladimir N. Makarov <vmakarov@redhat.com> | 2025-12-05 14:29:08 -0500 |
| commit | 2b83c489ca8ac24b3fb8b1214ec83f85f9beeedb (patch) | |
| tree | 20c1c28391686db40b2fc7b1f2216ee5120e73b6 /libcpp | |
| parent | ee9ded19244ab887759eb3faef452ee70316835e (diff) | |
| download | gcc-2b83c489ca8ac24b3fb8b1214ec83f85f9beeedb.zip gcc-2b83c489ca8ac24b3fb8b1214ec83f85f9beeedb.tar.gz gcc-2b83c489ca8ac24b3fb8b1214ec83f85f9beeedb.tar.bz2 | |
[PR122215, IRA]: Fix undefined behaviour of improve_allocation
Register filters are used in one loop of improve_allocation to ignore some
hard regs for cost calculation but it is missed in the subsequent loop
using the costs. This results in usage of random (undefined) register costs
and in sporadic code generation for riscv32 which uses the filters.
gcc/ChangeLog:
PR rtl-optimization/122215
* ira-color.cc (improve_allocation): Use register filter for all
loop on hard regs.
gcc/testsuite/ChangeLog:
PR rtl-optimization/122215
* gcc.target/riscv/pr122215.c: New.
* lib/target-supports.exp (check_effective_target_valgrind): New.
Diffstat (limited to 'libcpp')
0 files changed, 0 insertions, 0 deletions
