[LLVMdev] Partially complete LLVM backend for the VideoCore 4

David Given dg at cowlark.com
Thu May 29 13:34:36 PDT 2014


On 5/29/14, 12:12 PM, Alex Bradbury wrote:
[...]
> Congratulations on the release David, this looks very interesting. I
> had wondering what you were targeting given your series of questions
> to the mailing list :)

Yeah, it is a kind of distinctive architecture. Did I mention the
condition codes? It's got condition codes...

It's a lovely thing to write hand assembly in, by the way. The ARM used
to be my favourite processor; no more. (Have I mentioned the 64x64xbyte
DSP vector storage? On which you can perform SIMD operations on
arbitrary horizontal or vertical slices with full integration with the ALU?)

It's just a shame I didn't get it any more finished; the LLVM learning
curve is really steep, and the documentation is, with all the best will
in the world, deeply inadequate. There are lots of rough edges and
things that you expect should work by don't, and there's a painful
amount of boilerplate. It was really surprising how frequently I had to
resort to manually matching patterns in C++ rather than using TableGen's
patterns.

This is actually my third attempt at a VC4 compiler; the first was the
ACK, which was straightforward but generates shockingly bad code; and
the second was gcc. Comparing retargeting gcc vs LLVM is interesting.
gcc has better documentation and, I think, a better templating system
(it does more and requires less manual code), but it's got *way* more
magic, and trying to figure out what was wrong when it inevitably did go
wrong was practically impossible. The community wasn't much help either.
(I eventually got it generating code, but the stack frames were
hopelessly mangled and I never did figure out what was wrong. gcc's
frame pointer elimination is... exciting.)

[...]
> http://www.raspberrypi.org/a-birthday-present-from-broadcom/).

Yes, the QPU is really interesting. Unfortunately I prefer my processors
to have... how do I put it... memory operations!

-- 
┌─── dg@cowlark.com ───── http://www.cowlark.com ─────
│
│ "You cannot truly appreciate _Atlas Shrugged_ until you have read it
│ in the original Klingon." --- Sea Wasp on r.a.sf.w

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 876 bytes
Desc: OpenPGP digital signature
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20140529/85f8e121/attachment.sig>


More information about the llvm-dev mailing list