From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-ed1-x535.google.com (mail-ed1-x535.google.com [IPv6:2a00:1450:4864:20::535]) by sourceware.org (Postfix) with ESMTPS id 9E0FC385782D for ; Wed, 28 Jul 2021 12:34:02 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 9E0FC385782D Received: by mail-ed1-x535.google.com with SMTP id j2so2920818edp.11 for ; Wed, 28 Jul 2021 05:34:02 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=vy67XWZOagRadZBT+4bbdFViynDXBFB/ztMKu1FQN7s=; b=K+KkRIItuw/+cgj4KeNtr7s25EjwLfCyLjBYVmQL9GitVjx29jt9t2VWHNDavHv/E6 CRqexkCFybTM6lVsz7UAWKWnLDhxcA4A1AUJbIuf8c2BPCZD/cD+XEPrmIHCFhdL9aoC DS1JgHEiqVTOUABfN9a04C86PxpQ4uum7h4/5xZL/mofwAHHzDHaB8zjUKN6UuY5Z/hf bZPMACWUZzdlY2HaHiY2RAGCgDsS8ykT+X/tuUJiRsicc9FIWebMDzOLz/3sQjqCST6g 9EOVpJD0j01PHbgErgE1xFt/EN2N+u5wyyZRoPfa94eGDesM7r+DbZbVXNXWHtbhXYZA 11Vg== X-Gm-Message-State: AOAM533EhYLAZin0+0Pp5w3SEGQUAD2Fdlo5eyr07W0DQONCQ100NNYA GO3CaXYLOqHeScshF9QW/pmxsrRgAV1Ab4OE6HI= X-Google-Smtp-Source: ABdhPJx/d3Jp/Lq5nCHWmN+KuHXK5qIPjK4bK83vdvTN9A4RWID1U0zBnYyAtemApF6y9mts8i2g3dFajGFl+DoF1LA= X-Received: by 2002:a05:6402:524b:: with SMTP id t11mr33620084edd.361.1627475641661; Wed, 28 Jul 2021 05:34:01 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Richard Biener Date: Wed, 28 Jul 2021 14:33:50 +0200 Message-ID: Subject: Re: don't access cfun in dump_function_to_file To: Alexandre Oliva Cc: GCC Patches Content-Type: text/plain; charset="UTF-8" X-Spam-Status: No, score=-8.6 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: Wed, 28 Jul 2021 12:34:04 -0000 On Wed, Jul 28, 2021 at 10:12 AM Alexandre Oliva wrote: > > > dump_function_to_file takes the function to dump as a parameter, and > parts of it use the local fun variable where cfun would be used > elsewhere. Others use cfun, presumably in error. Fixed to use fun > uniformly. Added a few more tests for non-NULL fun before > dereferencing it. > > Regstrapped on x86_64-linux-gnu. Ok to install? OK. Richard. > > for gcc/ChangeLog > > * tree-cfg.c (dump_function_to_file): Use fun, not cfun. > --- > gcc/tree-cfg.c | 10 +++++----- > 1 file changed, 5 insertions(+), 5 deletions(-) > > diff --git a/gcc/tree-cfg.c b/gcc/tree-cfg.c > index 30b1b56293e3b..38269a27b7978 100644 > --- a/gcc/tree-cfg.c > +++ b/gcc/tree-cfg.c > @@ -8074,9 +8074,9 @@ dump_function_to_file (tree fndecl, FILE *file, dump_flags_t flags) > : (fun->curr_properties & PROP_cfg) ? "cfg" > : ""); > > - if (cfun->cfg) > + if (fun && fun->cfg) > { > - basic_block bb = ENTRY_BLOCK_PTR_FOR_FN (cfun); > + basic_block bb = ENTRY_BLOCK_PTR_FOR_FN (fun); > if (bb->count.initialized_p ()) > fprintf (file, ",%s(%" PRIu64 ")", > profile_quality_as_string (bb->count.quality ()), > @@ -8162,8 +8162,8 @@ dump_function_to_file (tree fndecl, FILE *file, dump_flags_t flags) > > tree name; > > - if (gimple_in_ssa_p (cfun)) > - FOR_EACH_SSA_NAME (ix, name, cfun) > + if (gimple_in_ssa_p (fun)) > + FOR_EACH_SSA_NAME (ix, name, fun) > { > if (!SSA_NAME_VAR (name) > /* SSA name with decls without a name still get > @@ -8199,7 +8199,7 @@ dump_function_to_file (tree fndecl, FILE *file, dump_flags_t flags) > > fprintf (file, "}\n"); > } > - else if (fun->curr_properties & PROP_gimple_any) > + else if (fun && (fun->curr_properties & PROP_gimple_any)) > { > /* The function is now in GIMPLE form but the CFG has not been > built yet. Emit the single sequence of GIMPLE statements > > -- > Alexandre Oliva, happy hacker https://FSFLA.org/blogs/lxo/ > Free Software Activist GNU Toolchain Engineer > Disinformation flourishes because many people care deeply about injustice > but very few check the facts. Ask me about