17#ifndef LLVM_TRANSFORMS_IPO_GLOBALDCE_H
18#define LLVM_TRANSFORMS_IPO_GLOBALDCE_H
24#include <unordered_map>
47 std::unordered_map<Constant *, SmallPtrSet<GlobalValue *, 8>>
48 ConstantDependenciesCache;
51 std::unordered_multimap<Comdat *, GlobalValue *> ComdatMembers;
66 void AddVirtualFunctionDependencies(
Module &M);
67 void ScanVTables(
Module &M);
68 void ScanTypeCheckedLoadIntrinsics(
Module &M);
This file defines the DenseMap class.
Machine Check Debug Module
This header defines various interfaces for pass management in LLVM.
This file defines the SmallSet class.
A container for analyses that lazily runs them and caches their results.
Pass to remove unused function declarations.
PreservedAnalyses run(Module &M, ModuleAnalysisManager &)
A Module instance is used to store all the information related to an LLVM module.
A set of analyses that are preserved following a run of a transformation pass.
A templated base class for SmallPtrSet which provides the typesafe interface that is common across al...
SmallPtrSet - This class implements a set which is optimized for holding SmallSize or less elements.
This class consists of common code factored out of the SmallVector class to reduce code duplication b...
LLVM Value Representation.
This is an optimization pass for GlobalISel generic memory operations.
A CRTP mix-in to automatically provide informational APIs needed for passes.