LLVM 20.0.0git
Classes | Namespaces | Functions | Variables
Instructions.h File Reference
#include "llvm/ADT/ArrayRef.h"
#include "llvm/ADT/Bitfields.h"
#include "llvm/ADT/MapVector.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/ADT/Twine.h"
#include "llvm/ADT/iterator.h"
#include "llvm/ADT/iterator_range.h"
#include "llvm/IR/CFG.h"
#include "llvm/IR/Constant.h"
#include "llvm/IR/DerivedTypes.h"
#include "llvm/IR/GEPNoWrapFlags.h"
#include "llvm/IR/InstrTypes.h"
#include "llvm/IR/Instruction.h"
#include "llvm/IR/Intrinsics.h"
#include "llvm/IR/OperandTraits.h"
#include "llvm/IR/Use.h"
#include "llvm/IR/User.h"
#include "llvm/Support/AtomicOrdering.h"
#include "llvm/Support/ErrorHandling.h"
#include <cassert>
#include <cstddef>
#include <cstdint>
#include <iterator>
#include <optional>

Go to the source code of this file.

Classes

class  llvm::AllocaInst
 an instruction to allocate memory on the stack More...
 
class  llvm::LoadInst
 An instruction for reading from memory. More...
 
class  llvm::StoreInst
 An instruction for storing to memory. More...
 
struct  llvm::OperandTraits< StoreInst >
 
class  llvm::FenceInst
 An instruction for ordering other memory operations. More...
 
class  llvm::AtomicCmpXchgInst
 An instruction that atomically checks whether a specified value is in a memory location, and, if it is, stores a new value there. More...
 
struct  llvm::OperandTraits< AtomicCmpXchgInst >
 
class  llvm::AtomicRMWInst
 an instruction that atomically reads a memory location, combines it with another value, and then stores the result back. More...
 
struct  llvm::OperandTraits< AtomicRMWInst >
 
class  llvm::GetElementPtrInst
 an instruction for type-safe pointer arithmetic to access elements of arrays and structs More...
 
struct  llvm::OperandTraits< GetElementPtrInst >
 
class  llvm::ICmpInst
 This instruction compares its operands according to the predicate given to the constructor. More...
 
class  llvm::FCmpInst
 This instruction compares its operands according to the predicate given to the constructor. More...
 
class  llvm::CallInst
 This class represents a function call, abstracting a target machine's calling convention. More...
 
class  llvm::SelectInst
 This class represents the LLVM 'select' instruction. More...
 
struct  llvm::OperandTraits< SelectInst >
 
class  llvm::VAArgInst
 This class represents the va_arg llvm instruction, which returns an argument of the specified type given a va_list and increments that list. More...
 
class  llvm::ExtractElementInst
 This instruction extracts a single (scalar) element from a VectorType value. More...
 
struct  llvm::OperandTraits< ExtractElementInst >
 
class  llvm::InsertElementInst
 This instruction inserts a single (scalar) element into a VectorType value. More...
 
struct  llvm::OperandTraits< InsertElementInst >
 
class  llvm::ShuffleVectorInst
 This instruction constructs a fixed permutation of two input vectors. More...
 
struct  llvm::OperandTraits< ShuffleVectorInst >
 
class  llvm::ExtractValueInst
 This instruction extracts a struct member or array element value from an aggregate value. More...
 
class  llvm::InsertValueInst
 This instruction inserts a struct field of array element value into an aggregate value. More...
 
struct  llvm::OperandTraits< InsertValueInst >
 
class  llvm::PHINode
 
struct  llvm::OperandTraits< PHINode >
 
class  llvm::LandingPadInst
 The landingpad instruction holds all of the information necessary to generate correct exception handling. More...
 
struct  llvm::OperandTraits< LandingPadInst >
 
class  llvm::ReturnInst
 Return a value (possibly void), from a function. More...
 
struct  llvm::OperandTraits< ReturnInst >
 
class  llvm::BranchInst
 Conditional or Unconditional Branch instruction. More...
 
struct  llvm::BranchInst::succ_op_iterator
 Iterator type that casts an operand to a basic block. More...
 
struct  llvm::BranchInst::const_succ_op_iterator
 The const version of succ_op_iterator. More...
 
struct  llvm::OperandTraits< BranchInst >
 
class  llvm::SwitchInst
 Multiway switch. More...
 
