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.
Iterator for the Use edges of a User's operands.
Represents a Def-use/Use-def edge in SandboxIR.
LLVM_ABI void set(Value *V)
LLVM_ABI unsigned getOperandNo() const
void dumpOS(raw_ostream &OS) const
bool operator==(const Use &Other) const
bool operator!=(const Use &Other) const
Context * getContext() const
class User * getUser() const
LLVM_ABI Value * get() const
Iterator for the Use edges of a Value's users.
A sandboxir::User has operands.
A SandboxIR Value has users. This is the base class.
@ User
could "use" a pointer