From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtpbg151.qq.com (smtpbg151.qq.com [18.169.211.239]) by sourceware.org (Postfix) with ESMTPS id 855523858D1E for ; Sun, 12 Nov 2023 10:08:35 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 855523858D1E Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=rivai.ai Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=rivai.ai ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 855523858D1E Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=18.169.211.239 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1699783717; cv=none; b=uO0rXYCWPyIrewYMVXA/Kw3vjvdA9JG/WWhKpBK0Cah2H6C1NF8sxznlbPc+ENUHhZxfWSxp6C/3t6twB79Z9o3j4wKPkCguV1V7cF3ttiJV5O4+7S9nnd+kK+ha4lcEt//2+wLFUn1LsygqzRXu5jDWTgaly6mbzjbs4IF+400= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1699783717; c=relaxed/simple; bh=GL/QcO8ZngbpuPZw/UDc+srxEKUPqMnn9058IB/d1wA=; h=Message-ID:Date:MIME-Version:Subject:To:From; b=PPAULkDyLJEBqhmcZhcU8f0ZW7KLcCL7Utx8m8Ra93XNjxoMdNFKP/NLgVYB+/pxFq45gYeOnEVgc6ukoTrX/Yox0Sx0X0m0hF0L2snuLsOW+OJhSDr3lZbrTXAZu46pVkKPWztvNm9SQKtHQ5m6E3JvRH80Tg7RxL4lMzORLrM= ARC-Authentication-Results: i=1; server2.sourceware.org X-QQ-mid: bizesmtp82t1699783689tm4e4b29 Received: from [10.101.11.9] ( [121.35.182.237]) by bizesmtp.qq.com (ESMTP) with id ; Sun, 12 Nov 2023 18:08:08 +0800 (CST) X-QQ-SSF: 00400000000000C0F000000A0000000 X-QQ-FEAT: CR3LFp2JE4lel3zsREeQmXiNKdqcBP9wKy+xx2TuWp3b/GVjq2M83QIP4NzB0 70UD40WwURxi6Hw6VtHIcd7z6ykQqWqzn0yUPRGa7HWGMBG20uzuItvBzowrwm0N8J+4D1c ayH5owZpNLxlZOPKUcRtQadIbdzm5fjUCPXGY9RZqtmqBhYjIAEm0FDWcFVsDQY0C59PzED uOHYIM2zGS6djr6KFiPuJ4pSd9LVidY1/JTnigmh5gircdV6tK6kr44qDcmz3xlUw45Efkx sGeemx0Y0nm0yjyWiXooBvZew60WkZsbwRXEvfqjUzxzAueVRHn3dN32ktIZvHlUNb7fr58 556WtYWWUce/5vg5Ue0CbANCDjtxvpb6tKMvN4wmxWcGJvQ81DkncCpTrAtMOeSrziK6bTQ X-QQ-GoodBg: 2 X-BIZMAIL-ID: 18428566216727348383 Message-ID: <5E0C93D2417ACF16+62150e43-152e-46dc-a7c7-4119521e1177@rivai.ai> Date: Sun, 12 Nov 2023 18:08:09 +0800 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH 0/7] ira/lra: Support subreg coalesce Content-Language: en-US To: Dimitar Dimitrov Cc: gcc-patches@gcc.gnu.org, vmakarov@redhat.com, richard.sandiford@arm.com, juzhe.zhong@rivai.ai References: <20231108034740.834590-1-lehua.ding@rivai.ai> From: Lehua Ding In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-QQ-SENDSIZE: 520 Feedback-ID: bizesmtp:rivai.ai:qybglogicsvrgz:qybglogicsvrgz6a-0 X-Spam-Status: No, score=-2.4 required=5.0 tests=BAYES_00,FORGED_MUA_MOZILLA,KAM_DMARC_STATUS,KAM_SHORT,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_PASS,SPF_PASS,TXREP,T_SCC_BODY_TEXT_LINE,URIBL_SBL_A,WEIRD_PORT autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: Hi Dimitar, I solved the problem you reported in V2 patch (https://gcc.gnu.org/pipermail/gcc-patches/2023-November/636166.html), is it possible for you to help confirm this? Thank you very much. On 2023/11/9 0:56, Dimitar Dimitrov wrote: > On Wed, Nov 08, 2023 at 11:47:33AM +0800, Lehua Ding wrote: >> Hi, >> >> These patchs try to support subreg coalesce feature in >> register allocation passes (ira and lra). > > Hi Lehua, > > This patch set breaks the build for at least three embedded targets. See > below. > > For avr the GCC build fails with: > /mnt/nvme/dinux/local-workspace/gcc/gcc/ira-lives.cc:149:39: error: call of overloaded ‘set_subreg_conflict_hard_regs(ira_allocno*&, int&)’ is ambiguous > 149 | set_subreg_conflict_hard_regs (OBJECT_ALLOCNO (obj), regno); > > > For arm-none-eabi the newlib build fails with: > /mnt/nvme/dinux/local-workspace/newlib/newlib/libm/math/e_jn.c:279:1: internal compiler error: Floating point exception > 279 | } > | ^ > 0x1176e0f crash_signal > /mnt/nvme/dinux/local-workspace/gcc/gcc/toplev.cc:316 > 0xf6008d get_range_hard_regs(int, subreg_range const&) > /mnt/nvme/dinux/local-workspace/gcc/gcc/lra.cc:609 > 0xf6008d get_range_hard_regs(int, subreg_range const&) > /mnt/nvme/dinux/local-workspace/gcc/gcc/lra.cc:601 > 0xf60312 new_insn_reg > /mnt/nvme/dinux/local-workspace/gcc/gcc/lra.cc:658 > 0xf6064d add_regs_to_insn_regno_info > /mnt/nvme/dinux/local-workspace/gcc/gcc/lra.cc:1623 > 0xf62909 lra_update_insn_regno_info(rtx_insn*) > /mnt/nvme/dinux/local-workspace/gcc/gcc/lra.cc:1769 > 0xf62e46 lra_update_insn_regno_info(rtx_insn*) > /mnt/nvme/dinux/local-workspace/gcc/gcc/lra.cc:1762 > 0xf62e46 lra_push_insn_1 > /mnt/nvme/dinux/local-workspace/gcc/gcc/lra.cc:1919 > 0xf62f2d lra_push_insn(rtx_insn*) > /mnt/nvme/dinux/local-workspace/gcc/gcc/lra.cc:1927 > 0xf62f2d push_insns > /mnt/nvme/dinux/local-workspace/gcc/gcc/lra.cc:1970 > 0xf63302 push_insns > /mnt/nvme/dinux/local-workspace/gcc/gcc/lra.cc:1966 > 0xf63302 lra(_IO_FILE*) > /mnt/nvme/dinux/local-workspace/gcc/gcc/lra.cc:2511 > 0xf0e399 do_reload > /mnt/nvme/dinux/local-workspace/gcc/gcc/ira.cc:5960 > 0xf0e399 execute > /mnt/nvme/dinux/local-workspace/gcc/gcc/ira.cc:6148 > > > For pru-elf the GCC build fails with: > /mnt/nvme/dinux/local-workspace/gcc/libgcc/unwind-dw2-fde.c: In function 'linear_search_fdes': > /mnt/nvme/dinux/local-workspace/gcc/libgcc/unwind-dw2-fde.c:1035:1: internal compiler error: Floating point exception > 1035 | } > | ^ > 0x1694f2e crash_signal > /mnt/nvme/dinux/local-workspace/gcc/gcc/toplev.cc:316 > 0x1313178 get_range_hard_regs(int, subreg_range const&) > /mnt/nvme/dinux/local-workspace/gcc/gcc/lra.cc:609 > 0x131343a new_insn_reg > /mnt/nvme/dinux/local-workspace/gcc/gcc/lra.cc:658 > 0x13174f0 add_regs_to_insn_regno_info > /mnt/nvme/dinux/local-workspace/gcc/gcc/lra.cc:1608 > 0x1318479 lra_update_insn_regno_info(rtx_insn*) > /mnt/nvme/dinux/local-workspace/gcc/gcc/lra.cc:1769 > 0x13196ab lra_push_insn_1 > /mnt/nvme/dinux/local-workspace/gcc/gcc/lra.cc:1919 > 0x13196de lra_push_insn(rtx_insn*) > /mnt/nvme/dinux/local-workspace/gcc/gcc/lra.cc:1927 > 0x13197da push_insns > /mnt/nvme/dinux/local-workspace/gcc/gcc/lra.cc:1970 > 0x131b6dc lra(_IO_FILE*) > /mnt/nvme/dinux/local-workspace/gcc/gcc/lra.cc:2511 > 0x129f237 do_reload > /mnt/nvme/dinux/local-workspace/gcc/gcc/ira.cc:5960 > 0x129f6c6 execute > /mnt/nvme/dinux/local-workspace/gcc/gcc/ira.cc:6148 > > > The divide by zero error above is interesting. I'm not sure why ira_reg_class_max_nregs[] yields 0 for the pseudo register 168 in the following rtx: > (debug_insn 168 167 169 19 (var_location:SI encoding (reg/v:SI 168 [ encoding ])) -1 > (nil)) > > Regards, > Dimitar > -- Best, Lehua (RiVAI) lehua.ding@rivai.ai