Automatic assembler generation?

I've just started looking into code generation and have a newbie question: Is there enough information in the .td files to make a tool to automatically generate an assembler from them? Is a project like that in the works?

-Rich

Quoting Richard Pennington <rich@pennware.com>:

I've just started looking into code generation and have a newbie
question: Is there enough information in the .td files to make a tool to
  automatically generate an assembler from them? Is a project like that
in the works?

-Rich

Hi

your question is reasonable, but it is probably out of scope for LLVM. There
have been some architecture description languages (ADLs) proposed for
specifying a machine description and generating all software development tools
(for compilation down to object code and for simulation) from there. A decent
(and realistic) approach would aim in generating binutils-specific source files
for the basic tools (as, ld, objdump at least) since binutils are quite mature.

There are references to new-generation ADLs based on XML DTDs but these are
mostly held in private.

Kind regards
Nikolaos Kavvadias

Hi,

Nikolaos Kavvadias wrote:

Quoting Richard Pennington <rich@pennware.com>:
> I've just started looking into code generation and have a newbie
> question: Is there enough information in the .td files to make a
> tool to automatically generate an assembler from them? Is a project
> like that in the works?

your question is reasonable, but it is probably out of scope for LLVM.
There have been some architecture description languages (ADLs)
proposed for specifying a machine description and generating all
software development tools (for compilation down to object code and
for simulation) from there. A decent (and realistic) approach would
aim in generating binutils-specific source files for the basic tools
(as, ld, objdump at least) since binutils are quite mature.

The work of Norman Ramsey is a reasonable place to start reading up on
this. http://www.eecs.harvard.edu/~nr/

Cheers,

Ralph.

Ralph Corderoy wrote:

Hi,

Nikolaos Kavvadias wrote:

Quoting Richard Pennington <rich@pennware.com>:

I've just started looking into code generation and have a newbie
question: Is there enough information in the .td files to make a
tool to automatically generate an assembler from them? Is a project
like that in the works?

your question is reasonable, but it is probably out of scope for LLVM.
There have been some architecture description languages (ADLs)
proposed for specifying a machine description and generating all
software development tools (for compilation down to object code and
for simulation) from there. A decent (and realistic) approach would
aim in generating binutils-specific source files for the basic tools
(as, ld, objdump at least) since binutils are quite mature.

The work of Norman Ramsey is a reasonable place to start reading up on
this. http://www.eecs.harvard.edu/~nr/

Cheers,

Ralph.

_______________________________________________
LLVM Developers mailing list
LLVMdev@cs.uiuc.edu http://llvm.cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev

That's exactly why I asked the question. That's the functionality that I'd like to duplicate.

-Rich

Hi friends

do you have a specific ADL in mind?

I have a personal opinion (deduced from hands-on work) on most of them.

Here is an ADL list (A for Academic, C for Commercial, O for Open Access while
not A or C :):

- EXPRESSION (A)
- ArchC (A)
- nML (C)
- LISA 2.0 (C)
- Sim-nML (A)
- GCC RTL (O)

others could be listed but are only targeting the compiler/binary utilities
path.

others are not listed here since they cover only the simulator generation.
However, the following is quickly gaining audience:

- Unisim

Anyone is welcome to complete this list. (These are the ones that first come in
mind).

Cheers
Nikolaos Kavvadias