9#ifndef CIRCT_DIALECT_SV_SVATTRIBUTES_H 
   10#define CIRCT_DIALECT_SV_SVATTRIBUTES_H 
   12#include "mlir/IR/Attributes.h" 
   13#include "mlir/IR/BuiltinAttributes.h" 
   14#include "llvm/ADT/ArrayRef.h" 
   15#include "llvm/ADT/STLExtras.h" 
   16#include "llvm/ADT/SmallVector.h" 
   18#include "circt/Dialect/SV/SVEnums.h.inc" 
   19#define GET_ATTRDEF_CLASSES 
   20#include "circt/Dialect/SV/SVAttributes.h.inc" 
   40                     mlir::ArrayRef<SVAttributeAttr> attrs);
 
   52    llvm::function_ref<
void(llvm::SmallVectorImpl<SVAttributeAttr> &)>
 
   59                         llvm::ArrayRef<SVAttributeAttr> attrs);
 
   65                   llvm::function_ref<
bool(SVAttributeAttr)> removeCallback);
 
   70                            llvm::ArrayRef<SVAttributeAttr> attrs);
 
 
mlir::ArrayAttr getSVAttributes(mlir::Operation *op)
Return all the SV attributes of an operation, or null if there are none.
unsigned removeSVAttributes(mlir::Operation *op, llvm::function_ref< bool(SVAttributeAttr)> removeCallback)
Remove the SV attributes from an operation for which removeCallback returns true.
bool modifySVAttributes(mlir::Operation *op, llvm::function_ref< void(llvm::SmallVectorImpl< SVAttributeAttr > &)> modifyCallback)
Modify the list of SV attributes of an operation.
bool hasSVAttributes(mlir::Operation *op)
Helper functions to handle SV attributes.
unsigned addSVAttributes(mlir::Operation *op, llvm::ArrayRef< SVAttributeAttr > attrs)
Add a list of SV attributes to an operation.
bool hasSVAttribute(mlir::Operation *op, SVAttributeAttr attr)
Check if an op contains a specific SV attribute.
void setSVAttributes(mlir::Operation *op, mlir::ArrayAttr attrs)
Set the SV attributes of an operation.
The InstanceGraph op interface, see InstanceGraphInterface.td for more details.