LLVM 22.0.0git
Attributes.h File Reference

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

#include "llvm-c/Types.h"
#include "llvm/ADT/ArrayRef.h"
#include "llvm/ADT/BitmaskEnum.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/Compiler.h"
#include "llvm/Support/ModRef.h"
#include "llvm/Support/PointerLikeTypeTraits.h"
#include <cassert>
#include <cstdint>
#include <optional>
#include <string>
#include <utility>
#include "llvm/IR/Attributes.inc"

Go to the source code of this file.

Classes

class  llvm::Attribute
 Functions, function parameters, and return types can have attributes to indicate how they should be treated by optimizations and code generation. More...
class  llvm::AttributeSet
 This class holds the attributes for a particular argument, parameter, function, or return value. More...
struct  llvm::DenseMapInfo< AttributeSet, void >
 Provide DenseMapInfo for AttributeSet. More...

Namespaces

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

Macros

#define GET_ATTR_ENUM

Enumerations

enum class  llvm::AllocFnKind : uint64_t {
  llvm::Unknown = 0 , llvm::Alloc = 1 << 0 , llvm::Realloc = 1 << 1 , llvm::Free = 1 << 2 ,
  llvm::Uninitialized = 1 << 3 , llvm::Zeroed = 1 << 4 , llvm::Aligned = 1 << 5
}

Functions

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

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 91 of file Attributes.h.