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 C79003861802 for ; Thu, 15 Feb 2024 05:08:05 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org C79003861802 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=cs.washington.edu Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=cs.washington.edu ARC-Filter: OpenARC Filter v1.0.0 sourceware.org C79003861802 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2607:f8b0:4864:20::e34 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1707973689; cv=none; b=VP/Q3dsEhKXKlYOcYQOpxgKzEYj7/Me+tx5A8rJquEGkFUOMwXmMiu5mxPCDHNbpQEb0TQnJKr0UWNvx+KW4oDZv8VU34X3pBdZXf8yAfILanOFoCy5x9JrLfrTYtyz4k+AO79TJS50fq5v7GeUPlYgkQVHsco6N//S4ANynBm4= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1707973689; c=relaxed/simple; bh=x4vmdTmz6BpQav6IDdPKj0jnXm0r8uILq6yqEi3WPnI=; h=DKIM-Signature:MIME-Version:From:Date:Message-ID:Subject:To; b=V0PwO024BFYTiQkjslXVdMqT0vH6g0evnszE7Mb0g68ObicX492IZVj0sRAWe+ckV6yuqKohJvPyIW9Z0PBiBpbnduM19+5ARgKNimuOExhRueJr+VxajSoBNthHdPdRFQd07VZT6x+z0BmdMsiMEjx9DCOAFWec1Hz9jcd1Q6s= ARC-Authentication-Results: i=1; server2.sourceware.org Received: by mail-vs1-xe34.google.com with SMTP id ada2fe7eead31-46d1bebe946so163613137.2 for ; Wed, 14 Feb 2024 21:08:05 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cs.washington.edu; s=goo201206; t=1707973685; x=1708578485; darn=gcc.gnu.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=Ns/vdeisLchddi28HCpMhNqa96EjOuq88ofVpbr4l18=; b=hpwIyfkpbGv//GuGP709l0I89GTHleLcklvjrpMPwofIu6QwUeJ13grPnGtftNlhBe X2HgUHeSTRCfhWzbvhBWvCKRC0mPBDFIPKMd69tMR7pHH/8Es1MiM44e/K0pPp5tKCp3 Xa6Z7UvQ0qQv7XjNIw1SoOf+9cz7YG8ipCMTo= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1707973685; x=1708578485; h=content-transfer-encoding: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=Ns/vdeisLchddi28HCpMhNqa96EjOuq88ofVpbr4l18=; b=IuZFeLamIiumNnigkEGADtib4Ti+ZVeQeDGqyrvGonCCjgXjNCV/1vBpK9Z3xCzN3k YM0rfSMpZq4MezgjVHQo8GXy3nTtWIzb0zzRFlE7zEvOwnTLV4bwan5XOEa2uyp0h3L6 QJvSBrNoIlKsO4sk1dqfmoFneltqOEvMuJtpUiaDruR7T9TC7QQhk91zcaHi0byhWwv7 HDQqQHJ73cmFKnVteYObcu9lh6GdMyiK++yTVIFsfJmVlgRau0Rn3dYuHWSpjFK7JjQN MXRqE+nv1F/PqcWnixF1aLaBgKbHj2J/AHBwYv+vDO4PhgyMb66/Wq0kHM/zeEAkAYHR SUVQ== X-Gm-Message-State: AOJu0Ywtjp91nshTHlSky9jUWZT/PnNg1WgjF/KQFdgNVzJtQcgoZBox st94sLVY0j8fLho7G04dT296zGOqYEEGiKNd2j0cCCJR7WfQuupLZPOe2XQ5xokm9a+6/54iMWX JtmL76tbmlG45iUcyZP4FiKc2C5n0TTsxSkLe X-Google-Smtp-Source: AGHT+IEiCzjZ2Lv9NxkdXk4C/zYurzqV/tHl75T0RLqSN2QLTEVlz2ZshxlUvzMHpa0GtBfSwgcNCUS8MGWf8/RY3p0= X-Received: by 2002:a05:6102:162c:b0:46d:16fd:e8ef with SMTP id cu44-20020a056102162c00b0046d16fde8efmr1026605vsb.10.1707973685085; Wed, 14 Feb 2024 21:08:05 -0800 (PST) MIME-Version: 1.0 References: <20231223220432.712093-1-kmatsui@gcc.gnu.org> <20240106050754.3054782-1-kmatsui@gcc.gnu.org> In-Reply-To: <20240106050754.3054782-1-kmatsui@gcc.gnu.org> From: Ken Matsui Date: Wed, 14 Feb 2024 21:07:29 -0800 Message-ID: Subject: PING: [PATCH v3 0/8] Optimize more type traits To: Ken Matsui Cc: gcc-patches , "libstdc++" Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Spam-Status: No, score=-5.0 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS,TXREP,T_SCC_BODY_TEXT_LINE 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: IIRC, all libstdc++ patches were already reviewed. It would be great if gcc patches were reviewed as well. Thank you for your time. Sincerely, Ken Matsui On Fri, Jan 5, 2024 at 9:08=E2=80=AFPM Ken Matsui wro= te: > > Changes in v3: > > - Rebased on top of master. > - Fixed __is_pointer in cpp_type_traits.h. > > Changes in v2: > > - Removed testsuite_tr1.h includes from the testcases. > > --- > > This patch series implements __is_const, __is_volatile, __is_pointer, > and __is_unbounded_array built-in traits, which were isolated from my > previous patch series "Optimize type traits compilation performance" > because they contained performance regression. I confirmed that this > patch series does not cause any performance regression. The main reason > of the performance regression were the exhaustiveness of the benchmarks > and the instability of the benchmark results. Here are new benchmark > results: > > is_const: https://github.com/ken-matsui/gcc-bench/blob/main/is_const.md#s= at-dec-23-090605-am-pst-2023 > > time: -4.36603%, peak memory: -0.300891%, total memory: -0.247934% > > is_volatile_v: https://github.com/ken-matsui/gcc-bench/blob/main/is_volat= ile_v.md#sat-dec-23-091518-am-pst-2023 > > time: -4.06816%, peak memory: -0.609298%, total memory: -0.659134% > > is_pointer: https://github.com/ken-matsui/gcc-bench/blob/main/is_pointer.= md#sat-dec-23-124903-pm-pst-2023 > > time: -2.47124%, peak memory: -2.98207%, total memory: -4.0811% > > is_unbounded_array_v: https://github.com/ken-matsui/gcc-bench/blob/main/i= s_unbounded_array_v.md#sat-dec-23-010046-pm-pst-2023 > > time: -1.50025%, peak memory: -1.07386%, total memory: -2.32394% > > Ken Matsui (8): > c++: Implement __is_const built-in trait > libstdc++: Optimize std::is_const compilation performance > c++: Implement __is_volatile built-in trait > libstdc++: Optimize std::is_volatile compilation performance > c++: Implement __is_pointer built-in trait > libstdc++: Optimize std::is_pointer compilation performance > c++: Implement __is_unbounded_array built-in trait > libstdc++: Optimize std::is_unbounded_array compilation performance > > gcc/cp/constraint.cc | 12 +++ > gcc/cp/cp-trait.def | 4 + > gcc/cp/semantics.cc | 16 ++++ > gcc/testsuite/g++.dg/ext/has-builtin-1.C | 12 +++ > gcc/testsuite/g++.dg/ext/is_const.C | 20 +++++ > gcc/testsuite/g++.dg/ext/is_pointer.C | 51 +++++++++++++ > gcc/testsuite/g++.dg/ext/is_unbounded_array.C | 37 ++++++++++ > gcc/testsuite/g++.dg/ext/is_volatile.C | 20 +++++ > libstdc++-v3/include/bits/cpp_type_traits.h | 31 +++++++- > libstdc++-v3/include/std/type_traits | 73 +++++++++++++++++-- > 10 files changed, 267 insertions(+), 9 deletions(-) > create mode 100644 gcc/testsuite/g++.dg/ext/is_const.C > create mode 100644 gcc/testsuite/g++.dg/ext/is_pointer.C > create mode 100644 gcc/testsuite/g++.dg/ext/is_unbounded_array.C > create mode 100644 gcc/testsuite/g++.dg/ext/is_volatile.C > > -- > 2.43.0 >