From patchwork Thu Aug 19 18:44:44 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Martin Sebor X-Patchwork-Id: 1518801 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=gcc.gnu.org (client-ip=8.43.85.97; helo=sourceware.org; envelope-from=gcc-patches-bounces+incoming=patchwork.ozlabs.org@gcc.gnu.org; receiver=) Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=gcc.gnu.org header.i=@gcc.gnu.org header.a=rsa-sha256 header.s=default header.b=NknAtYSo; dkim-atps=neutral Received: from sourceware.org (ip-8-43-85-97.sourceware.org [8.43.85.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4GrDGv6wjHz9sW5 for ; Fri, 20 Aug 2021 04:45:27 +1000 (AEST) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id A694C39B1C17 for ; Thu, 19 Aug 2021 18:45:25 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org A694C39B1C17 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1629398725; bh=tvPPxgIp0D859g9ufzHeduAYz2u24av+Od3zkEt262E=; h=To:Subject:Date:List-Id:List-Unsubscribe:List-Archive:List-Post: List-Help:List-Subscribe:From:Reply-To:From; b=NknAtYSo+YnmDvqZHwWAbJRq7OuV85igjjeAcDjXa4OXHzxMxh/jUGZUFBKSPH7GX kn8GpJecnA3dqLwsQ10qVo8GjD7Yxjv93sbP1ZPwry951p55c6DyzhofBjFAqrrv0O zvOaa+rrXB6VnOdtwJieD3aPs13XLWTuTukZml6o= X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from mail-qt1-x82e.google.com (mail-qt1-x82e.google.com [IPv6:2607:f8b0:4864:20::82e]) by sourceware.org (Postfix) with ESMTPS id 7764239B1C17 for ; Thu, 19 Aug 2021 18:44:46 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 7764239B1C17 Received: by mail-qt1-x82e.google.com with SMTP id e15so5419245qtx.1 for ; Thu, 19 Aug 2021 11:44:46 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:to:from:subject:message-id:date:user-agent :mime-version:content-language; bh=tvPPxgIp0D859g9ufzHeduAYz2u24av+Od3zkEt262E=; b=D2b/Q9pIggPEGukdGSFMGB1SkL1Qq0aIKYAtlLOPzdlvoWRcWsy3/TlqR3Lz6CcQw/ 6vl92ccVBWkK/GZwL8+jNI+dAgPFwZIDqRExiVp1KyiAiQTL5bg/2BlEUVpX1cIfsM3x OyOTyguKaaOSqYQwtSqwnDlFww9uRDhsZOAXHgN4L325uq5NSipCfGvTgKfjbJOZmlzT kgw3reNm06Spx+ykoVVIPP0Kzy2eJf02ol0evhq9dQ1Dg+zoxpvGyFvLd56gKb+GPtOK /kF/ByBEz//AEnz0WUYPP/gQOvcYyQjKN3LyZwVl6f50blC2GMn/I9QDPtkLJEc2R9KX lFag== X-Gm-Message-State: AOAM533S/8//yZrgdU/BD+m2GS5zuG8jjTtMhBE0zy/72tRl537D4Zt/ qy1yCVdgJXJKOHySAG0bTJgIOWX/MJA= X-Google-Smtp-Source: ABdhPJypdMzcMWqkgoOiKnNdSZNiKTZVeEwMmKRYytJulSQHc2+OHbvpNiOyzjC6Lt+6WqKgsKVMcA== X-Received: by 2002:ac8:1249:: with SMTP id g9mr13964077qtj.292.1629398685899; Thu, 19 Aug 2021 11:44:45 -0700 (PDT) Received: from [192.168.0.41] (97-118-104-61.hlrn.qwest.net. [97.118.104.61]) by smtp.gmail.com with ESMTPSA id g22sm1950197qkm.33.2021.08.19.11.44.44 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 19 Aug 2021 11:44:45 -0700 (PDT) To: gcc-patches Subject: [committed] release ranger instance in pass_waccess (PR 101984) Message-ID: Date: Thu, 19 Aug 2021 12:44:44 -0600 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.2.2 MIME-Version: 1.0 Content-Language: en-US X-Spam-Status: No, score=-10.3 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-Patchwork-Original-From: Martin Sebor via Gcc-patches From: Martin Sebor Reply-To: Martin Sebor Errors-To: gcc-patches-bounces+incoming=patchwork.ozlabs.org@gcc.gnu.org Sender: "Gcc-patches" The changes in last night's patch to the new access warning pass (somewhat prematurely) included a call to enable_ranger() with no matching call to disable_ranger(). The two calls must be paired in order for the latter to release resources allocated by the former, otherwise the resources leak and might cause GCC to run out memory (as was observed in PR 101984). Besides a native x86_64 build I have also tested the change with the affected test and a powerpc-linux cross-compiler simply by observing memory usage. Committed as obvious in r12-3031. Martin PR middle-end/101984 - gimple-ssa-warn-access memory leak gcc/ChangeLog: PR middle-end/101984 * gimple-ssa-warn-access.cc (pass_waccess::execute): Also call disable_ranger. diff --git a/gcc/gimple-ssa-warn-access.cc b/gcc/gimple-ssa-warn-access.cc index f3efe564af0..4a2dd9ade77 100644 --- a/gcc/gimple-ssa-warn-access.cc +++ b/gcc/gimple-ssa-warn-access.cc @@ -3310,12 +3310,16 @@ pass_waccess::check (basic_block bb) unsigned pass_waccess::execute (function *fun) { + /* Create a new ranger instance and associate it with FUN. */ m_ranger = enable_ranger (fun); basic_block bb; FOR_EACH_BB_FN (bb, fun) check (bb); + /* Release the ranger instance and replace it with a global ranger. */ + disable_ranger (fun); + return 0; }