All Projects → llvm-hs → Llvm Hs Examples

llvm-hs / Llvm Hs Examples

Licence: mit
Examples for Haskell bindings to LLVM

Programming Languages

haskell
3896 projects

Labels

Projects that are alternatives of or similar to Llvm Hs Examples

adorad
Fast, Expressive, & High-Performance Programming Language for those who dare
Stars: ✭ 54 (+5.88%)
Mutual labels:  llvm, jit
Leekscript V2
A dynamically typed, compiled just-in-time programming language used in Leek Wars' AIs
Stars: ✭ 46 (-9.8%)
Mutual labels:  llvm, jit
Batch-First
A JIT compiled chess engine which traverses the search tree in batches in a best-first manner, allowing for neural network batching, asynchronous GPU use, and vectorized CPU computations.
Stars: ✭ 27 (-47.06%)
Mutual labels:  llvm, jit
Jitfromscratch
Example project from my talks in the LLVM Social Berlin and C++ User Group
Stars: ✭ 158 (+209.8%)
Mutual labels:  llvm, jit
Codegen
Experimental wrapper over LLVM for generating and compiling code at run-time.
Stars: ✭ 362 (+609.8%)
Mutual labels:  llvm, jit
FastLua
Lua trace JIT compiler using LLVM-C
Stars: ✭ 22 (-56.86%)
Mutual labels:  llvm, jit
halo
😇 Wholly Adaptive LLVM Optimizer
Stars: ✭ 22 (-56.86%)
Mutual labels:  llvm, jit
Jfs
Constraint solver based on coverage-guided fuzzing
Stars: ✭ 215 (+321.57%)
Mutual labels:  llvm, jit
Easy Just In Time
LLVM Optimization to extract a function, embedded in its intermediate representation in the binary, and execute it using the LLVM Just-In-Time compiler.
Stars: ✭ 361 (+607.84%)
Mutual labels:  llvm, jit
Awesome Graal
A curated list of awesome resources for Graal, GraalVM, Truffle and related topics
Stars: ✭ 302 (+492.16%)
Mutual labels:  llvm, jit
jitmap
LLVM-jitted bitmaps
Stars: ✭ 25 (-50.98%)
Mutual labels:  llvm, jit
Inkwell
It's a New Kind of Wrapper for Exposing LLVM (Safely)
Stars: ✭ 732 (+1335.29%)
Mutual labels:  llvm, jit
dmr c
dmr_C is a C parser and JIT compiler with LLVM, Eclipse OMR and NanoJIT backends
Stars: ✭ 45 (-11.76%)
Mutual labels:  llvm, jit
Mull
Practical mutation testing tool for C and C++
Stars: ✭ 536 (+950.98%)
Mutual labels:  llvm, jit
Llvm Tutorial Standalone
DEPRECATED (Use: https://github.com/llvm-hs/llvm-hs-kaleidoscope )
Stars: ✭ 38 (-25.49%)
Mutual labels:  llvm, jit
Kylin Llvm Obfuscator
based on llvm 5.0.1 release with ollvm
Stars: ✭ 37 (-27.45%)
Mutual labels:  llvm
Llvm2graphml
Explore LLVM Bitcode interactively using a graph database
Stars: ✭ 44 (-13.73%)
Mutual labels:  llvm
Coat
EDSL for C++ to make just-in-time code generation easier
Stars: ✭ 37 (-27.45%)
Mutual labels:  llvm
Llvm Cheatsheet
LLVM, clang, ninja, dyld and others.
Stars: ✭ 36 (-29.41%)
Mutual labels:  llvm
Llvm Demo
A simple example of how LLVM can be used to gather static or dynamic facts about a program.
Stars: ✭ 48 (-5.88%)
Mutual labels:  llvm

LLVM Haskell Examples

Build Status

Simple examples demonstrating the usage of the llvm-hs for generating and manipulating LLVM from Haskell.

  • basic - Generating LLVM AST and rendering Textual IR
  • orc - JIT Compiling IR on the Eager and Lazy ORC Jit using Compile-On-Demand
  • arith - a minimal JIT compiler for functions of one (real) variable using recursion schemes
  • irbuilder - Basic usage of the LLVM IRBuilder for constructing modules

These examples require LLVM 9.0. Check that your installed LLVM version is precisely 9.0. If not then follow the install directions in the llvm-hs repository.

$ llvm-config --version
9.0

To run the examples with Stack:

$ stack exec basic
$ stack exec orc
$ stack exec arith
$ stack exec irbuilder

To load the examples in GHCI:

$ stack repl examples:basic
$ stack repl examples:orc
$ stack repl examples:arith
$ stack repl examples:irbuilder

To run the examples with Cabal:

$ cabal run basic
$ cabal run orc
$ cabal run arith
$ cabal run irbuilder

License

MIT License Copyright (c) 2017-2020, Stephen Diehl

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].