[LLVMdev] Compiler-RT roadmap

Vadim Chugunov vadimcn at gmail.com
Mon Feb 10 18:26:43 PST 2014


Hello,
In continuation of several threads from the last week, I'd like to ask: is
there a stated plan of what is going to happen with compiler-rt in the near
future?  In particular, I'm interested if any of the following is planned
to happen:

- Separation from clang
I've seen a suggestion to rename compiler-rt to "libclang_rt", but its'
applicability is much broader than just clang.  I think it would make more
sense to make it more independent of clang, not less.  If anything, it
should be renamed "llvm-rt", because it's LLVM codegen that emits
references to functions defined in compiler-rt.
If I understand compiler-rt's build system correctly, right now the only
supported way of building it is as a part of clang build (however it must
be checked out into llvm/projects directory?)   If it is to be used with
other LLVM-based compilers, it needs to be build-able separately from clang.

- Being able to build it for all platforms that LLVM can target
Since LLVM-produced binaries depend on compiler-rt, it should be available
for all LLVM target platforms.  This seems not to be the case currently (at
least via Makefiles, maybe it's possible via cmake, but I have not been
able to make it work on Mingw/Windows).

- Inclusion of libunwind
It was also suggested that libunwind should be moved from libcxxabi into
compiler-rt, because it isn't C++ specific.   To me, it seems like the
correct decision, because LLVM generates direct calls to _Unwind_Resume for
any code that uses 'invoke' instructions and cleanup landing pads.
Is anyone already working on this?   And if not, do compiler-rt maintainers
agree that this is the right thing to do, and will they accept patches?

I've developed some patches that try to address #1 and #2 above:
http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20140203/203928.html
Can somebody please take a look?   Who are the current maintainers of
compiler-rt?

thanks,
Vadim
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20140210/ef39feff/attachment.html>


More information about the llvm-dev mailing list