LLVM 22.0.0git
|
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. |
This file contains the simple types necessary to represent the attributes associated with functions and their calls.
Definition in file Attributes.h.
#define GET_ATTR_ENUM |
Definition at line 91 of file Attributes.h.