LLVM 22.0.0git
EphemeralValuesCache.cpp
Go to the documentation of this file.
1//===- EphemeralValuesCache.cpp - Cache collecting ephemeral values -------===//
2//
3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4// See https://llvm.org/LICENSE.txt for license information.
5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6//
7//===----------------------------------------------------------------------===//
8
12
13namespace llvm {
14
15void EphemeralValuesCache::collectEphemeralValues() {
16 CodeMetrics::collectEphemeralValues(&F, &AC, EphValues);
17 Collected = true;
18}
19
20AnalysisKey EphemeralValuesAnalysis::Key;
21
22EphemeralValuesCache
24 auto &AC = FAM.getResult<AssumptionAnalysis>(F);
25 return EphemeralValuesCache(F, AC);
26}
27
28} // namespace llvm
#define F(x, y, z)
Definition: MD5.cpp:55
FunctionAnalysisManager FAM
A container for analyses that lazily runs them and caches their results.
Definition: PassManager.h:255
A function analysis which provides an AssumptionCache.
LLVM_ABI Result run(Function &F, FunctionAnalysisManager &FAM)
A cache of ephemeral values within a function.
This is an optimization pass for GlobalISel generic memory operations.
Definition: AddressRanges.h:18
static LLVM_ABI void collectEphemeralValues(const Loop *L, AssumptionCache *AC, SmallPtrSetImpl< const Value * > &EphValues)
Collect a loop's ephemeral values (those used only by an assume or similar intrinsics in the loop).
Definition: CodeMetrics.cpp:71