From patchwork Mon May 1 13:21:59 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jeff Law X-Patchwork-Id: 68599 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 9D5763857714 for ; Mon, 1 May 2023 13:22:22 +0000 (GMT) X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from mail-pf1-x429.google.com (mail-pf1-x429.google.com [IPv6:2607:f8b0:4864:20::429]) by sourceware.org (Postfix) with ESMTPS id 1EA373858D39 for ; Mon, 1 May 2023 13:22:03 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 1EA373858D39 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-x429.google.com with SMTP id d2e1a72fcca58-63f273b219eso1713858b3a.1 for ; Mon, 01 May 2023 06:22:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ventanamicro.com; s=google; t=1682947321; x=1685539321; h=to:subject:from:content-language:user-agent:mime-version:date :message-id:from:to:cc:subject:date:message-id:reply-to; bh=DZ8+ZSCEd+bEFpvv3giRSlvY+piHo9cZvF35LTp7L5E=; b=EvTTTUaPontOynVisxfr36e7yZJlA/bBqPDS4RgW2qvmMWnNldf72keaSGQkt0GsqN T3XMptetO7lI/+FnI2oGHayAyPyBuNN4cYdRCy2l+FOiLupm4cHSqaxZQlEp0eMjQp/f 0b5WPCDBexmaQ/AVSeaF405YuArmyfO2S6K5PyFbJTYT3j/1ZGr3KW6KZUK4Hzc5cASH QbAe8TF/Iq6IwoMIgPpISurBtd4fDheD5ijbli+iXoM4ZL40XftRx/ZYpbUWBNIL+JRv woNQAKwZkz/etps53AASWP3yw9dx0AgckA73SjkLksbYnwD3KkekDNxhmroDhE+4okQT K/9Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1682947321; x=1685539321; h=to:subject:from:content-language:user-agent:mime-version:date :message-id:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=DZ8+ZSCEd+bEFpvv3giRSlvY+piHo9cZvF35LTp7L5E=; b=eJxKlAouWfmj3faZolE6CRJU2ymP9tW/1tkCU2Z287JDeLjOcbZkbLnHMJGxJ7y8I/ lTSm72X0Ap+ZXvvfORYMTbeg2UYtrXPrRErXjRMtBp9oOtwBnmbFZH9BpjNY+apFS1gS 3e6S2cXxaSFndKHZz/TihnAioIoPPfiuQvei16LjQV7sDq3Q0/BF6D/NiinJxxpNBTSF EpefNPQZT6VwvUXLo213FkMz2Uek8fB52DtjSYYnHQVd4nt5sHN5xkfHCjMp5HeOPmjs qDUC4Xr1E79Y20lXMW9y34n87kz9ssKvTXT5vXtImhPM9VnPXKeHmfULe/yZTlEDvODd 3ykA== X-Gm-Message-State: AC+VfDxSpROSRo5+awaaeWLKkoMdRrcuJg+xIX0VBMg8vlkzd0OPPn5Z f2+XP/YFIOWL4XYvgvP44mAE/tb3vr2KcKXGs3E= X-Google-Smtp-Source: ACHHUZ5XTwU69R9cfYdFK09+YeuVWD2wk+HOE3ryYIigIapZPyEy3w3VZi+EBZnJUZqKnzAl87MQ5g== X-Received: by 2002:a05:6a00:1501:b0:63d:6228:6888 with SMTP id q1-20020a056a00150100b0063d62286888mr23044492pfu.3.1682947321405; Mon, 01 May 2023 06:22:01 -0700 (PDT) Received: from ?IPV6:2601:681:8600:13d0::99f? ([2601:681:8600:13d0::99f]) by smtp.gmail.com with ESMTPSA id d16-20020a056a00199000b0063f1a27f2c9sm18030412pfl.70.2023.05.01.06.22.00 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 01 May 2023 06:22:00 -0700 (PDT) Message-ID: <91be1ec3-de85-04cc-0d9f-d3aa69f075dc@ventanamicro.com> Date: Mon, 1 May 2023 07:21:59 -0600 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.9.1 Content-Language: en-US From: Jeff Law Subject: [committed] Enable LRA on several ports To: "gcc-patches@gcc.gnu.org" X-Spam-Status: No, score=-11.6 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, T_SCC_BODY_TEXT_LINE 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" Spurred by Segher's RFC, I went ahead and tested several ports with LRA enabled. Not surprisingly, many failed, but a few built their full set of libraries successful and of those a few even ran their testsuites with no regressions. In fact, enabling LRA fixes a small number of failures on the iq2000 port. This patch converts the ports which built their libraries and have test results that are as good as or better than without LRA. There may be minor code quality regressions or there may be minor code quality improvements -- I'm leaving that for the port maintainers to own going forward. Committed to the trunk, jeff commit faf8bea79b62569af2891e7adc6f758141f738af Author: Jeff Law Date: Mon May 1 07:14:50 2023 -0600 Enable LRA on several ports Spurred by Segher's RFC, I went ahead and tested several ports with LRA enabled. Not surprisingly, many failed, but a few built their full set of libraries successful and of those a few even ran their testsuites with no regressions. In fact, enabling LRA fixes a small number of failures on the iq2000 port. This patch converts the ports which built their libraries and have test results that are as good as or better than without LRA. There may be minor code quality regressions or there may be minor code quality improvements -- I'm leaving that for the port maintainers to own going forward. gcc/ * config/cris/cris.cc (TARGET_LRA_P): Remove. * config/epiphany/epiphany.cc (TARGET_LRA_P): Remove. * config/iq2000/iq2000.cc (TARGET_LRA_P): Remove. * config/m32r/m32r.cc (TARGET_LRA_P): Remove. * config/microblaze/microblaze.cc (TARGET_LRA_P): Remove. * config/mmix/mmix.cc (TARGET_LRA_P): Remove. diff --git a/gcc/config/cris/cris.cc b/gcc/config/cris/cris.cc index 05dead9c077..7ce1b754e76 100644 --- a/gcc/config/cris/cris.cc +++ b/gcc/config/cris/cris.cc @@ -215,9 +215,6 @@ int cris_cpu_version = CRIS_DEFAULT_CPU_VERSION; #undef TARGET_INIT_LIBFUNCS #define TARGET_INIT_LIBFUNCS cris_init_libfuncs -#undef TARGET_LRA_P -#define TARGET_LRA_P hook_bool_void_false - #undef TARGET_LEGITIMATE_ADDRESS_P #define TARGET_LEGITIMATE_ADDRESS_P cris_legitimate_address_p diff --git a/gcc/config/epiphany/epiphany.cc b/gcc/config/epiphany/epiphany.cc index fdd4df71456..20c20e18ea0 100644 --- a/gcc/config/epiphany/epiphany.cc +++ b/gcc/config/epiphany/epiphany.cc @@ -106,8 +106,6 @@ static rtx_insn *frame_insn (rtx); #define TARGET_SCHED_ISSUE_RATE epiphany_issue_rate #define TARGET_SCHED_ADJUST_COST epiphany_adjust_cost -#define TARGET_LRA_P hook_bool_void_false - #define TARGET_LEGITIMATE_ADDRESS_P epiphany_legitimate_address_p #define TARGET_SECONDARY_RELOAD epiphany_secondary_reload diff --git a/gcc/config/iq2000/iq2000.cc b/gcc/config/iq2000/iq2000.cc index de44d361080..067154a0a0d 100644 --- a/gcc/config/iq2000/iq2000.cc +++ b/gcc/config/iq2000/iq2000.cc @@ -241,9 +241,6 @@ static HOST_WIDE_INT iq2000_starting_frame_offset (void); #undef TARGET_EXPAND_BUILTIN_VA_START #define TARGET_EXPAND_BUILTIN_VA_START iq2000_va_start -#undef TARGET_LRA_P -#define TARGET_LRA_P hook_bool_void_false - #undef TARGET_LEGITIMATE_ADDRESS_P #define TARGET_LEGITIMATE_ADDRESS_P iq2000_legitimate_address_p diff --git a/gcc/config/m32r/m32r.cc b/gcc/config/m32r/m32r.cc index 5a788e29515..155a248459b 100644 --- a/gcc/config/m32r/m32r.cc +++ b/gcc/config/m32r/m32r.cc @@ -127,9 +127,6 @@ static const struct attribute_spec m32r_attribute_table[] = #undef TARGET_ATTRIBUTE_TAKES_IDENTIFIER_P #define TARGET_ATTRIBUTE_TAKES_IDENTIFIER_P m32r_attribute_identifier -#undef TARGET_LRA_P -#define TARGET_LRA_P hook_bool_void_false - #undef TARGET_LEGITIMATE_ADDRESS_P #define TARGET_LEGITIMATE_ADDRESS_P m32r_legitimate_address_p #undef TARGET_LEGITIMIZE_ADDRESS diff --git a/gcc/config/microblaze/microblaze.cc b/gcc/config/microblaze/microblaze.cc index 6df2c712cab..ebe78304f89 100644 --- a/gcc/config/microblaze/microblaze.cc +++ b/gcc/config/microblaze/microblaze.cc @@ -4017,9 +4017,6 @@ microblaze_starting_frame_offset (void) #undef TARGET_LEGITIMATE_ADDRESS_P #define TARGET_LEGITIMATE_ADDRESS_P microblaze_legitimate_address_p -#undef TARGET_LRA_P -#define TARGET_LRA_P hook_bool_void_false - #undef TARGET_FRAME_POINTER_REQUIRED #define TARGET_FRAME_POINTER_REQUIRED microblaze_frame_pointer_required diff --git a/gcc/config/mmix/mmix.cc b/gcc/config/mmix/mmix.cc index 4e4fb8bdac2..eda2959adb9 100644 --- a/gcc/config/mmix/mmix.cc +++ b/gcc/config/mmix/mmix.cc @@ -273,9 +273,6 @@ static HOST_WIDE_INT mmix_starting_frame_offset (void); #undef TARGET_PREFERRED_OUTPUT_RELOAD_CLASS #define TARGET_PREFERRED_OUTPUT_RELOAD_CLASS mmix_preferred_output_reload_class -#undef TARGET_LRA_P -#define TARGET_LRA_P hook_bool_void_false - #undef TARGET_LEGITIMATE_ADDRESS_P #define TARGET_LEGITIMATE_ADDRESS_P mmix_legitimate_address_p #undef TARGET_LEGITIMATE_CONSTANT_P