diff options
| author | Kevin Enderby <enderby@apple.com> | 2011-07-15 18:30:43 +0000 |
|---|---|---|
| committer | Kevin Enderby <enderby@apple.com> | 2011-07-15 18:30:43 +0000 |
| commit | 1b87c806787cdecd096e2a1604c1e237cd38d453 (patch) | |
| tree | da07010d7c1fa4336010ba562777fd1ac9626d56 /llvm | |
| parent | a7ff54351a782dd8a83a24e03db828cd6f4010b4 (diff) | |
| download | bcm5719-llvm-1b87c806787cdecd096e2a1604c1e237cd38d453.tar.gz bcm5719-llvm-1b87c806787cdecd096e2a1604c1e237cd38d453.zip | |
Have tblgen produce code that tolerates operands that return an invalid match class.
llvm-svn: 135287
Diffstat (limited to 'llvm')
| -rw-r--r-- | llvm/utils/TableGen/AsmMatcherEmitter.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/llvm/utils/TableGen/AsmMatcherEmitter.cpp b/llvm/utils/TableGen/AsmMatcherEmitter.cpp index d9c3b84d6c2..a6a4fecd301 100644 --- a/llvm/utils/TableGen/AsmMatcherEmitter.cpp +++ b/llvm/utils/TableGen/AsmMatcherEmitter.cpp @@ -1656,6 +1656,10 @@ static void EmitValidateOperandClass(AsmMatcherInfo &Info, OS << " " << Info.Target.getName() << "Operand &Operand = *(" << Info.Target.getName() << "Operand*)GOp;\n"; + // The InvalidMatchClass is not to match any operand. + OS << " if (Kind == InvalidMatchClass)\n"; + OS << " return false;\n\n"; + // Check for Token operands first. OS << " if (Operand.isToken())\n"; OS << " return MatchTokenString(Operand.getToken()) == Kind;\n\n"; |

