[LLVMdev] LLVM backend for Z80 CPU

screwer screwer at gmail.com
Sun Mar 11 11:03:34 PDT 2012


I want to make Z80 codegen backend to the LLVM. CLang+LLVM looks perfect,
while quick playing around. Some questions available:

1) Does LLVM support to generate "mixed" code ? For example: in
microcontrollers world the subroutine call with const arguments may be
decorated like this:

call subroutine
defw wArg1
defw wArg2

; ordinary code continues here

subroutine pop return address from the stack, read arguments, do some work,
and returns via jump to addess after readed arguments. This is much more
faster than pushing arguments to the stack/


2) Does LLVM support to generate self-modifying code ? For example: save
register value direct to the opcode. Because constant loading faster than
indirect addressing. Example:

ld (hl_restore+1), hl

; some code modifying hl

hl_restore:
ld hl, 0 ; load stored value as constant


3) There are possible to commit new backend in the main LLVM repository ?

Thank in advance, Dmitry.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20120311/c76e7050/attachment.html>


More information about the llvm-dev mailing list