From nobody Sat Aug 10 21:05:14 2024 X-Original-To: dev-commits-src-main@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 4WhCwV2jShz5T6wv; Sat, 10 Aug 2024 21:05:14 +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 4WhCwV27brz42Yg; Sat, 10 Aug 2024 21:05:14 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1723323914; 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=fK0nk2o0HrMZZcTksG5JNahRZbgVZFFTAjEbgyixu7k=; b=Ow3KK782wdsIcWnuAQ/QhRJEUih4CxFWAhqhC7mUiZ+CTvZ9tPRjBEVYxkBv8hh7zX9SaR un6Kc2Kyh9GjOW1tYbCcMs6T0O7qVE84sdqjP0bSYfzfihAsZpRRGONHoDTrtsbk/RKIT2 soUQa7k0Mca/FovNt88FZBHeLUrX4DpCnWefDLgNd+ELY7o1+R7daiP3lLXzy1QBMDZnxH nBGczuLADmXcF1piJA7zmcO7a2giJz+2FBtL0iCMeFOeZ7iBpaSy3nP0hxcoRG/ofHX58S dLrxWwwMqTIuB5u3uboQB+NLBiDniSjPiDufbqzvon3Z6Tu/AtnCxyl4Vont0A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1723323914; a=rsa-sha256; cv=none; b=Aix06hfZCEG0Y0TMY1cobNrQfYrkZ0WGpeTuN7S8CzqmWH3Oy9zwJ9P3m1U0eWy4wLZrKS /8f5+bdvctqYWVQb0ia0ZLNifJL9IRQIijmmmOSYYzyV6E1YIk7ttRsxEB1rJhARoLJPN6 BukfjS7bltnHWYxPXGVLSDi7Uks+T2RDbeLGSX0GczjZFlv6QsU2/HxpPbkQycD/8TV0fv fdtyRplI4ToUH+SX2E+s98wZAiMeD5kjuq8baEIWw2p164+FsYX1omhxdBf5SbC8XBL8sz xZtGdoheD4xNM0uJcftz2QHwZJwyXOGI/MPy4s5bDZjkGs/GN/3PwjiEiPYveg== 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=1723323914; 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=fK0nk2o0HrMZZcTksG5JNahRZbgVZFFTAjEbgyixu7k=; b=NwsKyjpBgYCl+LCKNDG/2AYPrZIwrECbUTcDa/ZKYRuE/3ohSQ3dtal+C586rJ4DJDl0mp /X1mOdzK2Q4tNh2xZLjulQ6Y/WyI3M4rN1QUOwb7N/M6eOhf40sbVEUvDMkhF+jDS9sU5G 1WpgGmzqTIxEHxDxNsoXVwzG8tSM92WjZ65PTw8t8bp30uLQ57mYXcCCsejNZwAizEWO4h Wx0NVkXbEFsNUgaowUoxicVhXLHUhKg8uI4DdELLfM4rHAgZr0XDIWN5YUFzy4JnbEc3tM AFj671O+g5dj59pgeZ7wq7KEUqcwzHzbQJ79BVT/7gp4AqJFuTJ9GleCKfebag== 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 4WhCwV1VYTzGB2; Sat, 10 Aug 2024 21:05:14 +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 47AL5Ejo095807; Sat, 10 Aug 2024 21:05:14 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 47AL5ENc095804; Sat, 10 Aug 2024 21:05:14 GMT (envelope-from git) Date: Sat, 10 Aug 2024 21:05:14 GMT Message-Id: <202408102105.47AL5ENc095804@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dimitry Andric Subject: git: 7a8d05ba19b7 - main - Merge commit d2353ae00c3b from llvm git (by Argyrios Kyrtzidis): List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@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/main X-Git-Reftype: branch X-Git-Commit: 7a8d05ba19b7762596c0ff22e668e4d50bac81cf Auto-Submitted: auto-generated The branch main has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=7a8d05ba19b7762596c0ff22e668e4d50bac81cf commit 7a8d05ba19b7762596c0ff22e668e4d50bac81cf Author: Dimitry Andric AuthorDate: 2024-08-10 21:03:27 +0000 Commit: Dimitry Andric CommitDate: 2024-08-10 21:03:27 +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 --- .../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);