On Sun, Nov 12, 2023 at 08:08:10PM +0800, Lehua Ding wrote: > V3 Changes: > 1. fix three ICE. > 2. rebase > > Hi, > > These patchs try to support subreg coalesce feature in > register allocation passes (ira and lra). >
Hi Lehua, V3 indeed fixes the arm-none-eabi build. It's also confirmed by Linaro CI: https://patchwork.sourceware.org/project/gcc/patch/20231112120817.2635864-8-lehua.d...@rivai.ai/ But avr and pru backends are still broken, albeit with different crash signatures. Both targets are peculiar because they have UNITS_PER_WORD=1. I'll try building some 16-bit target like msp430. AVR fails when building libgcc: /mnt/nvme/dinux/local-workspace/gcc/libgcc/config/avr/lib2funcs.c: In function '__roundlr': /mnt/nvme/dinux/local-workspace/gcc/libgcc/config/avr/lib2funcs.c:115:3: internal compiler error: in check_allocation, at ira.cc:2673 115 | } | ^ /mnt/nvme/dinux/local-workspace/gcc/libgcc/config/avr/lib2funcs.c:106:3: note: in expansion of macro 'ROUND2' 106 | ROUND2 (FX) | ^~~~~~ /mnt/nvme/dinux/local-workspace/gcc/libgcc/config/avr/lib2funcs.c:117:1: note: in expansion of macro 'ROUND1' 117 | ROUND1(L_LABEL) | ^~~~~~ 0xc80b8d check_allocation /mnt/nvme/dinux/local-workspace/gcc/gcc/ira.cc:2673 0xc89451 ira /mnt/nvme/dinux/local-workspace/gcc/gcc/ira.cc:5873 0xc89451 execute /mnt/nvme/dinux/local-workspace/gcc/gcc/ira.cc:6104 Script I'm using to build avr: https://github.com/dinuxbg/gnupru/blob/master/testing/manual-build-avr.sh PRU fails building newlib: /mnt/nvme/dinux/local-workspace/newlib/newlib/libc/stdlib/gdtoa-gdtoa.c:835:9: internal compiler error: in lra_create_live_ranges, at lra-lives.cc:1933 835 | } | ^ 0x6b951c lra_create_live_ranges(bool, bool) /mnt/nvme/dinux/local-workspace/gcc/gcc/lra-lives.cc:1933 0xd9320c lra(_IO_FILE*) /mnt/nvme/dinux/local-workspace/gcc/gcc/lra.cc:2638 0xd3e519 do_reload /mnt/nvme/dinux/local-workspace/gcc/gcc/ira.cc:5960 0xd3e519 execute /mnt/nvme/dinux/local-workspace/gcc/gcc/ira.cc:6148 Script I'm using to build pru: https://github.com/dinuxbg/gnupru/blob/master/testing/manual-build-pru.sh Regards, Dimitar,