summaryrefslogtreecommitdiffstats
path: root/llvm/utils
diff options
context:
space:
mode:
authorDevang Patel <dpatel@apple.com>2012-01-05 00:51:28 +0000
committerDevang Patel <dpatel@apple.com>2012-01-05 00:51:28 +0000
commitc5dbcbe4e651639f0e23b6a75554f0c467eb0364 (patch)
treec86a670c044edc3ff1cf083b09a0cc32b82fd420 /llvm/utils
parentde958784d688759cf1e6a89d2275a6f35bf2c80e (diff)
downloadbcm5719-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.cpp9
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
OpenPOWER on IntegriCloud