LLVM
8.0.1
|
#include "llvm/Transforms/IPO/ForceFunctionAttrs.h"
#include "llvm/ADT/StringSwitch.h"
#include "llvm/IR/Function.h"
#include "llvm/IR/LLVMContext.h"
#include "llvm/IR/Module.h"
#include "llvm/Support/Debug.h"
#include "llvm/Support/raw_ostream.h"
Go to the source code of this file.
Macros | |
#define | DEBUG_TYPE "forceattrs" |
Functions | |
static Attribute::AttrKind | parseAttrKind (StringRef Kind) |
static void | addForcedAttributes (Function &F) |
If F has any forced attributes given on the command line, add them. More... | |
INITIALIZE_PASS (ForceFunctionAttrsLegacyPass, "forceattrs", "Force set function attributes", false, false) Pass *llvm | |
Variables | |
static cl::list< std::string > | ForceAttributes ("force-attribute", cl::Hidden, cl::desc("Add an attribute to a function. This should be a " "pair of 'function-name:attribute-name', for " "example -force-attribute=foo:noinline. This " "option can be specified multiple times.")) |
#define DEBUG_TYPE "forceattrs" |
Definition at line 19 of file ForceFunctionAttrs.cpp.
|
static |
If F has any forced attributes given on the command line, add them.
Definition at line 71 of file ForceFunctionAttrs.cpp.
References llvm::Function::addFnAttr(), llvm::dbgs(), ForceAttributes, llvm::Value::getName(), llvm::Function::hasFnAttribute(), Kind, LLVM_DEBUG, llvm::Attribute::None, parseAttrKind(), and llvm::StringRef::split().
Referenced by llvm::ForceFunctionAttrsPass::run().
INITIALIZE_PASS | ( | ForceFunctionAttrsLegacyPass | , |
"forceattrs" | , | ||
"Force set function attributes" | , | ||
false | , | ||
false | |||
) |
Definition at line 123 of file ForceFunctionAttrs.cpp.
|
static |
Definition at line 28 of file ForceFunctionAttrs.cpp.
References llvm::Attribute::AlwaysInline, llvm::Attribute::ArgMemOnly, llvm::Attribute::Builtin, llvm::StringSwitch< T, R >::Case(), llvm::Attribute::Cold, llvm::Attribute::Convergent, llvm::StringSwitch< T, R >::Default(), llvm::Attribute::InlineHint, llvm::Attribute::JumpTable, Kind, llvm::Attribute::MinSize, llvm::Attribute::Naked, llvm::Attribute::NoBuiltin, llvm::Attribute::NoCfCheck, llvm::Attribute::NoDuplicate, llvm::Attribute::NoImplicitFloat, llvm::Attribute::NoInline, llvm::Attribute::None, llvm::Attribute::NonLazyBind, llvm::Attribute::NoRecurse, llvm::Attribute::NoRedZone, llvm::Attribute::NoReturn, llvm::Attribute::NoUnwind, llvm::Attribute::OptForFuzzing, llvm::Attribute::OptimizeForSize, llvm::Attribute::OptimizeNone, llvm::Attribute::ReadNone, llvm::Attribute::ReadOnly, llvm::Attribute::ReturnsTwice, llvm::Attribute::SafeStack, llvm::Attribute::SanitizeAddress, llvm::Attribute::SanitizeHWAddress, llvm::Attribute::SanitizeMemory, llvm::Attribute::SanitizeThread, llvm::Attribute::ShadowCallStack, llvm::Attribute::SpeculativeLoadHardening, llvm::Attribute::StackProtect, llvm::Attribute::StackProtectReq, llvm::Attribute::StackProtectStrong, llvm::Attribute::StrictFP, and llvm::Attribute::UWTable.
Referenced by addForcedAttributes(), getAttrFromCode(), and readTriple().
|
static |
Referenced by addForcedAttributes(), and llvm::ForceFunctionAttrsPass::run().