(original) (raw)
We do support the functionality need to implement OpenCL 1.2\. This includes pointers, loops, pointer arithmetic, arrays, local/global/constant memory, etc.
It does not include recursion, function pointers, virtual calls, etc.
Mark
From: Bruce Hoult
Sent: December 17, 2018 10:31 AM
To: jjones@prc-hsv.com
Cc: anton@korobeynikov.info; Mendell, Mark P ; LLVM Developers Mailing List
Subject: Re: \[llvm-dev\] LLVM Backend for a platform with no (normal) stack
On Mon, Dec 17, 2018 at 7:19 AM JD Jones <jjones@prc-hsv.com> wrote:
When I sent my first email request for help, I was thinking along the lines of the generously provided, previous suggestions (Mr. Hoult, Mr. Korobeynikov, thank you again!), to just "make a stack" using what I've got, but that's not the way the current compiler (which was written in Haskell) does things. I was hoping for some thoughts about which way to go, and the responses validated and gladdened.
The problem here is that you haven't told us what you \*do\* have -- or for that matter whether you need to support all features of LLVM IR (or C), or leave some out, and if so then what?
For example, does your source language and hardware allow any notion of "address", pointers, pointer arithmetic (AREF), arrays?
What about loops? Functions? Assignment?