diff options
author | Chris Lattner <sabre@nondot.org> | 2010-11-06 06:45:08 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2010-11-06 06:45:08 +0000 |
commit | 9cdf42858960b9903587c39d5341cf63b3e665db (patch) | |
tree | 19e8386b949743712f990593178cd66298800bba /utils | |
parent | 5abd1ebcb380664ae5010395b217e01f7190046c (diff) | |
download | external_llvm-9cdf42858960b9903587c39d5341cf63b3e665db.zip external_llvm-9cdf42858960b9903587c39d5341cf63b3e665db.tar.gz external_llvm-9cdf42858960b9903587c39d5341cf63b3e665db.tar.bz2 |
simplify
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118326 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'utils')
-rw-r--r-- | utils/TableGen/AsmMatcherEmitter.cpp | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/utils/TableGen/AsmMatcherEmitter.cpp b/utils/TableGen/AsmMatcherEmitter.cpp index 404cc23..093c46f 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<const CodeGenInstruction*>()) + ResultInst = II.DefRec.get<const CodeGenInstruction*>(); + else + ResultInst = II.DefRec.get<const CodeGenInstAlias*>()->ResultInst; + + OS << " { " << Target.getName() << "::" << ResultInst->TheDef->getName() << ", \"" << II.Mnemonic << "\"" << ", " << II.ConversionFnKind << ", { "; for (unsigned i = 0, e = II.AsmOperands.size(); i != e; ++i) { |