HomeFreeBSD

Revert "Fix llvm register allocator for native/cross build differences"

Description

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

(cherry picked from commit 52552d7572a6d3d7d3ce0d6862de9a9d203c5d01)

Details

Provenance
dimAuthored on Jul 28 2024, 11:08 AM
Parents
rGbed96ef09d2f: socket tests: Serialize sonewconn_overflow
Branches
Unknown
Tags
Unknown
Reverts
rG397c2693fa66: Fix llvm register allocator for native/cross build differences