[LLVMdev] backend documentation

Jonathan gamma_chen at yahoo.com.tw
Sat Feb 23 19:31:40 PST 2013


Hi Vadim,

I am the book author of "Creating an LLVM Backend for the Cpu0 Architecture". Your question is right. More documents is good for programmer just like plentiful book in Linux Programming, even though the GCC backend compiler book is seldom. As you can see, I have let readers know how to write a RISC backend in my book but lack of the CISC backend features, like the complex address mode you mentioned. For these topic, LLVM supply many backend source code like X86, readers can learn it from the release source code. 

I agree with you. If someone knows these topic well and willing pay time to write it, we will appreciate his work on this.

Jonathan

On 2013/2/24, at 上午10:55, Sean Silva <silvas at purdue.edu> wrote:

> Hi Jonathan, please respond to this message from the LLVMdev mailing list:
> 
> (also, you should subscribe to the LLVMdev and llvm-commits mailing
> lists; if you haven't done so already)
> 
> 
> ---------- Forwarded message ----------
> From: Vadim Khoptynets <vadya.poiuj at gmail.com>
> Date: Sat, Feb 23, 2013 at 8:47 PM
> Subject: [LLVMdev]  backend documentation
> To: llvmdev at cs.uiuc.edu
> 
> 
> Hello everyone!
> 
> Is there any documentation about LLVM backend implementation, except
> "Writing an LLVM backend"? I'm trying to write InstrFormats.td and
> InstrInfo.td for my backend now. After reading "Writing an LLVM
> backend" and "Creating an LLVM Backend for the Cpu0 Architecture",
> many black holes have remained. These tutorials describe it on
> concrete examples, but general approach is missed. For example, how to
> implement different addressing modes using ComplexPattern? How to
> write a matching function? How does addressing modes correlate with
> address operands? When should we implement our own DAG nodes? Why does
> some backends have Format field, while other - don't? And so on...
> So, maybe somebody have materials that could help to clarify process
> of implementing backend? It might be books, articles, presentations
> etc.
> 
> --
> Regards,
> Vadim.
> 
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev





More information about the llvm-dev mailing list