[LLVMdev] Simplifying a front-end project
Marc Brünink
marc at bruenink.de
Tue Aug 25 16:53:17 PDT 2009
John McCall schrieb:
> Vikram S. Adve wrote:
>> For the translator in step (2), I've so far had them generate LLVM IR
>> in memory using the LLVM APIs. They find it a *lot* of work to learn
>> the LLVM APIs, which doesn't teach them much about compiler concepts
>> per se. To simplify this project, I am considering changing the
>> project so they "print out" LLVM assembly directly instead of building
>> up the IR in memory and writing it out.
>>
>
> I've found the LLVM API to be pretty easy to work with, at least by
> life's generally poor standards. I don't know UIUC's program at all,
> but I would guess there are 2-3 main problems your students are having:
> 1. The API is huge, and the autogenerated documentation is badly
> organized, especially for beginners.
> 2. The API assumes that users are familiar with various C++ idioms,
> particularly iterators.
> 3. The API assumes that users are familiar with C++.
Hiho,
I'm a student and I'm a beginner in LLVM; I think the API is quite
straight-forward and easy to learn (most of the time). However, the
biggest hurdle for me is the autogenerated documentation indeed. It is
not badly organized; it's just missing out a lot. Often I find myself
poking around guessing how things might work. Often my guesses are
incorrect :-)
BTW: Currently I'm trying to understand SCEV. I think I will start
reading all the loop passes in the next days. If someone has a better
idea please drop me a line.
Ciao
Marc
More information about the llvm-dev
mailing list