LLVM: lib/Transforms/Utils/CtorUtils.cpp File Reference (original) (raw)
Go to the source code of this file.
| Macros | |
|---|---|
| #define | DEBUG_TYPE "ctor_utils" |
| Functions | |
|---|---|
| static void | removeGlobalCtors (GlobalVariable *GCL, const BitVector &CtorsToRemove) |
| Given a specified llvm.global_ctors list, remove the listed elements. | |
| static std::vector< std::pair< uint32_t, Function * > > | parseGlobalCtors (GlobalVariable *GV) |
| Given a llvm.global_ctors list that we can understand, return a list of the functions and null terminator as a vector. | |
| static GlobalVariable * | findGlobalCtors (Module &M) |
| Find the llvm.global_ctors list. |
◆ DEBUG_TYPE
#define DEBUG_TYPE "ctor_utils"
◆ findGlobalCtors()
◆ parseGlobalCtors()
◆ removeGlobalCtors()
Given a specified llvm.global_ctors list, remove the listed elements.
Definition at line 28 of file CtorUtils.cpp.
References llvm::cast(), E(), llvm::GlobalVariable::eraseFromParent(), llvm::ArrayType::get(), llvm::ConstantArray::get(), llvm::GlobalValue::getAddressSpace(), llvm::ArrayType::getElementType(), llvm::GlobalVariable::getInitializer(), llvm::ilist_node_impl< OptionsT >::getIterator(), llvm::GlobalValue::getLinkage(), llvm::User::getNumOperands(), llvm::User::getOperand(), llvm::GlobalValue::getParent(), llvm::GlobalValue::getThreadLocalMode(), llvm::ConstantArray::getType(), llvm::Value::getType(), I, llvm::Module::insertGlobalVariable(), llvm::GlobalVariable::isConstant(), llvm::SmallVectorTemplateBase< T, bool >::push_back(), llvm::Value::replaceAllUsesWith(), llvm::GlobalVariable::setInitializer(), llvm::SmallVectorTemplateCommon< T, typename >::size(), llvm::Value::takeName(), llvm::BitVector::test(), and llvm::Value::use_empty().
Referenced by llvm::optimizeGlobalCtorsList().