From patchwork Tue Sep 27 06:19:16 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Jeff Law X-Patchwork-Id: 58062 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id C931238582A7 for ; Tue, 27 Sep 2022 06:19:35 +0000 (GMT) X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from mail-pf1-x436.google.com (mail-pf1-x436.google.com [IPv6:2607:f8b0:4864:20::436]) by sourceware.org (Postfix) with ESMTPS id 26BE8385841D for ; Tue, 27 Sep 2022 06:19:19 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 26BE8385841D Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=ventanamicro.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=ventanamicro.com Received: by mail-pf1-x436.google.com with SMTP id a80so8806419pfa.4 for ; Mon, 26 Sep 2022 23:19:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ventanamicro.com; s=google; h=to:subject:from:content-language:user-agent:mime-version:date :message-id:from:to:cc:subject:date; bh=W3NP0PeLYJJYWuHvALYbPZNJkOyTOxYuwIfgS9ftGPs=; b=B/xb8gcevdpwjEKZ28pEbjYbUIt+QDzkltySQsUDICoNvqR3y+O1Z/2UUbzLNSth95 tVzO/urHQQxlA4v6fG2MXFl1w2HFAeRMj26uBqJwDQWz2WdYXTpYWKUAcTwiPptROzCP IZLp7lx6z0l0soiBmnpJ2IPk1gFilRTCFOBflJReExv2tQBsOObFMFLOKfNuodXM/aJ1 iifZNVwVUXqTA0Jax1GMHAqLZqG0UXNgqI40uLPXmNqxjgvNjzLhEYxn6cmM0Xtyc0O4 az8cdoa+I3Ln1PVoDzoQ/vZaw4dPcYXBpENmLrVpwdDRnBXj2Rx8GJFDeRFVW9P88DsG oPcA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=to:subject:from:content-language:user-agent:mime-version:date :message-id:x-gm-message-state:from:to:cc:subject:date; bh=W3NP0PeLYJJYWuHvALYbPZNJkOyTOxYuwIfgS9ftGPs=; b=0a+iOXjrB6MQYe4eq6I8sGJdgEYECcioaH5P9nvW7rdXHfZ/kGbPPH8L53jaD+Qcvm mmOzkXKwhtBe1NveX/P2QggleT+82zDj5GFm6gh578KqHVnetthKFY+QeugukXpXFV3X lYO7iEVkVjJCErjIrDqPFnlyA0nJNn7AKuqvM2/w+80M0RkUuwk0S+h+Tsv9OnAFL1wH SNjpZEYdSYeCKy4d4jHE5ODNMpmhipDRxu8+S6rY68WJMcykBBn8CqkuVi6c3hWoau8O ESodVR3QtHSNs2TdHFte5zxTu4yzsAMH8uzkT3VSTfmzkYI+6TICgYkeXCBBBbYa/IP4 xtbQ== X-Gm-Message-State: ACrzQf2huMTE5O/DXMiJ9g9uqG9EpO3DFYSnHEtLGUDKxm0qqjKkf3Qi 76S98bTHSpE42kqBYX+wLTocLuK7qZ5c7ODa X-Google-Smtp-Source: AMsMyM6bVz4AoMVJ86oVdqceEWIvMx+lBXPylrW3gpGZ1Bb0DPB/GgX+wkLA7db7RzF6ESnGEcv30A== X-Received: by 2002:a05:6a00:1486:b0:557:f3c7:219f with SMTP id v6-20020a056a00148600b00557f3c7219fmr12577048pfu.0.1664259557758; Mon, 26 Sep 2022 23:19:17 -0700 (PDT) Received: from ?IPV6:2601:681:8600:13d0::f0a? ([2601:681:8600:13d0::f0a]) by smtp.gmail.com with ESMTPSA id m12-20020a633f0c000000b0043bf861008fsm584473pga.90.2022.09.26.23.19.16 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 26 Sep 2022 23:19:17 -0700 (PDT) Message-ID: <86bc153e-8fc7-5654-07f2-a6c16fd346c1@ventanamicro.com> Date: Tue, 27 Sep 2022 00:19:16 -0600 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.2.1 Content-Language: en-US From: Jeff Law Subject: [committed] Fix ICE's due to jump-to-return optimization changes To: gcc-patches@gcc.gnu.org X-Spam-Status: No, score=-13.0 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: gcc-patches-bounces+patchwork=sourceware.org@gcc.gnu.org Sender: "Gcc-patches" v850 and rl78 failed to build newlib with an ICE.  I've also got a report from an ARM automated tester that looks like the same underlying problem. Basically we need to check if simple_return and return insns are available before trying to use them. Bootstrapped on x86_64 (regression testing in progress). Verified this fixes the v850 and rl78 build failures.   Installing on the trunk momentarily. Jeff commit fe527a06a77093bc3de4ee2007516a4e9fa30f18 Author: Jeff Law Date: Tue Sep 27 01:44:38 2022 -0400 Fix ICEs due to recent jump-to-return optimization gcc/ * cfgrtl.cc (fixup_reorder_chain): Verify that simple_return and return are available before trying to use them. diff --git a/gcc/cfgrtl.cc b/gcc/cfgrtl.cc index 90cd6ee56a7..281a432f6a6 100644 --- a/gcc/cfgrtl.cc +++ b/gcc/cfgrtl.cc @@ -4049,7 +4049,8 @@ fixup_reorder_chain (void) rtx_insn *ret, *use; basic_block dest; if (bb_is_just_return (e_fall->dest, &ret, &use) - && (PATTERN (ret) == simple_return_rtx || PATTERN (ret) == ret_rtx)) + && ((PATTERN (ret) == simple_return_rtx && targetm.have_simple_return ()) + || (PATTERN (ret) == ret_rtx && targetm.have_return ()))) { ret_label = PATTERN (ret); dest = EXIT_BLOCK_PTR_FOR_FN (cfun);