From nobody Sun Jul 28 11:14:05 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 4WWzQP2F3Hz5S0Zs; Sun, 28 Jul 2024 11:14:05 +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 4WWzQP1TMtz4KDf; Sun, 28 Jul 2024 11:14:05 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1722165245; 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=Pom/28kXTyP20uJqkE74biMNkHvIK/ILlwtVkfVWNLg=; b=sg+qIvbe6UTgp8TOCNjHKPjFaYJNgTY6EAp6pQpy1t1T5weV4f9eeIarI8fc+oWw3XF9H3 vP6IVNslMT9Mgzl4SvZ2xXGe+YwDjgbG28V6WQ/oSec+HCUEfH1LGGXXtQO2yP+6MKQYj1 BBLL7STFamwXNZCGUyjqxNcMRPsEL2j1/A687+GSqUy9W8JlhX/DB9NOHf0oBmqgU6ycsH 6CQXgdi+c5hf2kdnDus+MhNUeVbZKuyHW2gJCNHN+R/hlH80cMKlIiAyoutvMSP3g+GzFA s1ayh+UTProKrJSUOj12xtQr1NcD7VPyPvViuAlISFcz7wuFUNWnI8aFNqsBPA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1722165245; a=rsa-sha256; cv=none; b=kMfge8Dr0KsWhUB8vpCZlRWl+S9bzH1otmcVY/wc2nFEi5E1BCRVjnsWXZeyhyZorIm5Lg q0H1sYf02rn7hSCExwsxaReQzvtRjOx9Ezs+Kr5gf1ms9ZK+srTjJ0bot0Q2jRnzeLfiDo ry7tU4o61ucU90flmMtNlKrCNjuosXW+xXQwS0s+XvcI7sNHTKi+U9j2lNgrSe3HtnvTYj 0o04rW4TakYc/XwARQZMibBxA/c77IB80ghHINOGT1fOJS69pcMiSLXyXbtlzDVtkhLXPT oYVxFSPD/B9RAsemjWRgMhsg0nuopiKyR0epVLbCDnSxiBZYSV+t4dHPO1CNeg== 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=1722165245; 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=Pom/28kXTyP20uJqkE74biMNkHvIK/ILlwtVkfVWNLg=; b=LR3IYVWn1h3sDWDo7BKE5w6cX16IyHPiccr4P0153IomYwMqJraASK5IiS+ROq+wTShC2s AWBSW5vMf3dZXTFBEYMWWJkrw9dDeohHoZFCqzO9tvFGw33nh8CrRqg08ERwMPbOM5rpAq bd8SzV76IkIIA5Ml507uF5nrZFDvGs3dvrPFju2nlGPL6zc0j49RVVunmzJCoJYlQHc7sY h4+0ZwpkmqOkPOEfHHWo2V6EtAz3Frxy3lnVDeio5vphlTkAP0pMXs7HxRw+d79zYFbaZB AX6F2SwplqyWYFgtbje5RHzFpQ6AjDwx2qgNMPnRfmgDkWZlq5616qbYK9gOrQ== 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 4WWzQP15HVznc0; Sun, 28 Jul 2024 11:14:05 +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 46SBE5CL018668; Sun, 28 Jul 2024 11:14:05 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 46SBE5g9018665; Sun, 28 Jul 2024 11:14:05 GMT (envelope-from git) Date: Sun, 28 Jul 2024 11:14:05 GMT Message-Id: <202407281114.46SBE5g9018665@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: 52552d7572a6 - main - Revert "Fix llvm register allocator for native/cross build differences" 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/main X-Git-Reftype: branch X-Git-Commit: 52552d7572a6d3d7d3ce0d6862de9a9d203c5d01 Auto-Submitted: auto-generated The branch main has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=52552d7572a6d3d7d3ce0d6862de9a9d203c5d01 commit 52552d7572a6d3d7d3ce0d6862de9a9d203c5d01 Author: Dimitry Andric AuthorDate: 2024-07-28 11:08:50 +0000 Commit: Dimitry Andric CommitDate: 2024-07-28 11:09:03 +0000 Revert "Fix llvm register allocator for native/cross build differences" In preparation for applying the fix that landed upstream, this reverts commit 397c2693fa66508cb5e6b173650a1f3bc6c4dd4f: Fix llvm register allocator for native/cross build differences Work around an issue in LLVM's register allocator, which can cause slightly different i386 object files, when produced by a native or cross build of clang. This adds another volatile qualifier to a float variable declaration in the weightCalcHelper() function, which otherwise produces slightly different float results on amd64 and i386 hosts. In turn, this can lead to different (but equivalent) register choices, and thus non-identical assembly code. See https://github.com/llvm/llvm-project/issues/99396 for more details. Note this is a temporary fix, meant to merge in time for 13.4. As soon as upstream has a permanent solution we will import that. PR: 276961 Reported by: cperciva MFC after: 3 days --- contrib/llvm-project/llvm/lib/CodeGen/CalcSpillWeights.cpp | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/contrib/llvm-project/llvm/lib/CodeGen/CalcSpillWeights.cpp b/contrib/llvm-project/llvm/lib/CodeGen/CalcSpillWeights.cpp index afde8d001f88..f3cb7fa5af61 100644 --- a/contrib/llvm-project/llvm/lib/CodeGen/CalcSpillWeights.cpp +++ b/contrib/llvm-project/llvm/lib/CodeGen/CalcSpillWeights.cpp @@ -256,12 +256,7 @@ float VirtRegAuxInfo::weightCalcHelper(LiveInterval &LI, SlotIndex *Start, return -1.0f; } - // FreeBSD customization: similar to the HWeight declaration below, add a - // volatile qualifier to avoid slightly different weight results on amd64 - // and i386 hosts, and possibly choosing different registers in the register - // allocator. See for - // more details. - volatile float Weight = 1.0f; + float Weight = 1.0f; if (IsSpillable) { // Get loop info for mi. if (MI->getParent() != MBB) {