aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
diff options
context:
space:
mode:
authorvporpo <vporpodas@google.com>2025-03-19 18:18:45 -0700
committerGitHub <noreply@github.com>2025-03-19 18:18:45 -0700
commit08dda4dcbf6427e357830d9c7f7ac3b422fc75f6 (patch)
treed10ce1e0254058a371ee471890415df6acf9f051 /llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
parentfd7be0d2e9e2cb7d43c9cb97edbb36da59a5b595 (diff)
downloadllvm-08dda4dcbf6427e357830d9c7f7ac3b422fc75f6.zip
llvm-08dda4dcbf6427e357830d9c7f7ac3b422fc75f6.tar.gz
llvm-08dda4dcbf6427e357830d9c7f7ac3b422fc75f6.tar.bz2
[Analysis][EphemeralValuesCache][InlineCost] Ephemeral values caching for the CallAnalyzer (#130210)
This patch does two things: 1. It implements an ephemeral values cache analysis pass that collects the ephemeral values of a function and caches them for fast lookups. The collection of the ephemeral values is done lazily when the user calls `EphemeralValuesCache::ephValues()`. 2. It adds caching of ephemeral values using the `EphemeralValuesCache` to speed up `CallAnalyzer::analyze()`. Without caching this can take a long time to run in cases where the function contains a large number of `@llvm.assume()` calls and a large number of callsites. The time is spent in `collectEphemeralvalues()`.
Diffstat (limited to 'llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp')
0 files changed, 0 insertions, 0 deletions