From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtpbg153.qq.com (smtpbg153.qq.com [13.245.218.24]) by sourceware.org (Postfix) with ESMTPS id 9F1E83861001 for ; Wed, 24 Apr 2024 10:05:12 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 9F1E83861001 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 9F1E83861001 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=13.245.218.24 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1713953120; cv=none; b=P7vXpcKSY0/wJ2zDGVU9aPpc1pnuBJvxY3db1KpG1IoY2BdYu1cliC4WPPsn4oosQ26NrZfs04NjSQpG3iDyhqL5Nl+N4So9RTwHDXWUY/IdH7ueGWU85xmdcJz66N6Tzc3ffTnd+3YBlToWmdJRMe3ciEfXQan6PXByGKl/9XI= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1713953120; c=relaxed/simple; bh=QEI9Si3SLpEfISAI5PjMqW6JbkUDO/9vxeVzr/mD6rY=; h=From:To:Subject:Date:Message-Id:MIME-Version; b=JCPftKto6W/0HvK6uAeHcAMewopMguH2ZQAGPixNpctfk6r2d5F8xfOgGx0GmZxcXX3G/kSrO2Vnmm6Yx5iorWp41BDtJqag83Ii7NaUm7UYR3ElIc2IdML4n9m2E6DV0QCT3lWZANrSLEiMpAgAMkBK/3+Eq0qDFhu3HUiEjK8= ARC-Authentication-Results: i=1; server2.sourceware.org X-QQ-mid: bizesmtp81t1713953100t5ag1zu8 X-QQ-Originating-IP: lmPzXcPEsipqKBpjosOBfP8CUvfxAOKDGmbbeVjiSMw= Received: from LAPTOP-VULMBCK0.localdomain ( [113.104.209.113]) by bizesmtp.qq.com (ESMTP) with id ; Wed, 24 Apr 2024 18:04:59 +0800 (CST) X-QQ-SSF: 01400000000000C0F000000A0000000 X-QQ-FEAT: c342PQuYFhE7qGyKNoVw2a3NUZonkI4VK6C/12z5lxCs98bc/DVJvD3pEsFKh tfosLtjKR9wMdN0BSpNYVj0SXMyxEBShRd/hLyOfspsOe7uw1FjYBEKmtFNRnwu0swMmsRp qZ9A+FlU+ocIdLFmdoFh87M69Qa6tmlQ0yAOZSMNFxH8hqq82locGWeMyez6C/vUu6T37C+ 8H9InrTxxSAlLD5POimQKr627whVWDWq431dwNXZ08t/Tmvw6QWVV5pM8iajtaqXV94A/OX FfvcHGw2wN2UBhdLBM8vXncM6GIsKvPntoysm2e6nKqUlnt/DoNEf2u7An0407Xb77anoCA uVR1DV2IVTMGTqbWv+9lB9FgMxLRuHa7aYIZPjZR8TTYZdvnS/bNFS9JeJ7ffBmn1T3nmk3 zRfbwoXYlXw= X-QQ-GoodBg: 2 X-BIZMAIL-ID: 5591073589013545368 From: Lehua Ding To: gcc-patches@gcc.gnu.org Cc: juzhe.zhong@rivai.ai, shuo.chen@rivai.ai, jin.xia@rivai.ai, vmakarov@redhat.com, richard.sandiford@arm.com Subject: [PATCH 1/4] df: Add -ftrack-subreg-liveness option Date: Wed, 24 Apr 2024 18:05:02 +0800 Message-Id: <20240424100505.1301-2-lehua.ding@rivai.ai> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20240424100505.1301-1-lehua.ding@rivai.ai> References: <20240424100505.1301-1-lehua.ding@rivai.ai> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-QQ-SENDSIZE: 520 Feedback-ID: bizesmtp:rivai.ai:qybglogicsvrgz:qybglogicsvrgz5a-3 X-Spam-Status: No, score=-10.9 required=5.0 tests=BAYES_00,GIT_PATCH_0,KAM_DMARC_STATUS,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,SPF_HELO_PASS,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 List-Id: Add new flag -ftrack-subreg-liveness to enable track-subreg-liveness. This flag is enabled at -O3/fast. gcc/ChangeLog: * common.opt: add -ftrack-subreg-liveness option. * opts.cc: auto aneble -ftrack-subreg-liveness in -O3/fast --- gcc/common.opt | 4 ++++ gcc/common.opt.urls | 3 +++ gcc/doc/invoke.texi | 8 ++++++++ gcc/opts.cc | 1 + 4 files changed, 16 insertions(+) diff --git a/gcc/common.opt b/gcc/common.opt index ad348844775..bd030973434 100644 --- a/gcc/common.opt +++ b/gcc/common.opt @@ -2157,6 +2157,10 @@ fira-share-spill-slots Common Var(flag_ira_share_spill_slots) Init(1) Optimization Share stack slots for spilled pseudo-registers. +ftrack-subreg-liveness +Common Var(flag_track_subreg_liveness) Init(0) Optimization +Track subreg liveness information. + fira-verbose= Common RejectNegative Joined UInteger Var(flag_ira_verbose) Init(5) -fira-verbose= Control IRA's level of diagnostic messages. diff --git a/gcc/common.opt.urls b/gcc/common.opt.urls index f71ed80a34b..59f27a6f7c6 100644 --- a/gcc/common.opt.urls +++ b/gcc/common.opt.urls @@ -880,6 +880,9 @@ UrlSuffix(gcc/Optimize-Options.html#index-fira-share-save-slots) fira-share-spill-slots UrlSuffix(gcc/Optimize-Options.html#index-fira-share-spill-slots) +ftrack-subreg-liveness +UrlSuffix(gcc/Optimize-Options.html#index-ftrack-subreg-liveness) + fira-verbose= UrlSuffix(gcc/Developer-Options.html#index-fira-verbose) diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi index 27c31ab0c86..9724cbb32ba 100644 --- a/gcc/doc/invoke.texi +++ b/gcc/doc/invoke.texi @@ -13186,6 +13186,14 @@ Disable sharing of stack slots allocated for pseudo-registers. Each pseudo-register that does not get a hard register gets a separate stack slot, and as a result function stack frames are larger. +@opindex ftrack-subreg-liveness +@item -ftrack-subreg-liveness +Enable tracking subreg liveness information. This infomation allows IRA +and LRA to support subreg coalesce feature which can improve the quality +of register allocation. + +This option is enabled at level @option{-O3} for all targets. + @opindex flra-remat @item -flra-remat Enable CFG-sensitive rematerialization in LRA. Instead of loading diff --git a/gcc/opts.cc b/gcc/opts.cc index a90dc57f8b5..7b5d905a241 100644 --- a/gcc/opts.cc +++ b/gcc/opts.cc @@ -689,6 +689,7 @@ static const struct default_options default_options_table[] = { OPT_LEVELS_3_PLUS, OPT_funswitch_loops, NULL, 1 }, { OPT_LEVELS_3_PLUS, OPT_fvect_cost_model_, NULL, VECT_COST_MODEL_DYNAMIC }, { OPT_LEVELS_3_PLUS, OPT_fversion_loops_for_strides, NULL, 1 }, + { OPT_LEVELS_3_PLUS, OPT_ftrack_subreg_liveness, NULL, 1 }, /* -O3 parameters. */ { OPT_LEVELS_3_PLUS, OPT__param_max_inline_insns_auto_, NULL, 30 }, -- 2.25.1