[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