From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by sourceware.org (Postfix) with ESMTPS id AFBE23858426 for ; Tue, 30 Apr 2024 21:37:07 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org AFBE23858426 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=redhat.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=redhat.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org AFBE23858426 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=170.10.133.124 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1714513029; cv=none; b=CJsN7tKbK/JOUE6UflntsQzS7UaV6fd3YU5AaVXjLW47q/eRmkIoZsjOjeCU6C3ieVILrx6NOtEVG5otxZ7hcoj7z9Lh1AURwVY3JdnqLPeaqqeSucIPfSRRztA8RISqepirN06mIAG2IXLLtiykQn92Wri0gPELY2TEUyFEjgA= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1714513029; c=relaxed/simple; bh=gwtmf+/F2FIyfSZ3JgEXjIS86GkFjRbSoaUk0mXOtT0=; h=DKIM-Signature:Message-ID:Date:MIME-Version:Subject:To:From; b=up7QSLhLSIRcVJTYDeUVwbdc0rIEgOmyRgTU/1jpm4Ra4J319oxVu89iULbU58BVDWIWIYwlB/03Q0UinOQAorK3lo5t72/WRqEo+UpJKVig0bpLdL37zu2nkL3tqOQuQSUPR4ZSmb2QseNtFJ/SUgZHeF4sPQCVbyRI9tQwKkE= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1714513027; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=FjXZcBPHg6qNxb6KfLd6P1rFvtFy82wHwAxzmlDh+O8=; b=fjGkt9lEQRdGqh1sKuli8zPx15e3bYC8pTI9sPXJL5EdRPunSlH4HW1/B3GqeJwdcIJjhF 8kCXSESb74kjuDVabxl7crB5k/vTcX7toPVK7AplEYH+i3jwycJgjTDH9Wp5aC0jtPF+bt ku1o1cNsamTxEEmbL4/v6pGVUKs8cfU= Received: from mail-pl1-f199.google.com (mail-pl1-f199.google.com [209.85.214.199]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-564-lpS4uz15NFSZC6UYAe8mZA-1; Tue, 30 Apr 2024 17:37:06 -0400 X-MC-Unique: lpS4uz15NFSZC6UYAe8mZA-1 Received: by mail-pl1-f199.google.com with SMTP id d9443c01a7336-1e604136b6dso57413345ad.1 for ; Tue, 30 Apr 2024 14:37:05 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1714513025; x=1715117825; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=FjXZcBPHg6qNxb6KfLd6P1rFvtFy82wHwAxzmlDh+O8=; b=ZiBhVM5MYaULU1X+nsp/PjkgX3hyjELMTZ7umOXPTxo0dXouGqy2bFm1hS4+n3facM gbfYR/cc1eVOHcGZX/qiULquNR5bKbmByQEt6lVGk+fSN0WiJsYL5KaAV7+CbV7Pdtnc jf/6R8nnXBC6GvzC7Qqgh1HDVTcfPCdMEFTi9QkSUoHK6dyy8ggvfbvZ/Rc91+CRi+Dl MWOXhzmMEMNOU5tLQIZ/x3PhrmUh8QpckjzlbsBu/DVUkKV25nxRz/sEXQ6w5bpVZiUp gR/NMXe9QXeV5yuEa154qpRTR3P30m5XTKtEgPR/LKjceeeqDPwCVOBZuphMsM0NTnvd +AxQ== X-Forwarded-Encrypted: i=1; AJvYcCVFYIHVNZW1U6SW9knY+a9+84Fi1GDPIAie5mAMUZzI0sulKJ35gWJQ2Jo2prTlqGefVNoqHVwAAkj/sJNufaE= X-Gm-Message-State: AOJu0YwuOEDpdsixhJhXE3Ziv60e4LdgEX2oif2FZDfRns2yvg+P+7Hw xMfydbCtCZFnwtwmXuNAwXk7A7bYvU6rIV3rW/yKyeSxAZUj5y+/UjdF/E7fhRcZvzEHyzLsXGH 2mJHmJ49UhL8D5e5lbJLQ14GSrq3Mp82kTLmJr3lRwayQ X-Received: by 2002:a17:902:d503:b0:1eb:1472:8640 with SMTP id b3-20020a170902d50300b001eb14728640mr827813plg.28.1714513024887; Tue, 30 Apr 2024 14:37:04 -0700 (PDT) X-Google-Smtp-Source: AGHT+IE4aVz6ActAkUM4CluTQFtvwrq5XQejiWSiNJElNXoYLdZMn2PLonCYhDkGpqYMHnor7/SvHw== X-Received: by 2002:a17:902:d503:b0:1eb:1472:8640 with SMTP id b3-20020a170902d50300b001eb14728640mr827794plg.28.1714513024561; Tue, 30 Apr 2024 14:37:04 -0700 (PDT) Received: from [192.168.1.130] (130-44-146-16.s12558.c3-0.arl-cbr1.sbo-arl.ma.cable.rcncustomer.com. [130.44.146.16]) by smtp.gmail.com with ESMTPSA id q9-20020a170902dac900b001eb07ee30e4sm8699121plx.2.2024.04.30.14.37.03 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 30 Apr 2024 14:37:04 -0700 (PDT) Message-ID: <3b573664-e3f2-4be1-ac80-47b7a258aa4c@redhat.com> Date: Tue, 30 Apr 2024 17:37:02 -0400 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: 1.76% performance loss in VRP due to inlining To: Jakub Jelinek Cc: Aldy Hernandez , GCC Mailing List , "MacLeod, Andrew" References: From: Jason Merrill In-Reply-To: X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Language: en-US Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-6.8 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H4,RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,SPF_NONE,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: On 4/30/24 12:22, Jakub Jelinek wrote: > On Tue, Apr 30, 2024 at 03:09:51PM -0400, Jason Merrill via Gcc wrote: >> On Fri, Apr 26, 2024 at 5:44 AM Aldy Hernandez via Gcc wrote: >>> >>> In implementing prange (pointer ranges), I have found a 1.74% slowdown >>> in VRP, even without any code path actually using the code. I have >>> tracked this down to irange::get_bitmask() being compiled differently >>> with and without the bare bones patch. With the patch, >>> irange::get_bitmask() has a lot of code inlined into it, particularly >>> get_bitmask_from_range() and consequently the wide_int_storage code. >> ... >>> +static irange_bitmask >>> +get_bitmask_from_range (tree type, >>> + const wide_int &min, const wide_int &max) >> ... >>> -irange_bitmask >>> -irange::get_bitmask_from_range () const >> >> My guess is that this is the relevant change: the old function has >> external linkage, and is therefore interposable, which inhibits >> inlining. The new function has internal linkage, which allows >> inlining. > > Even when a function is exported, when not compiled with -fpic/-fPIC > if we know the function is defined in current TU, it can't be interposed, Ah, I was misremembering the effect of the change. Rather, it's that if we see that a function with internal linkage has only a single caller, we try harder to inline it. Jason