mirror of
https://github.com/RPCSX/llvm.git
synced 2024-11-26 13:10:34 +00:00
Changed the TableGen created MatchInstructionImpl() setting of ErrorInfo.
The algorithm for identifying which operand is invalid will now always point to some operand and not the mnemonic sometimes. The change is now that ErrorInfo is the index of the highest operand that does not match for any of the matching mnemonics records. And no longer the ~0U value when the mnemonic matches and not every record with a matching mnemonic has the same mismatching operand index. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124734 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
92e7195e43
commit
79fcb6dec3
@ -2098,10 +2098,8 @@ void AsmMatcherEmitter::run(raw_ostream &OS) {
|
||||
OS << " continue;\n";
|
||||
OS << " // If this operand is broken for all of the instances of this\n";
|
||||
OS << " // mnemonic, keep track of it so we can report loc info.\n";
|
||||
OS << " if (it == MnemonicRange.first || ErrorInfo == i+1)\n";
|
||||
OS << " if (it == MnemonicRange.first || ErrorInfo <= i+1)\n";
|
||||
OS << " ErrorInfo = i+1;\n";
|
||||
OS << " else\n";
|
||||
OS << " ErrorInfo = ~0U;";
|
||||
OS << " // Otherwise, just reject this instance of the mnemonic.\n";
|
||||
OS << " OperandsValid = false;\n";
|
||||
OS << " break;\n";
|
||||
|
Loading…
Reference in New Issue
Block a user