llvm-mirror / poolalloc

Mirror kept for legacy. Moved to https://github.com/llvm/llvm-project

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Welcome to the Pre-Release of the Automatic Pool Allocator!

LICENSE:
========
Before using the Automatic Pool Allocator, you should read the pre-release
license in LICENSE.TXT.

KNOWN ISSUES:
=============

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.


BUILDING:
=========
To build the Automatic Pool Allocator, you will need to have installed and
compiled LLVM.

Once that is done, you can build the Automatic Pool Allocator using the
following steps:

	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 \
	                 --with-llvmobj=/tmp/llvm

	2. Using GNU Make (sometimes called gmake), type "make" to build the
	   Automatic Pool Allocator:

	   > make

	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.

BUGS:
=====
Please see our website for information on how to report bugs
(http://llvm.cs.uiuc.edu/docs/HowToSubmitABug.html).

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
http://lists.llvm.org/mailman/listinfo/llvm-dev.

About

Mirror kept for legacy. Moved to https://github.com/llvm/llvm-project

License:Other


Languages

Language:C++ 54.7%Language:LLVM 24.1%Language:Shell 8.3%Language:Makefile 5.8%Language:C 3.2%Language:Perl 2.2%Language:CMake 0.9%Language:Python 0.8%Language:Gnuplot 0.1%Language:Elixir 0.0%