diff options
author | Devang Patel <dpatel@apple.com> | 2012-01-05 00:51:28 +0000 |
---|---|---|
committer | Devang Patel <dpatel@apple.com> | 2012-01-05 00:51:28 +0000 |
commit | 59f7ee0400f88809fde200e293bd5444a736a526 (patch) | |
tree | bf022e3526a2958348e61beb272e7d0ba93161b9 | |
parent | 44aac553f60553f240767bc0487e19372340623f (diff) | |
download | external_llvm-59f7ee0400f88809fde200e293bd5444a736a526.zip external_llvm-59f7ee0400f88809fde200e293bd5444a736a526.tar.gz external_llvm-59f7ee0400f88809fde200e293bd5444a736a526.tar.bz2 |
Do not hard code asm variant number.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@147583 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | utils/TableGen/AsmMatcherEmitter.cpp | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/utils/TableGen/AsmMatcherEmitter.cpp b/utils/TableGen/AsmMatcherEmitter.cpp index 5ef0db9..d2f2748 100644 --- a/utils/TableGen/AsmMatcherEmitter.cpp +++ b/utils/TableGen/AsmMatcherEmitter.cpp @@ -555,6 +555,9 @@ public: /// The AsmParser "RegisterPrefix" value. std::string RegisterPrefix; + /// The AsmParser variant number. + int AsmVariantNo; + /// The classes which are needed for matching. std::vector<ClassInfo*> Classes; @@ -643,7 +646,8 @@ void MatchableInfo::dump() { void MatchableInfo::Initialize(const AsmMatcherInfo &Info, SmallPtrSet<Record*, 16> &SingletonRegisters) { // TODO: Eventually support asmparser for Variant != 0. - AsmString = CodeGenInstruction::FlattenAsmStringVariants(AsmString, 0); + AsmString = + CodeGenInstruction::FlattenAsmStringVariants(AsmString, Info.AsmVariantNo); TokenizeAsmString(Info); @@ -1105,7 +1109,8 @@ AsmMatcherInfo::AsmMatcherInfo(Record *asmParser, CodeGenTarget &target, RecordKeeper &records) : Records(records), AsmParser(asmParser), Target(target), - RegisterPrefix(AsmParser->getValueAsString("RegisterPrefix")) { + RegisterPrefix(AsmParser->getValueAsString("RegisterPrefix")), + AsmVariantNo(AsmParser->getValueAsInt("Variant")) { } /// BuildOperandMatchInfo - Build the necessary information to handle user |