From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-vs1-xe34.google.com (mail-vs1-xe34.google.com [IPv6:2607:f8b0:4864:20::e34]) by sourceware.org (Postfix) with ESMTPS id 1F97A3952007 for ; Thu, 26 Jan 2023 19:17:00 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 1F97A3952007 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=gmail.com Received: by mail-vs1-xe34.google.com with SMTP id 187so2953592vsv.10 for ; Thu, 26 Jan 2023 11:17:00 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=p28l3q32bGelW9wtXOC8CkIxkAZVNXeV+Dr4c3sJpmc=; b=c3LrBaCXsaTgeTINJkxHhkZGi5KsU+kRnsq5BYKA6oLwfBr4BTT7OPHjXDBRJmE2uV 7B6WCuuOa/LEHmgmv5QT4y+z1XTmUOAqpLSGgZwojN+hOcIk9xvKV8RCXgzVfA8Qy1s8 V1Mf/u6y+1Afngpz0kMfr2EBXRQ0ETkqkNzS2mVAWF3R+pRh0t4rD67CgV1NBnZGyoQ0 2fNsNeLQe9BQ7MPMY1qVZGwvro58jKPagtwDCS/s9cHfjkFHBZNFL+my206YiL4dWykD n0ceGGV548tc2oGrE4d/dwVNVMxl6Q3c3I28i+hWvmznJ6QlAQrCtTQKIdeaoWmO7LqL 56gA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=p28l3q32bGelW9wtXOC8CkIxkAZVNXeV+Dr4c3sJpmc=; b=8CUbVoYk+YAvs0msbPmDD2d5BMWNKCd3m3hA6ggWlv2HJuIN9lha3/HYWL1zBo17sP w3Y43nspcvuhJENVEADCh5ZMOK94Mhd5lw6ZuLbetOOK2zLKzLX3txnosNSvFJI88TRt xEhBgeb5spe3CgjCRWrN2zJdfHRBBHnz0rMqu0YjzCN3niW5u9elK2ytwnAeE1b1geHx mxPgxniBZtqhuK5U/zhwqQLjVM65H+ccg5gu+l8zmk6IoWhQcd4V/C/vbx36KWybSDXf L5l4FRa3bLYDIKoYpX9vLciODM4HeiZxdJRkQgNob7N7ovBCVy9Q47KNVFsbOude9+Cd i5Eg== X-Gm-Message-State: AO0yUKXmg7/HbQRZpZOh3BA47D9wbaMamdYAjpErYmd/RxllB4yxduPF GIgD42RyrFxN0l/LilgI+2NkDW/jKUSF9i8QLEU= X-Google-Smtp-Source: AK7set+i8Z2M4KAtQV1PvYGp8zi5MsEYwpn8/o3JWIL0VOE8FCeC+1SNY7GA5VIoWoAyw8l2ioz2fBGaBUv+9iud0dY= X-Received: by 2002:a67:fe13:0:b0:3e9:a641:7acb with SMTP id l19-20020a67fe13000000b003e9a6417acbmr936276vsr.30.1674760619342; Thu, 26 Jan 2023 11:16:59 -0800 (PST) MIME-Version: 1.0 References: <20230109231720.155773-1-juzhe.zhong@rivai.ai> In-Reply-To: <20230109231720.155773-1-juzhe.zhong@rivai.ai> From: Kito Cheng Date: Fri, 27 Jan 2023 03:16:48 +0800 Message-ID: Subject: Re: [PATCH] RISC-V: Add probability model of each block to prevent endless loop of Phase 3 To: juzhe.zhong@rivai.ai Cc: gcc-patches@gcc.gnu.org, palmer@dabbelt.com Content-Type: multipart/alternative; boundary="000000000000ccc20805f32f972b" X-Spam-Status: No, score=-8.3 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,GIT_PATCH_0,HTML_MESSAGE,KAM_NUMSUBJECT,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 List-Id: --000000000000ccc20805f32f972b Content-Type: text/plain; charset="UTF-8" committed, thanks. On Tue, Jan 10, 2023 at 7:17 AM wrote: > From: Ju-Zhe Zhong > > Notice that the PASS is just simpily pick the probability >= 50% > to do the backward fusion which will create endless loop on Phase 3. > > Adding this probability to fix this bug. > gcc/ChangeLog: > > * config/riscv/riscv-vsetvl.cc > (vector_infos_manager::vector_infos_manager): Add probability. > (vector_infos_manager::dump): Ditto. > (pass_vsetvl::compute_probabilities): Ditto. > * config/riscv/riscv-vsetvl.h (struct vector_block_info): Ditto. > > --- > gcc/config/riscv/riscv-vsetvl.cc | 39 ++++++++++++++++++++++++++++++++ > gcc/config/riscv/riscv-vsetvl.h | 3 +++ > 2 files changed, 42 insertions(+) > > diff --git a/gcc/config/riscv/riscv-vsetvl.cc > b/gcc/config/riscv/riscv-vsetvl.cc > index 0f12d4ddb23..7d8c3a32aaa 100644 > --- a/gcc/config/riscv/riscv-vsetvl.cc > +++ b/gcc/config/riscv/riscv-vsetvl.cc > @@ -1465,6 +1465,7 @@ vector_infos_manager::vector_infos_manager () > vector_block_infos[bb->index ()].reaching_out = vector_insn_info > (); > for (insn_info *insn : bb->real_insns ()) > vector_insn_infos[insn->uid ()].parse_insn (insn); > + vector_block_infos[bb->index ()].probability = > profile_probability (); > } > } > } > @@ -1642,6 +1643,8 @@ vector_infos_manager::dump (FILE *file) const > } > fprintf (file, "