Does our own developed module and functions can go along with the future improved version of LLVM?

Hello.

I am a compiler developer of our team. We try to build our own compiler for our own processor.

We want to build our compiler based on LLVM by adding our own modules and functions

which are specific to the features of our processor hardware.

In case of our developed modules, is it guaranteed that the modules can work in the future version of LLVM?

In order to do so, what guideline is required to do that?

Thank you in advance.

Minwook Ahn

Hi Minwook Ahn,

We want to build our compiler based on LLVM by adding our own modules and functions

which are specific to the features of our processor hardware.

do you mean that you have files containing bitcode which contain useful
routines for your processor, and that you use like a library?

In case of our developed modules, is it guaranteed that the modules can work in the future version of LLVM?

The LLVM policy is that old bitcode should continue to work in future
releases. Usually bitcode is transparently upgraded when loaded by
newer tools, however some future versions may require you to run an
upgrade tool on the bitcode. This has happened in the past when the
internal changes were large enough to make auto-upgrade impractical.

Best wishes,

Duncan.

I think the question was, can they write their own backend for LLVM (a
new Target) and will their code automatically work with future
releases of LLVM.

In that case, the answer is yes, you can develop your own backend, but
no, LLVM does not provide API stability. As new versions of LLVM are
released you would have to update your code to the new API or stay
with the old version of LLVM.

Reid

Thank you for your reply.

Minwook Ahn

2010/1/13 Reid Kleckner <rnk@mit.edu>