diff options
| author | Lei Zhang <antiagainst@google.com> | 2019-11-12 11:57:40 -0800 |
|---|---|---|
| committer | A. Unique TensorFlower <gardener@tensorflow.org> | 2019-11-12 11:58:10 -0800 |
| commit | aa9dc9446e21b0de1389d460a41867ade7bc4683 (patch) | |
| tree | b6488c636eed1759f872ad6f5456991983717cd8 /mlir/lib/TableGen | |
| parent | 104af84f4c8788da2d2202cac720fd7aa62b01cd (diff) | |
| download | bcm5719-llvm-aa9dc9446e21b0de1389d460a41867ade7bc4683.tar.gz bcm5719-llvm-aa9dc9446e21b0de1389d460a41867ade7bc4683.zip | |
Expose an isSubclassOf() method on AttrConstraint
PiperOrigin-RevId: 280021408
Diffstat (limited to 'mlir/lib/TableGen')
| -rw-r--r-- | mlir/lib/TableGen/Attribute.cpp | 24 |
1 files changed, 13 insertions, 11 deletions
diff --git a/mlir/lib/TableGen/Attribute.cpp b/mlir/lib/TableGen/Attribute.cpp index b9432e5a729..c2b673a7c93 100644 --- a/mlir/lib/TableGen/Attribute.cpp +++ b/mlir/lib/TableGen/Attribute.cpp @@ -44,10 +44,14 @@ static StringRef getValueAsString(const Init *init) { tblgen::AttrConstraint::AttrConstraint(const Record *record) : Constraint(Constraint::CK_Attr, record) { - assert(def->isSubClassOf("AttrConstraint") && + assert(isSubClassOf("AttrConstraint") && "must be subclass of TableGen 'AttrConstraint' class"); } +bool tblgen::AttrConstraint::isSubClassOf(StringRef className) const { + return def->isSubClassOf(className); +} + tblgen::Attribute::Attribute(const Record *record) : AttrConstraint(record) { assert(record->isSubClassOf("Attr") && "must be subclass of TableGen 'Attr' class"); @@ -56,15 +60,15 @@ tblgen::Attribute::Attribute(const Record *record) : AttrConstraint(record) { tblgen::Attribute::Attribute(const DefInit *init) : Attribute(init->getDef()) {} bool tblgen::Attribute::isDerivedAttr() const { - return def->isSubClassOf("DerivedAttr"); + return isSubClassOf("DerivedAttr"); } bool tblgen::Attribute::isTypeAttr() const { - return def->isSubClassOf("TypeAttrBase"); + return isSubClassOf("TypeAttrBase"); } bool tblgen::Attribute::isEnumAttr() const { - return def->isSubClassOf("EnumAttrInfo"); + return isSubClassOf("EnumAttrInfo"); } StringRef tblgen::Attribute::getStorageType() const { @@ -144,12 +148,12 @@ StringRef tblgen::ConstantAttr::getConstantValue() const { tblgen::EnumAttrCase::EnumAttrCase(const llvm::DefInit *init) : Attribute(init) { - assert(def->isSubClassOf("EnumAttrCaseInfo") && + assert(isSubClassOf("EnumAttrCaseInfo") && "must be subclass of TableGen 'EnumAttrInfo' class"); } bool tblgen::EnumAttrCase::isStrCase() const { - return def->isSubClassOf("StrEnumAttrCase"); + return isSubClassOf("StrEnumAttrCase"); } StringRef tblgen::EnumAttrCase::getSymbol() const { @@ -161,7 +165,7 @@ int64_t tblgen::EnumAttrCase::getValue() const { } tblgen::EnumAttr::EnumAttr(const llvm::Record *record) : Attribute(record) { - assert(def->isSubClassOf("EnumAttrInfo") && + assert(isSubClassOf("EnumAttrInfo") && "must be subclass of TableGen 'EnumAttr' class"); } @@ -170,9 +174,7 @@ tblgen::EnumAttr::EnumAttr(const llvm::Record &record) : Attribute(&record) {} tblgen::EnumAttr::EnumAttr(const llvm::DefInit *init) : EnumAttr(init->getDef()) {} -bool tblgen::EnumAttr::isBitEnum() const { - return def->isSubClassOf("BitEnumAttr"); -} +bool tblgen::EnumAttr::isBitEnum() const { return isSubClassOf("BitEnumAttr"); } StringRef tblgen::EnumAttr::getEnumClassName() const { return def->getValueAsString("className"); @@ -241,7 +243,7 @@ tblgen::Attribute tblgen::StructFieldAttr::getType() const { } tblgen::StructAttr::StructAttr(const llvm::Record *record) : Attribute(record) { - assert(def->isSubClassOf("StructAttr") && + assert(isSubClassOf("StructAttr") && "must be subclass of TableGen 'StructAttr' class"); } |

