9#ifndef LLVM_CODEGEN_GLOBALMERGE_H
10#define LLVM_CODEGEN_GLOBALMERGE_H
49 : TM(TM), Options(Options) {}
This header defines various interfaces for pass management in LLVM.
ModuleAnalysisManager MAM
PreservedAnalyses run(Module &M, ModuleAnalysisManager &MAM)
GlobalMergePass(const TargetMachine *TM, GlobalMergeOptions Options)
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.
Primary interface to the complete machine description for the target machine.
This is an optimization pass for GlobalISel generic memory operations.
AnalysisManager< Module > ModuleAnalysisManager
Convenience typedef for the Module analysis manager.
bool MergeConstAggressive
Whether we should merge constant global variables aggressively without looking at use.
bool SizeOnly
Whether we should try to optimize for size only.
bool MergeExternal
Whether we should merge global variables that have external linkage.
bool MergeConstantGlobals
Whether we should merge constant global variables.
A CRTP mix-in to automatically provide informational APIs needed for passes.