9 #ifndef MLIR_IR_IDENTIFIER_H 10 #define MLIR_IR_IDENTIFIER_H 13 #include "llvm/ADT/DenseMapInfo.h" 14 #include "llvm/ADT/StringRef.h" 34 StringRef
strref()
const {
return StringRef(pointer,
size()); }
37 operator StringRef()
const {
return strref(); }
43 const char *
c_str()
const {
return pointer; }
46 const char *
data()
const {
return pointer; }
49 unsigned size()
const { return ::strlen(pointer); }
52 bool is(StringRef
string)
const {
return strref().equals(
string); }
54 const char *
begin()
const {
return pointer; }
55 const char *
end()
const {
return pointer +
size(); }
57 void print(raw_ostream &os)
const;
61 return static_cast<const void *
>(pointer);
70 explicit Identifier(
const char *pointer) : pointer(pointer) {}
130 enum { NumLowBitsAvailable = 2 };
Definition: InferTypeOpInterface.cpp:20
const char * end() const
Definition: Identifier.h:55
Definition: PassRegistry.cpp:413
bool operator!=(IntInfty lhs, IntInfty rhs)
Definition: SDBM.h:94
Definition: Identifier.h:26
StringRef strref() const
Return a StringRef for the string.
Definition: Identifier.h:34
static mlir::Identifier getFromVoidPointer(void *P)
Definition: Identifier.h:127
std::string str() const
Return an std::string.
Definition: Identifier.h:40
const char * data() const
Return a pointer to the start of the string data.
Definition: Identifier.h:46
static void * getAsVoidPointer(mlir::Identifier I)
Definition: Identifier.h:124
unsigned size() const
Return the number of bytes in this string.
Definition: Identifier.h:49
static mlir::Identifier getTombstoneKey()
Definition: Identifier.h:106
Identifier & operator=(const Identifier &other)=default
bool is(StringRef string) const
Return true if this identifier is the specified string.
Definition: Identifier.h:52
void dump() const
Definition: AsmPrinter.cpp:42
static Identifier getFromOpaquePointer(const void *pointer)
Definition: Identifier.h:63
llvm::hash_code hash_value(Identifier arg)
Definition: Identifier.h:92
bool operator==(IntInfty lhs, IntInfty rhs)
Definition: SDBM.h:90
static unsigned getHashValue(mlir::Identifier Val)
Definition: Identifier.h:110
inline ::llvm::hash_code hash_value(AffineExpr arg)
Make AffineExpr hashable.
Definition: AffineExpr.h:201
static bool isEqual(mlir::Identifier LHS, mlir::Identifier RHS)
Definition: Identifier.h:113
void print(raw_ostream &os) const
Definition: AsmPrinter.cpp:40
Definition: MLIRContext.h:34
Identifier(const Identifier &)=default
raw_ostream & operator<<(raw_ostream &os, SubViewOp::Range &range)
Definition: Ops.cpp:2759
const char * c_str() const
Return a null terminated C string.
Definition: Identifier.h:43
const char * begin() const
Definition: Identifier.h:54
const void * getAsOpaquePointer() const
Definition: Identifier.h:60
static mlir::Identifier getEmptyKey()
Definition: Identifier.h:102