From 134e2e75b35a06e360813704bbb3ae655c5388aa Mon Sep 17 00:00:00 2001 From: Craig Topper Date: Wed, 29 Apr 2015 07:13:05 +0000 Subject: [PATCH] [TableGen] Replace some dyn_casts followed by an assert with just a regular cast which asserts internally. NFC git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@236087 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/TableGen/Record.cpp | 33 ++++++++++----------------------- lib/TableGen/TGParser.cpp | 3 +-- 2 files changed, 11 insertions(+), 25 deletions(-) diff --git a/lib/TableGen/Record.cpp b/lib/TableGen/Record.cpp index 560e7c991d9..b58a00462a3 100644 --- a/lib/TableGen/Record.cpp +++ b/lib/TableGen/Record.cpp @@ -618,9 +618,7 @@ ListInit *ListInit::get(ArrayRef Range, RecTy *EltTy) { } void ListInit::Profile(FoldingSetNodeID &ID) const { - ListRecTy *ListType = dyn_cast(getType()); - assert(ListType && "Bad type for ListInit!"); - RecTy *EltTy = ListType->getElementType(); + RecTy *EltTy = cast(getType())->getElementType(); ProfileListInit(ID, Values, EltTy); } @@ -697,14 +695,10 @@ Init *OpInit::resolveListElementReference(Record &R, const RecordVal *IRV, } if (Resolved != this) { - TypedInit *Typed = dyn_cast(Resolved); - assert(Typed && "Expected typed init for list reference"); - if (Typed) { - Init *New = Typed->resolveListElementReference(R, IRV, Elt); - if (New) - return New; - return VarListElementInit::get(Typed, Elt); - } + TypedInit *Typed = cast(Resolved); + if (Init *New = Typed->resolveListElementReference(R, IRV, Elt)) + return New; + return VarListElementInit::get(Typed, Elt); } return nullptr; @@ -1301,8 +1295,7 @@ VarInit *VarInit::get(Init *VN, RecTy *T) { } const std::string &VarInit::getName() const { - StringInit *NameString = dyn_cast(getNameInit()); - assert(NameString && "VarInit name is not a string!"); + StringInit *NameString = cast(getNameInit()); return NameString->getValue(); } @@ -1322,8 +1315,7 @@ Init *VarInit::resolveListElementReference(Record &R, assert(RV && "Reference to a non-existent variable?"); ListInit *LI = dyn_cast(RV->getValue()); if (!LI) { - TypedInit *VI = dyn_cast(RV->getValue()); - assert(VI && "Invalid list element!"); + TypedInit *VI = cast(RV->getValue()); return VarListElementInit::get(VI, Elt); } @@ -1618,9 +1610,7 @@ RecordVal::RecordVal(const std::string &N, RecTy *T, unsigned P) } const std::string &RecordVal::getName() const { - StringInit *NameString = dyn_cast(Name); - assert(NameString && "RecordVal name is not a string!"); - return NameString->getValue(); + return cast(Name)->getValue(); } void RecordVal::dump() const { errs() << *this; } @@ -1648,8 +1638,7 @@ void Record::init() { void Record::checkName() { // Ensure the record name has string type. - const TypedInit *TypedName = dyn_cast(Name); - assert(TypedName && "Record name is not typed!"); + const TypedInit *TypedName = cast(Name); RecTy *Type = TypedName->getType(); if (!isa(Type)) PrintFatalError(getLoc(), "Record name is not a string!"); @@ -1666,9 +1655,7 @@ DefInit *Record::getDefInit() { } const std::string &Record::getName() const { - const StringInit *NameString = dyn_cast(Name); - assert(NameString && "Record name is not a string!"); - return NameString->getValue(); + return cast(Name)->getValue(); } void Record::setName(Init *NewName) { diff --git a/lib/TableGen/TGParser.cpp b/lib/TableGen/TGParser.cpp index 37301729348..9bd6cc6c53f 100644 --- a/lib/TableGen/TGParser.cpp +++ b/lib/TableGen/TGParser.cpp @@ -112,8 +112,7 @@ bool TGParser::SetValue(Record *CurRec, SMLoc Loc, Init *ValName, } // We should have a BitsInit type now. - BitsInit *BInit = dyn_cast(BI); - assert(BInit != nullptr); + BitsInit *BInit = cast(BI); SmallVector NewBits(CurVal->getNumBits()); -- 2.34.1