13#ifndef LLVM_SANDBOXIR_USE_H
14#define LLVM_SANDBOXIR_USE_H
40 : LLVMUse(LLVMUse), Usr(Usr), Ctx(&Ctx) {}
41 Use() : LLVMUse(
nullptr), Ctx(
nullptr) {}
61 return LLVMUse ==
Other.LLVMUse && Usr ==
Other.Usr;
assert(UImm &&(UImm !=~static_cast< T >(0)) &&"Invalid immediate!")
This defines the Use class.
A Use represents the edge between a Value definition and its users.
This class implements an extremely fast bulk output stream that can only output to a stream.
Represents a Def-use/Use-def edge in SandboxIR.
friend class OperandUseIterator
friend class UserUseIterator
LLVM_ABI void set(Value *V)
LLVM_ABI unsigned getOperandNo() const
void dumpOS(raw_ostream &OS) const
LLVM_ABI void swap(Use &OtherUse)
bool operator==(const Use &Other) const
bool operator!=(const Use &Other) const
Context * getContext() const
class User * getUser() const
LLVM_ABI Value * get() const
A sandboxir::User has operands.
A SandboxIR Value has users. This is the base class.