diff options
| author | Dimitry Andric <dimitry@andric.com> | 2024-07-23 19:02:36 +0200 |
|---|---|---|
| committer | Dimitry Andric <dimitry@andric.com> | 2024-07-26 20:47:33 +0200 |
| commit | c80c09f3e380a0a2b00b36bebf72f43271a564c1 (patch) | |
| tree | 702de69f8ba35f87d5d1563170305ea13d5a237b /lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp | |
| parent | 361d4cf5331d76d5ea5ddef48ea35e2515e870b6 (diff) | |
[CalcSpillWeights] Avoid x87 excess precision influencing weight result
Fixes #99396
The result of `VirtRegAuxInfo::weightCalcHelper` can be influenced by
x87 excess precision, which can result in slightly different register
choices when the compiler is hosted on x86_64 or i386. This leads to
different object file output when cross-compiling to i386, or native.
Similar to 7af3432e22b0, we need to add a `volatile` qualifier to the
local `Weight` variable to force it onto the stack, and avoid the excess
precision. Define `stack_float_t` in `MathExtras.h` for this purpose,
and use it.
Diffstat (limited to 'lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp')
0 files changed, 0 insertions, 0 deletions
