From 9cdf42858960b9903587c39d5341cf63b3e665db Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Sat, 6 Nov 2010 06:45:08 +0000 Subject: [PATCH] simplify git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118326 91177308-0d34-0410-b5e6-96231b3b80d8 --- utils/TableGen/AsmMatcherEmitter.cpp | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/utils/TableGen/AsmMatcherEmitter.cpp b/utils/TableGen/AsmMatcherEmitter.cpp index 404cc23c356..093c46fabd1 100644 --- a/utils/TableGen/AsmMatcherEmitter.cpp +++ b/utils/TableGen/AsmMatcherEmitter.cpp @@ -306,9 +306,6 @@ struct MatchableInfo { } }; - /// ResultInst - The result instruction generated. - const CodeGenInstruction *ResultInst; - /// TheDef - This is the definition of the instruction or InstAlias that this /// matchable came from. Record *const TheDef; @@ -349,13 +346,11 @@ struct MatchableInfo { MatchableInfo(const CodeGenInstruction &CGI) : TheDef(CGI.TheDef), DefRec(&CGI), TheOperandList(CGI.Operands), AsmString(CGI.AsmString) { - ResultInst = &CGI; } MatchableInfo(const CodeGenInstAlias *Alias) : TheDef(Alias->TheDef), DefRec(Alias), TheOperandList(Alias->Operands), AsmString(Alias->AsmString) { - ResultInst = Alias->ResultInst; } void Initialize(const AsmMatcherInfo &Info, @@ -1821,7 +1816,14 @@ void AsmMatcherEmitter::run(raw_ostream &OS) { it != ie; ++it) { MatchableInfo &II = **it; - OS << " { " << Target.getName() << "::" << II.ResultInst->TheDef->getName() + + const CodeGenInstruction *ResultInst; + if (II.DefRec.is()) + ResultInst = II.DefRec.get(); + else + ResultInst = II.DefRec.get()->ResultInst; + + OS << " { " << Target.getName() << "::" << ResultInst->TheDef->getName() << ", \"" << II.Mnemonic << "\"" << ", " << II.ConversionFnKind << ", { "; for (unsigned i = 0, e = II.AsmOperands.size(); i != e; ++i) {