LLVM  8.0.1
Classes | Namespaces | Macros | Functions
Instructions.h File Reference
#include "llvm/ADT/ArrayRef.h"
#include "llvm/ADT/None.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/ADT/Twine.h"
#include "llvm/ADT/iterator.h"
#include "llvm/ADT/iterator_range.h"
#include "llvm/IR/Attributes.h"
#include "llvm/IR/BasicBlock.h"
#include "llvm/IR/CallingConv.h"
#include "llvm/IR/Constant.h"
#include "llvm/IR/DerivedTypes.h"
#include "llvm/IR/Function.h"
#include "llvm/IR/InstrTypes.h"
#include "llvm/IR/Instruction.h"
#include "llvm/IR/OperandTraits.h"
#include "llvm/IR/Type.h"
#include "llvm/IR/Use.h"
#include "llvm/IR/User.h"
#include "llvm/IR/Value.h"
#include "llvm/Support/AtomicOrdering.h"
#include "llvm/Support/Casting.h"
#include "llvm/Support/ErrorHandling.h"
#include <cassert>
#include <cstddef>
#include <cstdint>
#include <iterator>
#include "llvm/IR/Instruction.def"
Include dependency graph for Instructions.h:

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::UnaryOperator
 a unary instruction More...
 
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::CaseIteratorImpl< CaseHandleT >
 
class  llvm::SwitchInst::CaseHandleImpl< SwitchInstT, ConstantIntT, BasicBlockT >
 A handle to a particular switch case. More...
 
class  llvm::SwitchInst::CaseHandle
 
class  llvm::SwitchInst::CaseIteratorImpl< CaseHandleT >
 
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::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...
 

Namespaces

 llvm
 This class represents lattice values for constants.
 

Macros

#define HANDLE_UNARY_INST(N, OPC, CLASS)
 These methods just forward to Create, and are useful when you statically know what type of instruction you're going to create. More...
 
#define HANDLE_UNARY_INST(N, OPC, CLASS)
 These methods just forward to Create, and are useful when you statically know what type of instruction you're going to create. More...
 
#define HANDLE_UNARY_INST(N, OPC, CLASS)
 These methods just forward to Create, and are useful when you statically know what type of instruction you're going to create. More...
 

Functions

Typellvm::checkGEPType (Type *Ty)
 
Value * llvm::getLoadStorePointerOperand (Value *V)
 A helper function that returns the pointer operand of a load or store instruction. More...
 
Value * llvm::getPointerOperand (Value *V)
 A helper function that returns the pointer operand of a load, store or GEP instruction. More...
 
unsigned llvm::getLoadStoreAlignment (Value *I)
 A helper function that returns the alignment of load or store instruction. More...
 
unsigned llvm::getLoadStoreAddressSpace (Value *I)
 A helper function that returns the address space of the pointer operand of load or store instruction. More...
 

Macro Definition Documentation

◆ HANDLE_UNARY_INST [1/3]

#define HANDLE_UNARY_INST (   N,
  OPC,
  CLASS 
)
Value:
static UnaryInstruction *Create##OPC(Value *V, \
const Twine &Name = "") {\
return Create(Instruction::OPC, V, Name);\
}
amdgpu Simplify well known AMD library false Value Value const Twine & Name

These methods just forward to Create, and are useful when you statically know what type of instruction you're going to create.

These helpers just save some typing.

Definition at line 1170 of file Instructions.h.

◆ HANDLE_UNARY_INST [2/3]

#define HANDLE_UNARY_INST (   N,
  OPC,
  CLASS 
)
Value:
static UnaryInstruction *Create##OPC(Value *V, \
const Twine &Name, BasicBlock *BB) {\
return Create(Instruction::OPC, V, Name, BB);\
}
Various leaf nodes.
Definition: ISDOpcodes.h:60
amdgpu Simplify well known AMD library false Value Value const Twine & Name

These methods just forward to Create, and are useful when you statically know what type of instruction you're going to create.

These helpers just save some typing.

Definition at line 1170 of file Instructions.h.

◆ HANDLE_UNARY_INST [3/3]

#define HANDLE_UNARY_INST (   N,
  OPC,
  CLASS 
)
Value:
static UnaryInstruction *Create##OPC(Value *V, \
const Twine &Name, Instruction *I) {\
return Create(Instruction::OPC, V, Name, I);\
}
amdgpu Simplify well known AMD library false Value Value const Twine & Name
#define I(x, y, z)
Definition: MD5.cpp:58

These methods just forward to Create, and are useful when you statically know what type of instruction you're going to create.

These helpers just save some typing.

Definition at line 1170 of file Instructions.h.