From nobody Tue Aug 13 09:24:53 2024 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4WjmF15Zsgz5Smxy; Tue, 13 Aug 2024 09:24:53 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (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 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4WjmF12z6Qz4bLy; Tue, 13 Aug 2024 09:24:53 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1723541093; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=cdCNaOqcqZJ2Lk96ovLCY61z1kQ5Wjpd69c5QPVyywY=; b=exK/ouJexc9igSJcwEghyDka7jTbTK+s1m9Bm1ZQv9QH94M0Suy2RerpQL7eHqwGT3mw2w SDpSk2SnLLYuTkVhUG7JVnqM3dqkRmnM9TJtnPQQ4lq9lWaOs/VlRsxXuOsK8H4ZwHxAf0 o5+HlyOpwGtiACOfxBxpP5ID8fEsp40Psms9mh7VREBzf6ijpVP6lGXEEGqHl/X1drQO88 sWrTn/dHApPiQsRG0b8Bdx9qxCkryEpoK7LNJx3in/EkSzYoNcBthX81i/9kzo+k1clyRF tejPYzNK3r5Hx9bQKlVI3Z5eXC466ZM2wYhJzilyeFQ9tMQFrNFegxZpHBdbjQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1723541093; a=rsa-sha256; cv=none; b=v/HINFifqCqf0A8YfsF9E25ICHiFcMHK6Mo93WoIsL/ROoGAYmtpSNEpjBTj5xDFRoGOo6 G/QEjDGJcXpldW/c9Qp0RVL+r1WJp5dsMEbroAdRBtjTD1ZRNGrWOMkOOrqT1dU6AzPKYZ bD42sIrs83hkVILpt7m7HEC7E3fs+/FRieWWDDULVkbzuoyC0lXlrNsuwyYkZNaxs78F7V 3SUOo5H9qu11rQ6i/pf/jUi9pYYIOIzjmhU7y7lU+kUwuQzcFGLFckZrKBMtkxhgLflCsw jJR3AW9f429h4uUYKgn+lOQcygbUvkoHyRMyoohsg8AQO+IPj5TUbcM8GbO2iQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1723541093; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=cdCNaOqcqZJ2Lk96ovLCY61z1kQ5Wjpd69c5QPVyywY=; b=O4cxbjia0z+1IcsFwNvcnW19kwkoJXHpplvrioCi3RiEltKy81zG3FQIVTznMGFZOotvH3 75oJCgnzSYIgCzg/WOkoPqhEL9TwoFBFbUpEsIOsHDp6lmQy8Yng038ycYMN7ntcgXJuZu iJqyjAQjhHDhr6IOMN4p0Gq57SjupID4kTzNOvKOiy5jPfiT+1IzOMsCDjNZDYFPoB4Ac1 paQpjjUKZhn47xI1aoveDKjn6WihdxgGMZCBpZEw5XkZrBrcg+y/uSUrArj18ZBTk7E91M iA2uHDRa43j6Iu20QmLkCZ3YNcOfTooNYA8Vsd6jq/aSWYi/7wl04H233UVe+g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (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) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4WjmF12ZMsz14XL; Tue, 13 Aug 2024 09:24:53 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 47D9OrdT021424; Tue, 13 Aug 2024 09:24:53 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 47D9OrcM021421; Tue, 13 Aug 2024 09:24:53 GMT (envelope-from git) Date: Tue, 13 Aug 2024 09:24:53 GMT Message-Id: <202408130924.47D9OrcM021421@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dimitry Andric Subject: git: b998525875c4 - stable/14 - Merge commit d2353ae00c3b from llvm git (by Argyrios Kyrtzidis): List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dim X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: b998525875c47602313ac223eb35f7e51df3b50a Auto-Submitted: auto-generated The branch stable/14 has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=b998525875c47602313ac223eb35f7e51df3b50a commit b998525875c47602313ac223eb35f7e51df3b50a Author: Dimitry Andric AuthorDate: 2024-08-10 21:03:27 +0000 Commit: Dimitry Andric CommitDate: 2024-08-13 09:24:24 +0000 Merge commit d2353ae00c3b from llvm git (by Argyrios Kyrtzidis): [utils/TableGen/X86CompressEVEXTablesEmitter.cpp] Make sure the tablegen output for the `checkPredicate` function is deterministic (#84533) The output for the `checkPredicate` function was depending on a `std::map` iteration that was non-deterministic from run to run, because the keys were pointer values. Make a change so that the keys are `StringRef`s so the ordering is stable. This avoids non-determinism in llvm-tblgen output, which could cause differences in the generated X86GenCompressEVEXTables.inc file. Although these differences are not influencing the meaning of the generated code, they still change a few bytes in libllvm. This in turn influences all the binaries linked with libllvm, such as clang, ld.lld, etc. Reported by: cperciva MFC after: 3 days (cherry picked from commit 7a8d05ba19b7762596c0ff22e668e4d50bac81cf) --- .../llvm/utils/TableGen/X86CompressEVEXTablesEmitter.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/contrib/llvm-project/llvm/utils/TableGen/X86CompressEVEXTablesEmitter.cpp b/contrib/llvm-project/llvm/utils/TableGen/X86CompressEVEXTablesEmitter.cpp index fef8dc7236f5..ee0a96ee5b53 100644 --- a/contrib/llvm-project/llvm/utils/TableGen/X86CompressEVEXTablesEmitter.cpp +++ b/contrib/llvm-project/llvm/utils/TableGen/X86CompressEVEXTablesEmitter.cpp @@ -46,7 +46,7 @@ class X86CompressEVEXTablesEmitter { typedef std::pair Entry; - typedef std::map> + typedef std::map> PredicateInstMap; std::vector Table; @@ -89,7 +89,7 @@ void X86CompressEVEXTablesEmitter::printCheckPredicate( for (const auto &[Key, Val] : PredicateInsts) { for (const auto &Inst : Val) OS << " case X86::" << Inst->TheDef->getName() << ":\n"; - OS << " return " << Key->getValueAsString("CondString") << ";\n"; + OS << " return " << Key << ";\n"; } OS << " }\n"; @@ -226,7 +226,7 @@ void X86CompressEVEXTablesEmitter::run(raw_ostream &OS) { Name == "HasAVXIFMA"; }); if(It!= Predicates.end()) - PredicateInsts[*It].push_back(NewInst); + PredicateInsts[(*It)->getValueAsString("CondString")].push_back(NewInst); } printTable(Table, OS);