LLVM  16.0.0git
Classes | Namespaces | Macros | Enumerations | Functions
Attributes.h File Reference
#include "llvm-c/Types.h"
#include "llvm/ADT/ArrayRef.h"
#include "llvm/ADT/BitmaskEnum.h"
#include "llvm/ADT/Optional.h"
#include "llvm/ADT/SmallString.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/Config/llvm-config.h"
#include "llvm/Support/Alignment.h"
#include "llvm/Support/CodeGen.h"
#include "llvm/Support/PointerLikeTypeTraits.h"
#include <bitset>
#include <cassert>
#include <cstdint>
#include <set>
#include <string>
#include <utility>
#include "llvm/IR/Attributes.inc"
Include dependency graph for Attributes.h:

Go to the source code of this file.

Classes

class  llvm::Attribute
 
class  llvm::AttributeSet
 
struct  llvm::DenseMapInfo< AttributeSet, void >
 
class  llvm::AttributeList
 
struct  llvm::AttributeList::index_iterator
 
struct  llvm::AttributeList::index_iterator::int_wrapper
 
struct  llvm::DenseMapInfo< AttributeList, void >
 
class  llvm::AttributeMask
 
class  llvm::AttrBuilder
 

Namespaces

 llvm
 This is an optimization pass for GlobalISel generic memory operations.
 
 llvm::AttributeFuncs
 

Macros

#define GET_ATTR_ENUM
 

Enumerations

enum  llvm::AllocFnKind : uint64_t {
  llvm::AllocFnKind::Unknown = 0, llvm::AllocFnKind::Alloc = 1 << 0, llvm::AllocFnKind::Realloc = 1 << 1, llvm::AllocFnKind::Free = 1 << 2,
  llvm::AllocFnKind::Uninitialized = 1 << 3, llvm::AllocFnKind::Zeroed = 1 << 4, llvm::AllocFnKind::Aligned = 1 << 5
}
 
enum  llvm::AttributeFuncs::AttributeSafetyKind : uint8_t { llvm::AttributeFuncs::ASK_SAFE_TO_DROP = 1, llvm::AttributeFuncs::ASK_UNSAFE_TO_DROP = 2, llvm::AttributeFuncs::ASK_ALL = ASK_SAFE_TO_DROP | ASK_UNSAFE_TO_DROP }
 

Functions

LLVMAttributeRef llvm::wrap (Attribute Attr)
 
Attribute llvm::unwrap (LLVMAttributeRef Attr)
 
AttributeMask llvm::AttributeFuncs::typeIncompatible (Type *Ty, AttributeSafetyKind ASK=ASK_ALL)
 Which attributes cannot be applied to a type. More...
 
AttributeMask llvm::AttributeFuncs::getUBImplyingAttributes ()
 Get param/return attributes which imply immediate undefined behavior if an invalid value is passed. More...
 
bool llvm::AttributeFuncs::areInlineCompatible (const Function &Caller, const Function &Callee)
 
bool llvm::AttributeFuncs::areOutlineCompatible (const Function &A, const Function &B)
 Checks if there are any incompatible function attributes between A and B. More...
 
void llvm::AttributeFuncs::mergeAttributesForInlining (Function &Caller, const Function &Callee)
 Merge caller's and callee's attributes. More...
 
void llvm::AttributeFuncs::mergeAttributesForOutlining (Function &Base, const Function &ToMerge)
 Merges the functions attributes from ToMerge into function Base. More...
 
void llvm::AttributeFuncs::updateMinLegalVectorWidthAttr (Function &Fn, uint64_t Width)
 Update min-legal-vector-width if it is in Attribute and less than Width. More...
 

Detailed Description

This file contains the simple types necessary to represent the attributes associated with functions and their calls.

Definition in file Attributes.h.

Macro Definition Documentation

◆ GET_ATTR_ENUM

#define GET_ATTR_ENUM

Definition at line 87 of file Attributes.h.