Hi all, I'm pretty new to LLVM and am slowly learning the code-base and architecture, mostly as a result of my efforts to implement a target backend. There are a number of resources (read: documents) available which deal with some parts of backend development (and LLVM development in general), but sadly they are not at all comprehensive. I'd like to propose that a wiki be made available so that people who work out how to do stuff can document their findings. I'd like to see sections devoted to frontend, backend and misc. pass implementation, with both explanations of how LLVM works under the hood, and 'recipes' for common tasks/issues. For example, I would be more than happy to write up a set of howtos for the various questions and tasks I've encountered during my backend development, ranging from a 'What's the bare minimum?' to more complex issues like 'Implementing conditional branching' and 'calling conventions', 'emitting binary (object) code' etc. Thoughts? someguy
On Mar 11, 2009, at 10:22 AM, someguy wrote:> I'd like to propose that a wiki be made available so that people who > work out how to do stuff can document their findings. I'd like to see > sections devoted to frontend, backend and misc. pass implementation, > with both explanations of how LLVM works under the hood, and 'recipes' > for common tasks/issues.I endorse. The current docs are far from complete, getting better though. An open wiki would enourage informal note writing of various issues, and those notes could later be cleaned and moved to the official docs if so wanted. -- Arto Vuori avuori at cs.helsinki.fi http://cs.helsinki.fi/u/avuori/
On Wed, Mar 11, 2009 at 9:22 AM, someguy <just.s0m3.guy+llvmdev at gmail.com> wrote:> Hi all, > > I'm pretty new to LLVM and am slowly learning the code-base and > architecture, mostly as a result of my efforts to implement a target > backend. > > There are a number of resources (read: documents) available which deal > with some parts of backend development (and LLVM development in > general), but sadly they are not at all comprehensive. > > I'd like to propose that a wiki be made available so that people who > work out how to do stuff can document their findings. I'd like to see > sections devoted to frontend, backend and misc. pass implementation, > with both explanations of how LLVM works under the hood, and 'recipes' > for common tasks/issues...> > Thoughts? >I think it's a great idea, and I'm sure I can find some things to add as well. We've had to go in and read the source code to LLVM many times during the development of LDC (the D compiler), and lots of this have been fairly simple stuff, where a few notes in a wiki could have saved us time. It all adds up. Especially one feature of LLVM that's extremely underdocumented, inline assembler, has been very important for LDC, which needs inline asm as it is part of the language specification. I've tried writing a document proposal before but I didn't really find the time, and there was still a lot of things I didn't (and don't) know how worked, so it never got done. I can easily imagining starting a small wiki page to collect some reference information though. Cheers -Tomas
I agree too. I'm working on an analysis pass and I could be adding info to a wiki as I discover how to do things. Anthony On Mar 11, 2009, at 4:22 AM, someguy wrote:> Hi all, > > I'm pretty new to LLVM and am slowly learning the code-base and > architecture, mostly as a result of my efforts to implement a target > backend. > > There are a number of resources (read: documents) available which deal > with some parts of backend development (and LLVM development in > general), but sadly they are not at all comprehensive. > > I'd like to propose that a wiki be made available so that people who > work out how to do stuff can document their findings. I'd like to see > sections devoted to frontend, backend and misc. pass implementation, > with both explanations of how LLVM works under the hood, and 'recipes' > for common tasks/issues. > > For example, I would be more than happy to write up a set of howtos > for the various questions and tasks I've encountered during my backend > development, ranging from a 'What's the bare minimum?' to more complex > issues like 'Implementing conditional branching' and 'calling > conventions', 'emitting binary (object) code' etc. > > Thoughts? > > someguy > _______________________________________________ > LLVM Developers mailing list > LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
Glad to see there is support ;) I'd love to get it up as soon as possible, so I can note the stuff I'm doing now. Who maintains the llvm servers? On Wed, Mar 11, 2009 at 2:16 PM, Anthony Danalis <adanalis at eecs.utk.edu> wrote:> I agree too. I'm working on an analysis pass and I could be adding > info to a wiki as I discover how to do things. > > Anthony > > On Mar 11, 2009, at 4:22 AM, someguy wrote: > >> Hi all, >> >> I'm pretty new to LLVM and am slowly learning the code-base and >> architecture, mostly as a result of my efforts to implement a target >> backend. >> >> There are a number of resources (read: documents) available which deal >> with some parts of backend development (and LLVM development in >> general), but sadly they are not at all comprehensive. >> >> I'd like to propose that a wiki be made available so that people who >> work out how to do stuff can document their findings. I'd like to see >> sections devoted to frontend, backend and misc. pass implementation, >> with both explanations of how LLVM works under the hood, and 'recipes' >> for common tasks/issues. >> >> For example, I would be more than happy to write up a set of howtos >> for the various questions and tasks I've encountered during my backend >> development, ranging from a 'What's the bare minimum?' to more complex >> issues like 'Implementing conditional branching' and 'calling >> conventions', 'emitting binary (object) code' etc. >> >> Thoughts? >> >> someguy >> _______________________________________________ >> LLVM Developers mailing list >> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu >> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev > > _______________________________________________ > LLVM Developers mailing list > LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev >
Reid Spencer had set one up at one point, but it never got much traction. It seems to be broken at the moment: http://wiki.llvm.org/ On 2009-03-11, at 02:22, someguy wrote:> Hi all, > > I'm pretty new to LLVM and am slowly learning the code-base and > architecture, mostly as a result of my efforts to implement a target > backend. > > There are a number of resources (read: documents) available which deal > with some parts of backend development (and LLVM development in > general), but sadly they are not at all comprehensive. > > I'd like to propose that a wiki be made available so that people who > work out how to do stuff can document their findings. I'd like to see > sections devoted to frontend, backend and misc. pass implementation, > with both explanations of how LLVM works under the hood, and 'recipes' > for common tasks/issues. > > For example, I would be more than happy to write up a set of howtos > for the various questions and tasks I've encountered during my backend > development, ranging from a 'What's the bare minimum?' to more complex > issues like 'Implementing conditional branching' and 'calling > conventions', 'emitting binary (object) code' etc. > > Thoughts? > > someguy > _______________________________________________ > LLVM Developers mailing list > LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
In principle, having a Wiki like this would be valuable. In practice, I think there will need to be some sanity checking to make sure incorrect or misleading information is not added to it. The old Wiki below isn't up any more. We can set one up on llvm.org. --Vikram Associate Professor, Computer Science University of Illinois at Urbana-Champaign http://llvm.org/~vadve On Mar 11, 2009, at 8:56 AM, Gordon Henriksen wrote:> Reid Spencer had set one up at one point, but it never got much > traction. It seems to be broken at the moment: > > http://wiki.llvm.org/ > > On 2009-03-11, at 02:22, someguy wrote: > >> Hi all, >> >> I'm pretty new to LLVM and am slowly learning the code-base and >> architecture, mostly as a result of my efforts to implement a target >> backend. >> >> There are a number of resources (read: documents) available which >> deal >> with some parts of backend development (and LLVM development in >> general), but sadly they are not at all comprehensive. >> >> I'd like to propose that a wiki be made available so that people who >> work out how to do stuff can document their findings. I'd like to see >> sections devoted to frontend, backend and misc. pass implementation, >> with both explanations of how LLVM works under the hood, and >> 'recipes' >> for common tasks/issues. >> >> For example, I would be more than happy to write up a set of howtos >> for the various questions and tasks I've encountered during my >> backend >> development, ranging from a 'What's the bare minimum?' to more >> complex >> issues like 'Implementing conditional branching' and 'calling >> conventions', 'emitting binary (object) code' etc. >> >> Thoughts? >> >> someguy >> _______________________________________________ >> LLVM Developers mailing list >> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu >> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev > > _______________________________________________ > LLVM Developers mailing list > LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev