Hi all, we're looking around a bit for a small and simple stack-based architecture, that we could use as a sidekick to the DSP processor we are developing. We've been looking at ZPU for a bit, but are also considering developing our own hardware for this (possibly very much tuned to LLVM). Of course, that would also mean building an LLVM backend. I guess having a very simple backend would also server LLVM well, as an example backend and one to base new architectures on. Now, on to my real question. Is there any LLVM backend for a (simple) stackbased machine? Anyone working on something like this? Anything we can use (either directly, or as an example and/or to get an idea how much work would be involved)? Gr. Matthijs -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 189 bytes Desc: Digital signature URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20081121/bdf76be7/attachment.sig>
On Nov 21, 2008, at 7:01 AM, Matthijs Kooijman wrote:> Hi all, > > we're looking around a bit for a small and simple stack-based > architecture, > that we could use as a sidekick to the DSP processor we are > developing. > > We've been looking at ZPU for a bit, but are also considering > developing our > own hardware for this (possibly very much tuned to LLVM). Of course, > that > would also mean building an LLVM backend. I guess having a very > simple backend > would also server LLVM well, as an example backend and one to base new > architectures on. > > Now, on to my real question. Is there any LLVM backend for a (simple) > stackbased machine? Anyone working on something like this? Anything > we can use > (either directly, or as an example and/or to get an idea how much > work would > be involved)?Hi Matthijs, My approach for this sort of machine would be to build a normal target machine. Follow the approach the x86 backend uses for its register stack: have two sets of instructions. Pre "stackifying", the instructions take registers, afterwards they take implicit stack slots. Run the stackifier immediately after register allocation and you should be good, -Chris
Apparently Analagous Threads
- [LLVMdev] Backend for the ZPU - a stack based / zero operand CPU
- [LLVMdev] Backend for the ZPU - a stack based / zero operand CPU
- [LLVMdev] Backend for the ZPU - a stack based / zero operand CPU
- Can the Sidekick PIM run in Wine?
- [LLVMdev] Writing a backend for the ZPU