LLVM API Documentation
#include "llvm/Transforms/IPO.h"
#include "llvm/ADT/SCCIterator.h"
#include "llvm/ADT/SetVector.h"
#include "llvm/ADT/SmallSet.h"
#include "llvm/ADT/Statistic.h"
#include "llvm/Analysis/AliasAnalysis.h"
#include "llvm/Analysis/CallGraph.h"
#include "llvm/Analysis/CallGraphSCCPass.h"
#include "llvm/Analysis/CaptureTracking.h"
#include "llvm/IR/GlobalVariable.h"
#include "llvm/IR/InstIterator.h"
#include "llvm/IR/IntrinsicInst.h"
#include "llvm/IR/LLVMContext.h"
#include "llvm/Target/TargetLibraryInfo.h"
Go to the source code of this file.
Classes | |
struct | llvm::GraphTraits< ArgumentGraphNode * > |
struct | llvm::GraphTraits< ArgumentGraph * > |
Namespaces | |
namespace | llvm |
List of target independent CodeGen pass IDs. | |
Defines | |
#define | DEBUG_TYPE "functionattrs" |
Functions | |
STATISTIC (NumReadNone,"Number of functions marked readnone") | |
STATISTIC (NumReadOnly,"Number of functions marked readonly") | |
STATISTIC (NumNoCapture,"Number of arguments marked nocapture") | |
STATISTIC (NumReadNoneArg,"Number of arguments marked readnone") | |
STATISTIC (NumReadOnlyArg,"Number of arguments marked readonly") | |
STATISTIC (NumNoAlias,"Number of function returns marked noalias") | |
STATISTIC (NumAnnotated,"Number of attributes added to library functions") | |
INITIALIZE_PASS_BEGIN (FunctionAttrs,"functionattrs","Deduce function attributes", false, false) INITIALIZE_PASS_END(FunctionAttrs | |
static Attribute::AttrKind | determinePointerReadAttrs (Argument *A, const SmallPtrSet< Argument *, 8 > &SCCNodes) |
Variables | |
functionattrs | |
Deduce function | attributes |
Deduce function | false |
#define DEBUG_TYPE "functionattrs" |
Definition at line 37 of file FunctionAttrs.cpp.
static Attribute::AttrKind determinePointerReadAttrs | ( | Argument * | A, |
const SmallPtrSet< Argument *, 8 > & | SCCNodes | ||
) | [static] |
Definition at line 414 of file FunctionAttrs.cpp.
References llvm::ARM_PROC::A, llvm::AddrSpaceCast, llvm::CallSiteBase< FunTy, ValTy, UserTy, InstrTy, CallTy, InvokeTy, IterTy >::arg_begin(), llvm::Function::arg_begin(), llvm::CallSiteBase< FunTy, ValTy, UserTy, InstrTy, CallTy, InvokeTy, IterTy >::arg_end(), llvm::Function::arg_end(), llvm::Call, llvm::SmallPtrSetImpl< PtrType >::count(), llvm::CallSiteBase< FunTy, ValTy, UserTy, InstrTy, CallTy, InvokeTy, IterTy >::doesNotAccessMemory(), llvm::CallSiteBase< FunTy, ValTy, UserTy, InstrTy, CallTy, InvokeTy, IterTy >::doesNotCapture(), llvm::SmallVectorBase::empty(), llvm::CallSiteBase< FunTy, ValTy, UserTy, InstrTy, CallTy, InvokeTy, IterTy >::getCalledFunction(), llvm::Instruction::getOpcode(), llvm::Value::getType(), llvm::Argument::hasInAllocaAttr(), llvm::SmallSet< T, N, C >::insert(), llvm::Function::isVarArg(), llvm::Type::isVoidTy(), llvm::SPII::Load, llvm::Attribute::None, llvm::CallSiteBase< FunTy, ValTy, UserTy, InstrTy, CallTy, InvokeTy, IterTy >::onlyReadsMemory(), llvm::TargetOpcode::PHI, llvm::SmallVectorImpl< T >::pop_back_val(), llvm::SmallVectorTemplateBase< T, isPodLike< T >::value >::push_back(), llvm::Attribute::ReadNone, llvm::Attribute::ReadOnly, llvm::MipsISD::Ret, llvm::MCID::Select, and llvm::Value::uses().
INITIALIZE_PASS_BEGIN | ( | FunctionAttrs | , |
"functionattrs" | , | ||
"Deduce function attributes" | , | ||
false | , | ||
false | |||
) |
STATISTIC | ( | NumNoCapture | , |
"Number of arguments marked nocapture" | |||
) |
STATISTIC | ( | NumReadNoneArg | , |
"Number of arguments marked readnone" | |||
) |
STATISTIC | ( | NumReadOnlyArg | , |
"Number of arguments marked readonly" | |||
) |
STATISTIC | ( | NumAnnotated | , |
"Number of attributes added to library functions" | |||
) |
Deduce function attributes |
Definition at line 143 of file FunctionAttrs.cpp.
Referenced by llvm::LTOModule::getSymbolAttributes().
Definition at line 143 of file FunctionAttrs.cpp.
Definition at line 143 of file FunctionAttrs.cpp.