On 02/08/2012 07:57 AM, Sébastien Bourdeauducq wrote:

I can see that the Clang/LLVM port is making good progress,
congratulations! I'm now able to compile a large part of the Milkymist
BIOS using it, and I'm looking forward to building as much software as
possible with it. Currently, the BIOS of the NG SoC is using it as
default compiler.

I'm glad to see it's getting used.

Do you think we can start submitting it upstream?

No. They will require someone to be committed to maintaining it. I can't make that commitment at this point. I also don't think the port is ready to be submitted.

I would still call the port a "beta". In running the GCC testsuite some run time bugs are exposed. I haven't looked at them yet. In many cases compiling with -O1 or higher generates correct code. Also, the debug information is poor at this point. I'm not sure what's wrong since I haven't looked at it yet.

I have compiled LUA (including newlib, libgloss, and some bios code) with clang and it at least starts and will do simple things on qemu. I haven't tried anything complex.

I have seen you have added support for an optional signed division
instruction (disabled by default). There is no such instruction in LM32,
is that intended for a modified CPU of yours?

I don't know where it came from :) Although I'm pretty sure I saw it mentioned somewhere in the LM32 documentation.

Note that the unsigned division instruction is slow (34 cycles) so the
software support to implement signed division adds comparatively little
overhead. See:
https://github.com/milkymist/milkymist-ng/blob/master/software/libbase/divsi3.c

I'll look at that.  Clang's compiler-rt probably provides one too.

Are you planning to implement the integrated assembler too? I'm
interested in getting rid of the remaining GNU tools, which are
unmaintainable among other problems.

I would like to but it's not a priority. The known Clang/LLVM bugs and debug information are higher priority.

I'm not sure what our long-term plan is for clang. It's possible we may use a language like LUA instead of adding support in C. Everything is dependent on funding and the current source ends soon.

JP
_______________________________________________
http://lists.milkymist.org/listinfo.cgi/devel-milkymist.org
IRC: #milkymist@Freenode

Reply via email to