diff options
author | Craig Topper <craig.topper@gmail.com> | 2013-12-30 17:37:10 +0000 |
---|---|---|
committer | Craig Topper <craig.topper@gmail.com> | 2013-12-30 17:37:10 +0000 |
commit | 6d776e26602aa6a2195f07f660d87d7507f129a1 (patch) | |
tree | 03cca575c89798b051bf49b9ef27cd7dbdc9bf28 /llvm/utils/TableGen/X86RecognizableInstr.cpp | |
parent | c4a82438a7c530aaa3d94e5942355b788de525a2 (diff) | |
download | bcm5719-llvm-6d776e26602aa6a2195f07f660d87d7507f129a1.tar.gz bcm5719-llvm-6d776e26602aa6a2195f07f660d87d7507f129a1.zip |
Remove EscapeFilter. It's funcionality can be covered by correctly using ExtendedFilter and ExactFilter. No functional change.
llvm-svn: 198226
Diffstat (limited to 'llvm/utils/TableGen/X86RecognizableInstr.cpp')
-rw-r--r-- | llvm/utils/TableGen/X86RecognizableInstr.cpp | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/llvm/utils/TableGen/X86RecognizableInstr.cpp b/llvm/utils/TableGen/X86RecognizableInstr.cpp index 3472c8a046c..1eb579df3f5 100644 --- a/llvm/utils/TableGen/X86RecognizableInstr.cpp +++ b/llvm/utils/TableGen/X86RecognizableInstr.cpp @@ -1081,7 +1081,7 @@ void RecognizableInstr::emitDecodePath(DisassemblerTables &tables) const { Spec->modifierBase = Opcode; filter = new AddRegEscapeFilter(Opcode); } else { - filter = new EscapeFilter(true, Opcode); + filter = new ExactFilter(Opcode); } opcodeToSet = 0xd8 + (Prefix - X86Local::D8); break; @@ -1127,7 +1127,20 @@ void RecognizableInstr::emitDecodePath(DisassemblerTables &tables) const { case 0xdd: case 0xde: case 0xdf: - filter = new EscapeFilter(false, Form - X86Local::MRM0m); + switch (Form) { + default: + llvm_unreachable("Unhandled escape opcode form"); + case X86Local::MRM0m: + case X86Local::MRM1m: + case X86Local::MRM2m: + case X86Local::MRM3m: + case X86Local::MRM4m: + case X86Local::MRM5m: + case X86Local::MRM6m: + case X86Local::MRM7m: + filter = new ExtendedFilter(false, Form - X86Local::MRM0m); + break; + } // switch (Form) break; default: if (needsModRMForDecode(Form)) |