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 | c5dbcbe4e651639f0e23b6a75554f0c467eb0364 (patch) | |
| tree | c86a670c044edc3ff1cf083b09a0cc32b82fd420 /llvm/utils | |
| parent | de958784d688759cf1e6a89d2275a6f35bf2c80e (diff) | |
| download | bcm5719-llvm-c5dbcbe4e651639f0e23b6a75554f0c467eb0364.tar.gz bcm5719-llvm-c5dbcbe4e651639f0e23b6a75554f0c467eb0364.zip | |
Do not hard code asm variant number.
llvm-svn: 147583
Diffstat (limited to 'llvm/utils')
| -rw-r--r-- | llvm/utils/TableGen/AsmMatcherEmitter.cpp | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/llvm/utils/TableGen/AsmMatcherEmitter.cpp b/llvm/utils/TableGen/AsmMatcherEmitter.cpp index 5ef0db905cc..d2f2748b039 100644 --- a/llvm/utils/TableGen/AsmMatcherEmitter.cpp +++ b/llvm/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 |

