LLVM 22.0.0git
Public Types | Public Member Functions | Static Public Member Functions | Friends | List of all members
llvm::sandboxir::BasicBlock Class Reference

Contains a list of sandboxir::Instruction's. More...

#include "llvm/SandboxIR/BasicBlock.h"

Inheritance diagram for llvm::sandboxir::BasicBlock:
[legend]

Public Types

using iterator = BBIterator
 
- Public Types inherited from llvm::sandboxir::Value
enum class  ClassID : unsigned { DEF_VALUE , DEF_USER , DEF_CONST , DEF_INSTR }
 
using use_iterator = UserUseIterator
 
using const_use_iterator = UserUseIterator
 
using user_iterator = mapped_iterator< sandboxir::UserUseIterator, UseToUser >
 
using const_user_iterator = user_iterator
 

Public Member Functions

 ~BasicBlock ()=default
 
LLVM_ABI FunctiongetParent () const
 
LLVM_ABI iterator begin () const
 
iterator end () const
 
std::reverse_iterator< iteratorrbegin () const
 
std::reverse_iterator< iteratorrend () const
 
ContextgetContext () const
 
LLVM_ABI InstructiongetTerminator () const
 
bool empty () const
 
LLVM_ABI Instructionfront () const
 
LLVM_ABI Instructionback () const
 
void verify () const final
 Should crash if there is something wrong with the instruction.
 
void dumpOS (raw_ostream &OS) const final
 
- Public Member Functions inherited from llvm::sandboxir::Value
virtual ~Value ()=default
 
ClassID getSubclassID () const
 
LLVM_ABI use_iterator use_begin ()
 
const_use_iterator use_begin () const
 
use_iterator use_end ()
 
const_use_iterator use_end () const
 
iterator_range< use_iteratoruses ()
 
iterator_range< const_use_iteratoruses () const
 
LLVM_ABI user_iterator user_begin ()
 
user_iterator user_end ()
 
const_user_iterator user_begin () const
 
const_user_iterator user_end () const
 
iterator_range< user_iteratorusers ()
 
iterator_range< const_user_iteratorusers () const
 
LLVM_ABI unsigned getNumUses () const
 \Returns the number of user edges (not necessarily to unique users).
 
bool hasNUsesOrMore (unsigned Num) const
 Return true if this value has N uses or more.
 
bool hasNUses (unsigned Num) const
 Return true if this Value has exactly N uses.
 
LLVM_ABI TypegetType () const
 
ContextgetContext () const
 
LLVM_ABI void replaceUsesWithIf (Value *OtherV, llvm::function_ref< bool(const Use &)> ShouldReplace)
 
LLVM_ABI void replaceAllUsesWith (Value *Other)
 
StringRef getName () const
 \Returns the LLVM IR name of the bottom-most LLVM value.
 
virtual void verify () const =0
 Should crash if there is something wrong with the instruction.
 
std::string getUid () const
 Returns the unique id in the form 'SB<number>.' like 'SB1.'.
 
virtual void dumpCommonHeader (raw_ostream &OS) const
 
void dumpCommonFooter (raw_ostream &OS) const
 
void dumpCommonPrefix (raw_ostream &OS) const
 
void dumpCommonSuffix (raw_ostream &OS) const
 
void printAsOperandCommon (raw_ostream &OS) const
 
virtual void dumpOS (raw_ostream &OS) const =0
 
LLVM_DUMP_METHOD void dump () const
 

Static Public Member Functions

static bool classof (const Value *From)
 For isa/dyn_cast.
 

Friends

class Context
 
class Instruction
 

Additional Inherited Members

- Protected Member Functions inherited from llvm::sandboxir::Value
void clearValue ()
 
LLVM_ABI Value (ClassID SubclassID, llvm::Value *Val, Context &Ctx)
 
 Value (const Value &)=delete
 Disable copies.
 
Valueoperator= (const Value &)=delete
 
- Static Protected Member Functions inherited from llvm::sandboxir::Value
static const chargetSubclassIDStr (ClassID ID)
 
- Protected Attributes inherited from llvm::sandboxir::Value
ClassID SubclassID
 For isa/dyn_cast.
 
unsigned UID
 A unique ID used for forming the name (used for debugging).
 
llvm::ValueVal = nullptr
 The LLVM Value that corresponds to this SandboxIR Value.
 
ContextCtx
 All values point to the context.
 

Detailed Description

Contains a list of sandboxir::Instruction's.

Definition at line 68 of file BasicBlock.h.

Member Typedef Documentation

◆ iterator

Definition at line 87 of file BasicBlock.h.

Constructor & Destructor Documentation

◆ ~BasicBlock()

llvm::sandboxir::BasicBlock::~BasicBlock ( )
default

Member Function Documentation

◆ back()

Instruction & llvm::sandboxir::BasicBlock::back ( ) const

Definition at line 106 of file BasicBlock.cpp.

References assert(), getContext(), and llvm::sandboxir::Value::Val.

◆ begin()

BasicBlock::iterator llvm::sandboxir::BasicBlock::begin ( ) const

◆ classof()

static bool llvm::sandboxir::BasicBlock::classof ( const Value From)
inlinestatic

For isa/dyn_cast.

Definition at line 83 of file BasicBlock.h.

References From.

◆ dumpOS()

void llvm::sandboxir::BasicBlock::dumpOS ( raw_ostream OS) const
finalvirtual

◆ empty()

bool llvm::sandboxir::BasicBlock::empty ( ) const
inline

Definition at line 101 of file BasicBlock.h.

References begin(), and end().

Referenced by llvm::sandboxir::getInsertPointAfterInstrs().

◆ end()

iterator llvm::sandboxir::BasicBlock::end ( ) const
inline

◆ front()

Instruction & llvm::sandboxir::BasicBlock::front ( ) const

Definition at line 98 of file BasicBlock.cpp.

References assert(), getContext(), and llvm::sandboxir::Value::Val.

◆ getContext()

Context & llvm::sandboxir::BasicBlock::getContext ( ) const
inline

◆ getParent()

Function * llvm::sandboxir::BasicBlock::getParent ( ) const

Definition at line 53 of file BasicBlock.cpp.

Referenced by llvm::sandboxir::Instruction::getParent().

◆ getTerminator()

Instruction * llvm::sandboxir::BasicBlock::getTerminator ( ) const

◆ rbegin()

std::reverse_iterator< iterator > llvm::sandboxir::BasicBlock::rbegin ( ) const
inline

Definition at line 93 of file BasicBlock.h.

References end().

◆ rend()

std::reverse_iterator< iterator > llvm::sandboxir::BasicBlock::rend ( ) const
inline

Definition at line 96 of file BasicBlock.h.

References begin().

◆ verify()

void llvm::sandboxir::BasicBlock::verify ( ) const
finalvirtual

Should crash if there is something wrong with the instruction.

Implements llvm::sandboxir::Value.

Definition at line 150 of file BasicBlock.cpp.

References assert(), I, and llvm::sandboxir::Value::Val.

Friends And Related Function Documentation

◆ Context

friend class Context
friend

Definition at line 72 of file BasicBlock.h.

◆ Instruction

friend class Instruction
friend

Definition at line 73 of file BasicBlock.h.


The documentation for this class was generated from the following files: