13#ifndef LLVM_SANDBOXIR_USE_H
14#define LLVM_SANDBOXIR_USE_H
39 : LLVMUse(LLVMUse), Usr(Usr), Ctx(&Ctx) {}
40 Use() : LLVMUse(
nullptr), Ctx(
nullptr) {}
56 void swap(
Use &OtherUse);
60 return LLVMUse ==
Other.LLVMUse && Usr ==
Other.Usr;
This defines the Use class.
assert(ImpDefSCC.getReg()==AMDGPU::SCC &&ImpDefSCC.isDef())
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.
void dumpOS(raw_ostream &OS) const
unsigned getOperandNo() const
bool operator==(const Use &Other) const
bool operator!=(const Use &Other) const
Context * getContext() const
class User * getUser() 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