From patchwork Fri Jun 2 14:29:27 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Patrick Palka X-Patchwork-Id: 70514 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id A6D2E3857357 for ; Fri, 2 Jun 2023 14:30:54 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org A6D2E3857357 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1685716254; bh=46INad/hzaX5ennXdki2ybrSHFYcvRkYLeXGrx6VlTM=; h=To:Cc:Subject:Date:List-Id:List-Unsubscribe:List-Archive: List-Post:List-Help:List-Subscribe:From:Reply-To:From; b=DbFe/w18YKDroROoHGZ0OmklNPQh7N2ZLIpnCGQ496dxpzQbgNGqcFp3uNvxh9+5R jCltPRtZUE6wMsNOROfegJxY5GTDf80RbGE0QxUErZMeJLbryLa4uZCAZidVaBeZFW ZjpvPEdnixz9rvPcB0SmjkxtrFKpDGLANpKcfk+Q= X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org 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 B4E2B385703C for ; Fri, 2 Jun 2023 14:29:32 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org B4E2B385703C Received: from mail-qt1-f198.google.com (mail-qt1-f198.google.com [209.85.160.198]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-632-dA2Tka0CNfCMi18UzvyYkA-1; Fri, 02 Jun 2023 10:29:31 -0400 X-MC-Unique: dA2Tka0CNfCMi18UzvyYkA-1 Received: by mail-qt1-f198.google.com with SMTP id d75a77b69052e-3f813917b42so23300971cf.1 for ; Fri, 02 Jun 2023 07:29:31 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1685716170; x=1688308170; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=46INad/hzaX5ennXdki2ybrSHFYcvRkYLeXGrx6VlTM=; b=Cbfmo4PjJ292HYO05l65aKbYdKwhtuAMLKTaETFk7LfyDncRtf9DejzflxuB3lseeo 1oCbgKkR5DnCx7hTRcw6QRcHMTBlzrYUjZE/FCsz1oBjTlEx4GjdpM3JNGGoSaKDBfog ofmSiPjCqlpDbYppKEmuvuudTt0zyH3WzlJEWxMdtFYlpX2sBaIf/2W6BUk50cDVmqNX 81TZCCeAhO7G/8BYB3CVLQ5tzvICEy6/aMtaUMdRSP+ICXmCGCTqrF70nC5WOaq9XSC5 BLnVihMp3cz0F2P4l2/oXnrVVk9IvUxikET0DvYQFojK849bnGvdHT0oySSN6H4NVIHf gjzQ== X-Gm-Message-State: AC+VfDzIudLAyn+bGXEupcgUgjstAMrSJlGwte7jRR4MmqkMM6b0BY7h MA0eoCGrktvl6Mdftj6901e/eLY1V44AoXrIVZaGONTUA+5I/bH9NqU1AdiT6KrtKMi0tDAOmX/ 9oCEy9CjTgaqzPi/TWmL+gjrL4oP1B4g8eTmusf01Buk8ORY2mBH6825VAYYZaT1Kg3nYRITl2b g= X-Received: by 2002:a05:622a:13cd:b0:3f3:9fc0:7f69 with SMTP id p13-20020a05622a13cd00b003f39fc07f69mr14265605qtk.2.1685716170739; Fri, 02 Jun 2023 07:29:30 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ71jtM669nQnSTUk6+UTygW8eWOjXIBlQ6PrswqQvoJe1+xxG6O+0mZxumRVSMEYE/zDIIcqA== X-Received: by 2002:a05:622a:13cd:b0:3f3:9fc0:7f69 with SMTP id p13-20020a05622a13cd00b003f39fc07f69mr14265586qtk.2.1685716170410; Fri, 02 Jun 2023 07:29:30 -0700 (PDT) Received: from localhost.localdomain (ool-457670bb.dyn.optonline.net. [69.118.112.187]) by smtp.gmail.com with ESMTPSA id j17-20020ac874d1000000b003f6b8556547sm833482qtr.32.2023.06.02.07.29.29 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 02 Jun 2023 07:29:30 -0700 (PDT) To: gcc-patches@gcc.gnu.org Cc: jason@redhat.com, Patrick Palka Subject: [PATCH] c++: simplify TEMPLATE_TEMPLATE_PARM hashing Date: Fri, 2 Jun 2023 10:29:27 -0400 Message-ID: <20230602142928.1793231-1-ppalka@redhat.com> X-Mailer: git-send-email 2.41.0.rc1.10.g9e49351c30 MIME-Version: 1.0 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com X-Spam-Status: No, score=-13.8 required=5.0 tests=BAYES_00, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_NONE, 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 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: Patrick Palka via Gcc-patches From: Patrick Palka Reply-To: Patrick Palka Errors-To: gcc-patches-bounces+patchwork=sourceware.org@gcc.gnu.org Sender: "Gcc-patches" Bootstrapped and regtested on x86_64-pc-linux-gnu, does this look OK for trunk? -- >8 -- r10-7815-gaa576f2a860c82 added special hashing for TEMPLATE_TEMPLATE_PARM since non-lowered ttps had TYPE_CANONICAL but level lowered ttps did not. But this is no longer the case ever since r13-737-gd0ef9e06197d14 made us set TYPE_CANONICAL for level lowered ttps as well. So this special hashing is now unnecessary, and we can fall back to using TYPE_CANONICAL. gcc/cp/ChangeLog: * pt.cc (iterative_hash_template_arg): Don't hash TEMPLATE_TEMPLATE_PARM specially. --- gcc/cp/pt.cc | 13 +------------ 1 file changed, 1 insertion(+), 12 deletions(-) diff --git a/gcc/cp/pt.cc b/gcc/cp/pt.cc index 688a87a4bd3..7c2a5647665 100644 --- a/gcc/cp/pt.cc +++ b/gcc/cp/pt.cc @@ -1879,19 +1879,8 @@ iterative_hash_template_arg (tree arg, hashval_t val) return hash_tmpl_and_args (TI_TEMPLATE (ti), TI_ARGS (ti)); } - switch (TREE_CODE (arg)) + switch (code) { - case TEMPLATE_TEMPLATE_PARM: - { - tree tpi = TEMPLATE_TYPE_PARM_INDEX (arg); - - /* Do not recurse with TPI directly, as that is unbounded - recursion. */ - val = iterative_hash_object (TEMPLATE_PARM_LEVEL (tpi), val); - val = iterative_hash_object (TEMPLATE_PARM_IDX (tpi), val); - } - break; - case DECLTYPE_TYPE: val = iterative_hash_template_arg (DECLTYPE_TYPE_EXPR (arg), val); break;