diff --git a/include/llvm/TableGen/Record.h b/include/llvm/TableGen/Record.h index 764a5f6cf86..bd7fcffb1a0 100644 --- a/include/llvm/TableGen/Record.h +++ b/include/llvm/TableGen/Record.h @@ -1220,8 +1220,8 @@ public: //===----------------------------------------------------------------------===// class RecordVal { - PointerIntPair NameAndPrefix; - RecTy *Ty; + Init *Name; + PointerIntPair TyAndPrefix; Init *Value; public: @@ -1229,19 +1229,19 @@ public: RecordVal(StringRef N, RecTy *T, bool P); StringRef getName() const; - const Init *getNameInit() const { return NameAndPrefix.getPointer(); } + const Init *getNameInit() const { return Name; } std::string getNameInitAsString() const { return getNameInit()->getAsUnquotedString(); } - bool getPrefix() const { return NameAndPrefix.getInt(); } - RecTy *getType() const { return Ty; } + bool getPrefix() const { return TyAndPrefix.getInt(); } + RecTy *getType() const { return TyAndPrefix.getPointer(); } Init *getValue() const { return Value; } bool setValue(Init *V) { if (V) { - Value = V->convertInitializerTo(Ty); + Value = V->convertInitializerTo(getType()); return Value == nullptr; } Value = nullptr; diff --git a/lib/TableGen/Record.cpp b/lib/TableGen/Record.cpp index e705fe8977c..22773c22982 100644 --- a/lib/TableGen/Record.cpp +++ b/lib/TableGen/Record.cpp @@ -1615,14 +1615,14 @@ std::string DagInit::getAsString() const { //===----------------------------------------------------------------------===// RecordVal::RecordVal(Init *N, RecTy *T, bool P) - : NameAndPrefix(N, P), Ty(T) { - Value = UnsetInit::get()->convertInitializerTo(Ty); + : Name(N), TyAndPrefix(T, P) { + Value = UnsetInit::get()->convertInitializerTo(T); assert(Value && "Cannot create unset value for current type!"); } RecordVal::RecordVal(StringRef N, RecTy *T, bool P) - : NameAndPrefix(StringInit::get(N), P), Ty(T) { - Value = UnsetInit::get()->convertInitializerTo(Ty); + : Name(StringInit::get(N)), TyAndPrefix(T, P) { + Value = UnsetInit::get()->convertInitializerTo(T); assert(Value && "Cannot create unset value for current type!"); }