Welcome to the Pre-Release of the Automatic Pool Allocator!
Before using the Automatic Pool Allocator, you should read the pre-release
license in LICENSE.TXT.
Automatic Pool Allocation is currently broken on 2.7 due to malloc and
free instructions being removed. Use the release_26 branch of llvm
and poolalloc for a working poolalloc module.
DSA is undergoing significant changes and may not be entirely stable or
correct. See lib/DSA/README.
Windows does not support loadable modules in llvm, so poolalloc must
be linked into opt.
To build the Automatic Pool Allocator, you will need to have installed and
Once that is done, you can build the Automatic Pool Allocator using the
1. Run the configure script to tell the build system LLVM has been
installed. Use the --with-llvmsrc=<dir> option to specify the
location of the LLVM source code, and use the --with-llvmobj=<dir>
option to specify the location of the LLVM object code.
For example, if the user joe with home directory of /usr/home/joe
has the LLVM source in /usr/home/joe/llvm, and it was configured
with ./configure --with-objroot=/tmp, then the Automatic Pool
Allocator should be configured with:
> ./configure --with-llvmsrc=/usr/home/joe/llvm \
2. Using GNU Make (sometimes called gmake), type "make" to build the
Automatic Pool Allocator:
3. To install the pool allocator bytecode libraries into the C front
end, use make with the install target:
> make install
USING THE POOL ALLOCATOR:
To use the Automatic Pool Allocator optimization pass, you will need to
explicitly load it into the opt program:
> opt -load <path to pool allocator> -poolalloc <other opt options>
To link and run programs with the pool allocator, you will need to have the
poolalloc bytecode library in your LLVM_LIB_SEARCH_PATH. If you have followed
the directions in the "Getting Started Guide" for LLVM, your
LLVM_LIB_SEARCH_PATH environment variable already points to the C front end's
directory of bytecode libraries. Just use the install target (mentioned above)
of make to install the poolalloc library into that directory.
To link a bytecode file once it has been optimized, you can do the following:
> llvmgcc -o <output file> <optimized bytecode file> -lpoolalloc
...where llvmgcc is an alias to the GCC C front end.
This will generate a bytecode file that can be executed.
Please see our website for information on how to report bugs
LLVM DEVELOPER'S MAILING LIST
The LLVM Developer's Mailing List provides announcements and general discussion
about LLVM. The list is low volume. You can subscribe to it at