class  llvm::SwitchInst::CaseHandleImpl< SwitchInstT, ConstantIntT, BasicBlockT >
 A handle to a particular switch case. More...
 
class  llvm::SwitchInst::CaseHandle
 
class  llvm::SwitchInst::CaseIteratorImpl< CaseHandleT >
 
class  llvm::SwitchInstProfUpdateWrapper
 A wrapper class to simplify modification of SwitchInst cases along with their prof branch_weights metadata. More...
 
struct  llvm::OperandTraits< SwitchInst >
 
class  llvm::IndirectBrInst
 Indirect Branch Instruction. More...
 
struct  llvm::IndirectBrInst::succ_op_iterator
 Iterator type that casts an operand to a basic block. More...
 
struct  llvm::IndirectBrInst::const_succ_op_iterator
 The const version of succ_op_iterator. More...
 
struct  llvm::OperandTraits< IndirectBrInst >
 
class  llvm::InvokeInst
 Invoke instruction. More...
 
class  llvm::CallBrInst
 CallBr instruction, tracking function calls that may not return control but instead transfer it to a third location. More...
 
class  llvm::ResumeInst
 Resume the propagation of an exception. More...
 
struct  llvm::OperandTraits< ResumeInst >
 
class  llvm::CatchSwitchInst
 
struct  llvm::OperandTraits< CatchSwitchInst >
 
class  llvm::CleanupPadInst
 
class  llvm::CatchPadInst
 
class  llvm::CatchReturnInst
 
struct  llvm::OperandTraits< CatchReturnInst >
 
class  llvm::CleanupReturnInst
 
struct  llvm::OperandTraits< CleanupReturnInst >
 
class  llvm::UnreachableInst
 This function has undefined behavior. More...
 
class  llvm::TruncInst
 This class represents a truncation of integer types. More...
 
class  llvm::ZExtInst
 This class represents zero extension of integer types. More...
 
class  llvm::SExtInst
 This class represents a sign extension of integer types. More...
 
class  llvm::FPTruncInst
 This class represents a truncation of floating point types. More...
 
class  llvm::FPExtInst
 This class represents an extension of floating point types. More...
 
class  llvm::UIToFPInst
 This class represents a cast unsigned integer to floating point. More...
 
class  llvm::SIToFPInst
 This class represents a cast from signed integer to floating point. More...
 
class  llvm::FPToUIInst
 This class represents a cast from floating point to unsigned integer. More...
 
class  llvm::FPToSIInst
 This class represents a cast from floating point to signed integer. More...
 
class  llvm::IntToPtrInst
 This class represents a cast from an integer to a pointer. More...
 
class  llvm::PtrToIntInst
 This class represents a cast from a pointer to an integer. More...
 
class  llvm::BitCastInst
 This class represents a no-op cast from one type to another. More...
 
class  llvm::AddrSpaceCastInst
 This class represents a conversion between pointers from one address space to another. More...
 
class  llvm::FreezeInst
 This class represents a freeze function that returns random concrete value if an operand is either a poison value or an undef value. More...
 

Namespaces

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

Functions

Typellvm::checkGEPType (Type *Ty)
 
const Value * llvm::getLoadStorePointerOperand (const Value *V)
 A helper function that returns the pointer operand of a load or store instruction.
 
Value * llvm::getLoadStorePointerOperand (Value *V)
 
const Value * llvm::getPointerOperand (const Value *V)
 A helper function that returns the pointer operand of a load, store or GEP instruction.
 
Value * llvm::getPointerOperand (Value *V)
 
Align llvm::getLoadStoreAlignment (const Value *I)
 A helper function that returns the alignment of load or store instruction.
 
unsigned llvm::getLoadStoreAddressSpace (const Value *I)
 A helper function that returns the address space of the pointer operand of load or store instruction.
 
Typellvm::getLoadStoreType (const Value *I)
 A helper function that returns the type of a load or store instruction.
 
std::optional< SyncScope::ID > llvm::getAtomicSyncScopeID (const Instruction *I)
 A helper function that returns an atomic operation's sync scope; returns std::nullopt if it is not an atomic operation.
 
void llvm::setAtomicSyncScopeID (Instruction *I, SyncScope::ID SSID)
 A helper function that sets an atomic operation's sync scope.
 

Variables

constexpr int llvm::PoisonMaskElem = -1