[llvm-dev] Porting Automation

Martin Vahi via llvm-dev llvm-dev at lists.llvm.org
Thu Jul 14 23:33:59 PDT 2016

I'm just trying to get an
overview of a greater picture, I'm
currently not working on any compiler
porting or CPU development, but could
someone please tell, if there exists in LLVM or
some other compiler a feature, where
different CPU-vendors offer some standardized
XML/JSON/YAML file that describes the CPU's
parameters, registers, commands in some formal
manner and compilers that support that CPU
description format, can just import that CPU-description
a bit like bookmarks are imported to web browsers
and importing/loading of the formal CPU-description
would be all that is needed to port the compiler
to that CPU?

The file would describe register names, register
widths, what command works with what register, etc.
Practically the CPU-description file would be
written in some domain specific language even if the
syntax is XML/JSON/YAML. Again, the idea is that
if web browsers are able to configure the GUI
according to HTML, then compilers might configure
their back-ends according to the CPU-description file.

The CPU description file might even be part of the
internal test suite of the CPU-vendor during the
development of the CPU. Why the duplication of effort
at describing the programming interface specification
of the CPU, first at the CPU-vendor side and later
at the compiler side?
After all, it is CERTAIN that at least SOME COMPILER
is needed to make any CPU useful at all, with the
exception of some really tiny micro-controllers that
might be usable with ASM alone, but even among
micro-controllers those are a rarity.

I hope to be the most stupid person on this list,
despite hoping that my current letter is smart enough
to deserve an answer. :-/

Thank You for reading my letter.

With curiosity,
Martin.Vahi at softf1.com

More information about the llvm-dev mailing list