« earlier | later » Page 1 of 2
How LLVM Optimizes a Function – Embedded in Academia edit / delete
A nice walkthrough of how LLVM's optimisation passes rewrite a simple loop. This assumes you know how LLVM's SSA representation works, but it'll still make sense even if you don't.
to cmp409 compiler llvm loop optimisation ... on 11 September 2018
Cling | ROOT a Data analysis Framework edit / delete
"Cling is an interactive C++ interpreter, built on the top of LLVM and Clang libraries."
to c++ clang interpreter llvm ... on 06 December 2016
"Numba is an just-in-time specializing compiler which compiles annotated Python and NumPy code to LLVM (through decorators)."
to compiler jit llvm numeric numpy python ... on 28 April 2014
STABILIZER: statistically sound performance evaluation edit / delete
Neat trick: this uses some LLVM instrumentation to shuffle memory layout around in a program while it's running, to randomise the effects of layout on performance. As a result of the central limit theorem, this tends to normalise the distribution of timing errors too (provided your program runs long enough to have been thoroughly shuffled).
to benchmarking compiler llvm performance research statistics timing ... on 01 April 2014
pocl - Portable Computing Language edit / delete
LLVM-based OpenCL implementation.
mikeash.com: Friday Q&A 2013-06-28: Anatomy of a Compiler Bug edit / delete
Excellent description of how to track down a Clang code generation bug.
LLVM-based generic CPU emulation library.
Home · kripken/emscripten Wiki · GitHub edit / delete
Compiles LLVM output to Javascript. Claims to achieve about 25% the speed of native code, which is pretty impressive. Javascript Transterpreter, anyone?
to compiler javascript llvm software ... on 28 July 2012
The KLEE Symbolic Virtual Machine edit / delete
Symbolic execution for LLVM; this can automatically compute testcases to cause assertions to fail in arbitrary programs. The introductory paper's pretty neat.
to compiler llvm research static-checking tock ... on 09 April 2010
Things that amuse me edit / delete
Using the high-level LLVM bindings in Haskell to compile a typed language. This is awfully cute, but I'm not sure how you'd handle a language that let the user define their own datatypes -- you'd need a Haskell-type-level representation of source-level datatype names...
to compiler haskell llvm research tock types ... on 16 June 2009
« earlier | later » Page 1 of 2
- llvm | |
1 | + benchmarking |
1 | + bugs |
1 | + c++ |
2 | + clang |
1 | + cmp409 |
10 | + compiler |
1 | + cpu |
1 | + debugging |
1 | + emulation |
1 | + gpgpu |
2 | + haskell |
1 | + interpreter |
1 | + javascript |
2 | + jit |
1 | + loop |
1 | + numeric |
1 | + numpy |
1 | + opencl |
1 | + optimisation |
1 | + performance |
1 | + pocl |
2 | + python |
6 | + research |
2 | + software |
1 | + static-checking |
1 | + statistics |
1 | + timing |
3 | + tock |
1 | + types |
2 | + vm |
tasty by Adam Sampson.