[llvm-dev] Transpiler Question

Jason Ott via llvm-dev llvm-dev at lists.llvm.org
Mon Aug 27 11:35:04 PDT 2018


I want to use LLVM as the main component in my compilation process.  In
doing so, I know I need to convert a high-level language to another
language (python or a custom syntax.)

The architecture I'm targeting is non-traditional hardware: microfluidic
devices.  Microfluidic devices are a specific class of reconfigurable
computing; which don't necessarily adhere to a traditional Von-Neuamann
architecture.  What I'm aiming to do is to take my high level language and
convert it a language that is accepted by one of the synthesizers we have
(in python or a custom syntax) which will then simulate/execute the given
program.

The workflow I have is as such:
High level language -> parsed and converted to C++ -> LLVM -> machine code
(python or custom syntax.)

I'm not 100% sure if I should write a full backend for python and our
custom syntax.  The documentation here:
https://llvm.org/docs/WritingAnLLVMBackend.html discusses various hardware
targets but nothing on software targets.

My questions are as such:
- Is my case the correct use of LLVM?
- Should I be writing an LLVM backend to transpile? (if not would a pass
suffice?)
- Is there any documentation that I have missed trying to target a software
architecture?

Thanks.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20180827/c56a49ec/attachment.html>


More information about the llvm-dev mailing list