44 for (
auto I = IP,
E = BB.
end();
I !=
E; ++
I) {
45 bool KeepInEntry =
false;
46 if (
auto *AI = dyn_cast<AllocaInst>(
I)) {
47 if (AI->isStaticAlloca())
49 }
else if (
auto *II = dyn_cast<IntrinsicInst>(
I)) {
50 if (II->getIntrinsicID() == llvm::Intrinsic::localescape)
62 const char *NamePrefix) {
71 GV->setAlignment(
Align(1));
77 const std::string &ModuleId) {
81 std::string
Name = std::string(
F.getName());
88 if (
T.isOSBinFormatELF() &&
F.hasLocalLinkage()) {
97 if (
T.isOSBinFormatCOFF() && !
F.isWeakForLinker())
static Constant * getString(LLVMContext &Context, StringRef Initializer, bool AddNull=true)
This method constructs a CDS and initializes it with a text string.
This class represents lattice values for constants.
A Module instance is used to store all the information related to an LLVM module.
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 initializeDataFlowSanitizerLegacyPassPass(PassRegistry &)
Attribute unwrap(LLVMAttributeRef Attr)
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 initializeInstrOrderFileLegacyPassPass(PassRegistry &)
void initializePGOInstrumentationGenLegacyPassPass(PassRegistry &)
void initializeHWAddressSanitizerLegacyPassPass(PassRegistry &)
const BasicBlock & getEntryBlock() const
void initializeModuleAddressSanitizerLegacyPassPass(PassRegistry &)
No other Module may specify this COMDAT.
LLVM Basic Block Representation.
static GCRegistry::Add< CoreCLRGC > E("coreclr", "CoreCLR-compatible GC")
This is an important base class in LLVM.
void initializeThreadSanitizerLegacyPassPass(PassRegistry &)
void initializeInstrumentation(PassRegistry &)
Initialize all passes linked into the Instrumentation library.
void initializePGOInstrumentationUseLegacyPassPass(PassRegistry &)
void initializeControlHeightReductionLegacyPassPass(PassRegistry &)
Triple - Helper class for working with autoconf configuration names.
void initializeModuleMemProfilerLegacyPassPass(PassRegistry &)
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...
void initializeModuleSanitizerCoverageLegacyPassPass(PassRegistry &)
void initializeAddressSanitizerLegacyPassPass(PassRegistry &)
void setUnnamedAddr(UnnamedAddr Val)
void initializeMemProfilerLegacyPassPass(PassRegistry &)
const Function * getParent() const
Return the enclosing method, or null if none.
void initializeBoundsCheckingLegacyPassPass(PassRegistry &)
void initializeCGProfileLegacyPassPass(PassRegistry &)
void initializePGOMemOPSizeOptLegacyPassPass(PassRegistry &)
assert(ImpDefSCC.getReg()==AMDGPU::SCC &&ImpDefSCC.isDef())
StringRef - Represent a constant reference to a string, i.e.
PassRegistry - This class manages the registration and intitialization of the pass subsystem as appli...