[M68k] Implement AsmParser
authorRicky Taylor <rickytaylor26@gmail.com>
Thu, 11 Mar 2021 20:37:57 +0000 (20:37 +0000)
committerRicky Taylor <rickytaylor26@gmail.com>
Tue, 13 Apr 2021 08:25:34 +0000 (09:25 +0100)
commit6e098e133dc7b0fb7006bd768989ef65dfaf341d
treef37ae566a3593fa3471755d0101eda1522abbd45
parent95c614afcd4de71d00a240d6a4a02c036c972ed0
[M68k] Implement AsmParser

This is a work-in-progress implementation of an assembler for M68k.

Outstanding work:
- Updating existing tests assembly syntax
- Writing new tests for the assembler (and disassembler)

I've left those until there's consensus that this approach is okay (I hope that's okay!).

Questions I'm aware of:
- Should this use Motorola or gas syntax? (At the moment it uses Motorola syntax.)
- The disassembler produces a table at runtime for disassembly generated from the code beads. Is this okay? (This is less than ideal but as I mentioned in my llvm-dev post, it's quite complicated to write a table-gen parser for code beads.)

Depends on D98519

Depends on D98532

Depends on D98534

Depends on D98535

Depends on D98536

Differential Revision: https://reviews.llvm.org/D98537
llvm/lib/Target/M68k/AsmParser/CMakeLists.txt [new file with mode: 0644]
llvm/lib/Target/M68k/AsmParser/M68kAsmParser.cpp [new file with mode: 0644]
llvm/lib/Target/M68k/CMakeLists.txt
llvm/lib/Target/M68k/M68k.td
llvm/lib/Target/M68k/M68kInstrInfo.td
llvm/test/MC/M68k/instructions.s [new file with mode: 0644]
llvm/test/MC/M68k/lit.local.cfg [new file with mode: 0644]