LLVM: lib/Transforms/IPO/StripSymbols.cpp File Reference (original) (raw)

Go to the source code of this file.

Functions
static bool OnlyUsedBy (Value *V, Value *Usr)
OnlyUsedBy - Return true if V is only used by Usr.
static void RemoveDeadConstant (Constant *C)
static void StripSymtab (ValueSymbolTable &ST, bool PreserveDbgInfo)
static void StripTypeNames (Module &M, bool PreserveDbgInfo)
static void findUsedValues (GlobalVariable *LLVMUsed, SmallPtrSetImpl< const GlobalValue * > &UsedValues)
Find values that are marked as llvm.used.
static bool StripSymbolNames (Module &M, bool PreserveDbgInfo)
StripSymbolNames - Strip symbol names.
static bool stripDebugDeclareImpl (Module &M)
static bool stripDeadDebugInfoImpl (Module &M)
Variables
static cl::opt< bool > StripGlobalConstants ("strip-global-constants", cl::init(false), cl::Hidden, cl::desc("Removes debug compile units which reference " "to non-existing global constants"))

findUsedValues()

OnlyUsedBy()

RemoveDeadConstant()

void RemoveDeadConstant ( Constant * C) static

stripDeadDebugInfoImpl()

Definition at line 184 of file StripSymbols.cpp.

References llvm::NamedMDNode::addOperand(), llvm::CallingConv::C, llvm::cast_or_null(), Changed, llvm::SmallVectorImpl< T >::clear(), llvm::NamedMDNode::clearOperands(), llvm::DebugInfoFinder::compile_units(), llvm::SmallVectorTemplateCommon< T, typename >::empty(), F, llvm::MDTuple::get(), I, llvm::detail::DenseSetImpl< ValueT, MapTy, ValueInfoT >::insert(), instructions, llvm::DebugInfoFinder::processInstruction(), llvm::DebugInfoFinder::processSubprogram(), llvm::SmallVectorTemplateBase< T, bool >::push_back(), and StripGlobalConstants.

Referenced by llvm::StripDeadDebugInfoPass::run().

stripDebugDeclareImpl()

Definition at line 146 of file StripSymbols.cpp.

References assert(), llvm::CallingConv::C, llvm::cast(), llvm::dyn_cast(), llvm::Function::eraseFromParent(), llvm::Instruction::eraseFromParent(), llvm::CallBase::getArgOperand(), llvm::Intrinsic::getDeclarationIfExists(), llvm::RecursivelyDeleteTriviallyDeadInstructions(), RemoveDeadConstant(), llvm::Value::use_empty(), and llvm::Value::user_back().

Referenced by llvm::StripDebugDeclarePass::run().

StripSymbolNames()

StripSymtab()

StripTypeNames()

void StripTypeNames ( Module & M, bool PreserveDbgInfo ) static

StripGlobalConstants

cl::opt< bool > StripGlobalConstants("strip-global-constants", cl::init(false), cl::Hidden, cl::desc("Removes debug compile units which reference " "to non-existing global constants")) ( "strip-global-constants" , cl::init(false) , cl::Hidden , cl::desc("Removes debug compile units which reference " "to non-existing global constants") ) static