LLVM 24.0.0git
llvm::Instruction Class Reference

#include "llvm/IR/Instruction.h"

Inheritance diagram for llvm::Instruction:
[legend]

Classes

struct  const_succ_iterator
 The const version of succ_iterator. More...
struct  succ_iterator
 Iterator type that casts an operand to a basic block. More...

Public Types

enum  OperationEquivalenceFlags { CompareIgnoringAlignment = 1 << 0 , CompareUsingScalarTypes = 1 << 1 , CompareUsingIntersectedAttrs = 1 << 2 , CompareCallTargets = 1 << 3 }
 When checking for operation equivalence (using isSameOperationAs) it is sometimes useful to ignore certain attributes. More...
enum  TermOps
enum  UnaryOps
enum  BinaryOps
enum  MemoryOps
enum  CastOps
enum  FuncletPadOps
enum  OtherOps
using InstListType
using user_iterator = user_iterator_impl<Instruction>
 Specialize the methods defined in Value, as we know that an instruction can only be used by other instructions.
using const_user_iterator = user_iterator_impl<const Instruction>
Public Types inherited from llvm::User
using op_iterator = Use*
using const_op_iterator = const Use*
using op_range = iterator_range<op_iterator>
using const_op_range = iterator_range<const_op_iterator>
Public Types inherited from llvm::Value
enum  ValueTy
 Concrete subclass of this. More...
using use_iterator = use_iterator_impl<Use>
using const_use_iterator = use_iterator_impl<const Use>
using user_iterator = user_iterator_impl<User>
using const_user_iterator = user_iterator_impl<const User>

Public Member Functions

DbgMarker * getDbgMarker () const
LLVM_ABI iterator_range< simple_ilist< DbgRecord >::iterator > cloneDebugInfoFrom (const Instruction *From, std::optional< simple_ilist< DbgRecord >::iterator > FromHere=std::nullopt, bool InsertAtHead=false)
 Clone any debug-info attached to From onto this instruction.
iterator_range< simple_ilist< DbgRecord >::iterator > getDbgRecordRange () const
 Return a range over the DbgRecords attached to this instruction.
LLVM_ABI std::optional< simple_ilist< DbgRecord >::iterator > getDbgReinsertionPosition ()
 Return an iterator to the position of the "Next" DbgRecord after this instruction, or std::nullopt.
LLVM_ABI bool hasDbgRecords () const
 Returns true if any DbgRecords are attached to this instruction.
LLVM_ABI void adoptDbgRecords (BasicBlock *BB, InstListType::iterator It, bool InsertAtHead)
 Transfer any DbgRecords on the position