aboutsummaryrefslogtreecommitdiff
path: root/lldb/source/Plugins/ScriptInterpreter/Python
diff options
context:
space:
mode:
authorFlorian Hahn <flo@fhahn.com>2024-02-16 16:10:10 +0000
committerGitHub <noreply@github.com>2024-02-16 16:10:10 +0000
commit2f083b364f43fb12b2fdf23935e1f0b6958d0882 (patch)
treefebca8dd061dbac434820eaa19ef90fa2ab2df4f /lldb/source/Plugins/ScriptInterpreter/Python
parent0b1c25c995cdc3e60fcbb8e0b8ff01adf9061fa6 (diff)
downloadllvm-2f083b364f43fb12b2fdf23935e1f0b6958d0882.zip
llvm-2f083b364f43fb12b2fdf23935e1f0b6958d0882.tar.gz
llvm-2f083b364f43fb12b2fdf23935e1f0b6958d0882.tar.bz2
[AArch64] Fix resource length computation for STP. (#81749)
On some uArchs, `STP [s|d], [s|d]` first combines the 2 input registers in a single register using a vector execution unit. IIUC AArch64StorePairSuppress tries to prevent forming STPs in case the critical resource are the vector units, in order to prevent adding more pressure on those units. The implementation however simply computes the new critical resource length by adding resource for another STP. If load/store units are the critical resource, this means we increase that length by one, and incorrectly prevent forming the STP. This patch adjusts the resource computation by also removing 2 STRs, as introducing a STP will remove 2 single stores. This should more accurately reflect the resource usage after introducing an STP, and does not prevent forming STPs if load/store units are the critical resources; in those cases, STP can actually help to reduce resource usage. PR: https://github.com/llvm/llvm-project/pull/81749
Diffstat (limited to 'lldb/source/Plugins/ScriptInterpreter/Python')
0 files changed, 0 insertions, 0 deletions