From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-ed1-x52a.google.com (mail-ed1-x52a.google.com [IPv6:2a00:1450:4864:20::52a]) by sourceware.org (Postfix) with ESMTPS id 8A946385BF81 for ; Tue, 30 Nov 2021 14:32:40 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 8A946385BF81 Received: by mail-ed1-x52a.google.com with SMTP id x6so87247164edr.5 for ; Tue, 30 Nov 2021 06:32:40 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=jdIMkZcrknZYLXhw/j1+vit8Ohx9bzqFnguTuVOY4NI=; b=YP9miRBAR5DQODNSQsQaTwpALy0/kfBHMzmapB3LQ+zYF4gh1vezpuqjOqyFxl/bG5 SXil+3tbqbqY125np2GfxcFDy0vZppJbws5DZZItd76+E6+GhXcvkq8KXiBhCTUQNAKM QHONQBSDJIZKbI0myfQyfzfnvhnz0szZfLeUFYslpzSGTxO6DfeeZ6WbZSKyeGOH6a56 /FZ7Dh1J8WYV3JSwQifvzdfH9Jj9h3Wzus7wML0z4ZMd9WXfjsF38KSRDZSw3j/pNIpF JCCrJ3SlZrMyrZhzt/ALbGBXXaocjseLS+yZjizIoR/QDf5zqB3H8TrErWGc/ODfprFU x2rQ== X-Gm-Message-State: AOAM5301ioroEj7JCLLMkRGnz/i86y2l//drbrCqMhD7VicdHl3oe8fd 0KGfXtwgaVJkER35Dn6qxAULkvBWrJvt177E7hA= X-Google-Smtp-Source: ABdhPJydGtgvkGYR5y5kBPuF+kLuV9YWFo23DDqrzWDZf0UVF7g5ftjkLvSdYp4WNrhmsjmI9+u5rLoSvPIN7/aJDpg= X-Received: by 2002:a17:907:7f8b:: with SMTP id qk11mr61906758ejc.204.1638282757791; Tue, 30 Nov 2021 06:32:37 -0800 (PST) MIME-Version: 1.0 References: In-Reply-To: From: Richard Biener Date: Tue, 30 Nov 2021 15:32:27 +0100 Message-ID: Subject: Re: [PATCH] ipa-sra: Check also ECF_LOOPING_CONST_OR_PURE when evaluating calls To: Martin Jambor Cc: GCC Patches , Jan Hubicka Content-Type: text/plain; charset="UTF-8" X-Spam-Status: No, score=-8.2 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FREEMAIL_FROM, GIT_PATCH_0, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) 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: , X-List-Received-Date: Tue, 30 Nov 2021 14:32:42 -0000 On Tue, Nov 30, 2021 at 3:24 PM Martin Jambor wrote: > > Hi, > > in PR 103267 Honza found out that IPA-SRA does not look at > ECF_LOOPING_CONST_OR_PURE when evaluating if a call can have side > effects. Fixed with this patch. The testcase infinitely loops in a > const function, so it would not make a good addition to the testsuite. > > Bootstrapped and tested on x86_64-linux. OK for trunk? OK. > Thanks, > > Martin > > > gcc/ChangeLog: > > 2021-11-29 Martin Jambor > > PT ipa/103267 > * ipa-sra.c (scan_function): Also check ECF_LOOPING_CONST_OR_PURE flag. > --- > gcc/ipa-sra.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/gcc/ipa-sra.c b/gcc/ipa-sra.c > index cb0e30507a1..12ccd049552 100644 > --- a/gcc/ipa-sra.c > +++ b/gcc/ipa-sra.c > @@ -1925,7 +1925,8 @@ scan_function (cgraph_node *node, struct function *fun) > if (lhs) > scan_expr_access (lhs, stmt, ISRA_CTX_STORE, bb); > int flags = gimple_call_flags (stmt); > - if ((flags & (ECF_CONST | ECF_PURE)) == 0) > + if (((flags & (ECF_CONST | ECF_PURE)) == 0) > + || (flags & ECF_LOOPING_CONST_OR_PURE)) > bitmap_set_bit (final_bbs, bb->index); > } > break; > -- > 2.33.1 >