LLVM API Documentation

Attributes.h File Reference

#include "llvm/Support/MathExtras.h"
#include <cassert>
#include <string>

Include dependency graph for Attributes.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  llvm
namespace  llvm::Attribute

Classes

struct  llvm::AttributeWithIndex
class  llvm::AttrListPtr

Typedefs

typedef unsigned llvm::Attributes
 Attributes - A bitset of attributes.

Functions

Attributes llvm::Attribute::typeIncompatible (const Type *Ty)
 Which attributes cannot be applied to a type.
Attributes llvm::Attribute::constructAlignmentFromInt (unsigned i)
unsigned llvm::Attribute::getAlignmentFromAttrs (Attributes A)
 This returns the alignment field of an attribute as a byte alignment value.
std::string llvm::Attribute::getAsString (Attributes Attrs)
 Convert attribute bits to text.

Variables

const Attributes llvm::Attribute::None = 0
 Function attributes.
const Attributes llvm::Attribute::ZExt = 1<<0
 Zero extended before/after call.
const Attributes llvm::Attribute::SExt = 1<<1
 Sign extended before/after call.
const Attributes llvm::Attribute::NoReturn = 1<<2
 Mark the function as not returning.
const Attributes llvm::Attribute::InReg = 1<<3
 Force argument to be passed in register.
const Attributes llvm::Attribute::StructRet = 1<<4
 Hidden pointer to structure to return.
const Attributes llvm::Attribute::NoUnwind = 1<<5
 Function doesn't unwind stack.
const Attributes llvm::Attribute::NoAlias = 1<<6
 Considered to not alias after call.
const Attributes llvm::Attribute::ByVal = 1<<7
 Pass structure by value.
const Attributes llvm::Attribute::Nest = 1<<8
 Nested function static chain.
const Attributes llvm::Attribute::ReadNone = 1<<9
 Function does not access memory.
const Attributes llvm::Attribute::ReadOnly = 1<<10
 Function only reads from memory.
const Attributes llvm::Attribute::NoInline = 1<<11
 inline=never
const Attributes llvm::Attribute::AlwaysInline = 1<<12
 inline=always
const Attributes llvm::Attribute::OptimizeForSize = 1<<13
 opt_size
const Attributes llvm::Attribute::StackProtect = 1<<14
 Stack protection.
const Attributes llvm::Attribute::StackProtectReq = 1<<15
 Stack protection required.
const Attributes llvm::Attribute::Alignment = 31<<16
 Alignment of parameter (5 bits).
const Attributes llvm::Attribute::NoCapture = 1<<21
 Function creates no aliases of pointer.
const Attributes llvm::Attribute::ParameterOnly = ByVal | Nest | StructRet | NoCapture
 Attributes that only apply to function parameters.
const Attributes llvm::Attribute::FunctionOnly
 Attributes that only apply to function.
const Attributes llvm::Attribute::VarArgsIncompatible = StructRet
 Parameter attributes that do not apply to vararg call arguments.
const Attributes llvm::Attribute::MutuallyIncompatible [4]
 Attributes that are mutually incompatible.