43 for (
auto I = IP,
E = BB.
end();
I !=
E; ++
I) {
44 bool KeepInEntry =
false;
45 if (
auto *AI = dyn_cast<AllocaInst>(
I)) {
46 if (AI->isStaticAlloca())
48 }
else if (
auto *II = dyn_cast<IntrinsicInst>(
I)) {
61 const char *NamePrefix) {
75 const std::string &ModuleId) {
94 Comdat *
C = M->getOrInsertComdat(Name);
static Constant * getString(LLVMContext &Context, StringRef Initializer, bool AddNull=true)
This method constructs a CDS and initializes it with a text string.
bool hasLocalLinkage() const
This class represents lattice values for constants.
A Module instance is used to store all the information related to an LLVM module. ...
bool isOSBinFormatELF() const
Tests whether the OS uses the ELF binary format.
void initializeDataFlowSanitizerPass(PassRegistry &)
A global registry used in conjunction with static constructors to make pluggable components (like tar...
Like Internal, but omit from symbol table.
struct LLVMOpaquePassRegistry * LLVMPassRegistryRef
void initializeMemorySanitizerLegacyPassPass(PassRegistry &)
void initializeInstrProfilingLegacyPassPass(PassRegistry &)
void initializeHWAddressSanitizerPass(PassRegistry &)
amdgpu Simplify well known AMD library false Value Value const Twine & Name
Attribute unwrap(LLVMAttributeRef Attr)
LLVMContext & getContext() const
Get the global data context.
static BasicBlock::iterator moveBeforeInsertPoint(BasicBlock::iterator I, BasicBlock::iterator IP)
Moves I before IP. Returns new insert point.
Type * getType() const
All values are typed, get the type of this value.
void initializeEfficiencySanitizerPass(PassRegistry &)
void setComdat(Comdat *C)
void initializePGOInstrumentationGenLegacyPassPass(PassRegistry &)
static bool isWeakForLinker(LinkageTypes Linkage)
Whether the definition of this global may be replaced at link time.
const BasicBlock & getEntryBlock() const
No other Module may specify this COMDAT.
LLVM Basic Block Representation.
bool isOSBinFormatCOFF() const
Tests whether the OS uses the COFF binary format.
static GCRegistry::Add< CoreCLRGC > E("coreclr", "CoreCLR-compatible GC")
This is an important base class in LLVM.
void initializeAddressSanitizerModulePass(PassRegistry &)
void initializeThreadSanitizerLegacyPassPass(PassRegistry &)
void initializeInstrumentation(PassRegistry &)
Initialize all passes linked into the Instrumentation library.
void initializePGOInstrumentationUseLegacyPassPass(PassRegistry &)
void initializeControlHeightReductionLegacyPassPass(PassRegistry &)
void initializeAddressSanitizerPass(PassRegistry &)
Triple - Helper class for working with autoconf configuration names.
void setSelectionKind(SelectionKind Val)
Module.h This file contains the declarations for the Module class.
void initializeGCOVProfilerLegacyPassPass(PassRegistry &)
void initializePGOIndirectCallPromotionLegacyPassPass(PassRegistry &)
GlobalVariable * createPrivateGlobalForString(Module &M, StringRef Str, bool AllowMerging, const char *NamePrefix="")
BasicBlock::iterator PrepareToSplitEntryBlock(BasicBlock &BB, BasicBlock::iterator IP)
Instrumentation passes often insert conditional checks into entry blocks.
void LLVMInitializeInstrumentation(LLVMPassRegistryRef R)
LLVMInitializeInstrumentation - C binding for initializeInstrumentation.
Comdat * GetOrCreateFunctionComdat(Function &F, Triple &T, const std::string &ModuleId)
InstListType::iterator iterator
Instruction iterators...
const Comdat * getComdat() const
void setUnnamedAddr(UnnamedAddr Val)
StringRef getName() const
Return a constant reference to the value's name.
const Function * getParent() const
Return the enclosing method, or null if none.
void initializeBoundsCheckingLegacyPassPass(PassRegistry &)
void initializePGOMemOPSizeOptLegacyPassPass(PassRegistry &)
assert(ImpDefSCC.getReg()==AMDGPU::SCC &&ImpDefSCC.isDef())
Module * getParent()
Get the module that this global value is contained inside of...
void initializeSanitizerCoverageModulePass(PassRegistry &)
StringRef - Represent a constant reference to a string, i.e.
PassRegistry - This class manages the registration and intitialization of the pass subsystem as appli...