[all-commits] [llvm/llvm-project] 08dda4: [Analysis][EphemeralValuesCache][InlineCost] Ephem...
vporpo via All-commits
all-commits at lists.llvm.org
Wed Mar 19 18:19:07 PDT 2025
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 08dda4dcbf6427e357830d9c7f7ac3b422fc75f6
https://github.com/llvm/llvm-project/commit/08dda4dcbf6427e357830d9c7f7ac3b422fc75f6
Author: vporpo <vporpodas at google.com>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
A llvm/include/llvm/Analysis/EphemeralValuesCache.h
M llvm/include/llvm/Analysis/InlineCost.h
M llvm/lib/Analysis/CMakeLists.txt
A llvm/lib/Analysis/EphemeralValuesCache.cpp
M llvm/lib/Analysis/InlineAdvisor.cpp
M llvm/lib/Analysis/InlineCost.cpp
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Passes/PassRegistry.def
M llvm/lib/Transforms/IPO/Inliner.cpp
M llvm/test/Transforms/Inline/cgscc-incremental-invalidate.ll
M llvm/unittests/Analysis/CMakeLists.txt
A llvm/unittests/Analysis/EphemeralValuesCacheTest.cpp
Log Message:
-----------
[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()`.
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list