19 template<
typename ConcreteOp>
27 static inline bool canEraseAsDeadStoreTo(
const Concept *
impl, ::mlir::Operation *tablegen_opaque_val, ::mlir::Value ptr, const ::mlir::DataLayout & dataLayout);
29 template<
typename ConcreteOp>
39 template<
typename ConcreteModel,
typename ConcreteOp>
45template <
typename ConcreteOp>
51 using ::mlir::OpInterface<DiscardableAllocationAccessorOpInterface, detail::DiscardableAllocationAccessorOpInterfaceInterfaceTraits>::OpInterface;
52 template <
typename ConcreteOp>
62 template <
typename ConcreteOp>
68template<
typename ConcreteOp>
70 return (llvm::cast<ConcreteOp>(tablegen_opaque_val)).loadsFromDiscardableAllocation(ptr);
72template<
typename ConcreteOp>
74 return (llvm::cast<ConcreteOp>(tablegen_opaque_val)).storesToDiscardableAllocation(ptr);
76template<
typename ConcreteOp>
78 return (llvm::cast<ConcreteOp>(tablegen_opaque_val)).canEraseAsDeadStoreTo(ptr, dataLayout);
80template<
typename ConcreteOp>
84template<
typename ConcreteOp>
88template<
typename ConcreteOp>
bool canEraseAsDeadStoreTo(::mlir::Value ptr, const ::mlir::DataLayout &dataLayout)
Returns true if this op can be erased as a dead store to ptr.
bool loadsFromDiscardableAllocation(::mlir::Value ptr)
Returns true if this op reads from the allocation represented by ptr.
bool storesToDiscardableAllocation(::mlir::Value ptr)
Returns true if this op writes to the allocation represented by ptr.
ConcreteOp ConcreteEntity
static bool canEraseAsDeadStoreTo(const Concept *impl, ::mlir::Operation *tablegen_opaque_val, ::mlir::Value ptr, const ::mlir::DataLayout &dataLayout)
::llzk::DiscardableAllocationAccessorOpInterface Interface
static bool storesToDiscardableAllocation(const Concept *impl, ::mlir::Operation *tablegen_opaque_val, ::mlir::Value ptr)
static bool loadsFromDiscardableAllocation(const Concept *impl, ::mlir::Operation *tablegen_opaque_val, ::mlir::Value ptr)
::llzk::DiscardableAllocationAccessorOpInterface Interface
static bool loadsFromDiscardableAllocation(const Concept *impl, ::mlir::Operation *tablegen_opaque_val, ::mlir::Value ptr)
static bool storesToDiscardableAllocation(const Concept *impl, ::mlir::Operation *tablegen_opaque_val, ::mlir::Value ptr)
static bool canEraseAsDeadStoreTo(const Concept *impl, ::mlir::Operation *tablegen_opaque_val, ::mlir::Value ptr, const ::mlir::DataLayout &dataLayout)
bool(* storesToDiscardableAllocation)(const Concept *impl, ::mlir::Operation *, ::mlir::Value)
bool(* loadsFromDiscardableAllocation)(const Concept *impl, ::mlir::Operation *, ::mlir::Value)
The methods defined by the interface.
bool(* canEraseAsDeadStoreTo)(const Concept *impl, ::mlir::Operation *, ::mlir::Value, const ::mlir::DataLayout &)