The Parabix with LLVM Project
This project investigates the use of LLVM as a back end for Parabix technologies.
Architecture Independent IDISA Libraries
Meng Lin is looking at creating architecture independent IDISA libraries, see: source:trunk/libgen/llvm_header
Is it possible to have LLVM directly support all power-of-2 IDISA types and operations directly in the code generation system?
Complete Power-of-2 Integer/Vector Support
The CompleteInteger project involves systematic support for integers and vectors of integers in all power-of-2 configurations up to 256 bits.
In general, this project seeks to "fill in the gaps" of LLVM support, specifically as follows.
- Add first class support for short integer types i1, i2, i4.
- Add first class support for LongInteger types i128, i256.
- Add first class support for vectors of integers of i1, i2 and i4 types up to <256 x i1>, <128 x i2>, <64 x i4>.
- Add first class support for vectors of long integers <2 x i128>.
The SSE2 Hoisting project investigates the raising of SSE2 intrinsic operations into generic LLVM IR operations, thereby creating the possibility of executing SSE2 code on different architectures.
Information on Extending LLVM to add new intrinsics, SelectionDAG nodes, instructions and types outlines the steps necessary to start working with the compiler on new facilities.
The LLVM Target Independent Code Generator is the key document describing the inner workings of code generation for various platforms.
The I2Result demo shows a problem with i2 results.