[LLVMdev] ObjectFiles.html
Chris Lattner
sabre at nondot.org
Fri Feb 27 00:40:01 PST 2004
On Fri, 27 Feb 2004, Chris Lattner wrote:
> > Could someone please add this file to the LLVM docs directory so I can
> > submit patches against it?
BTW, here's some hints for it:
libtransforms.a -> contains only the level raise pass
libtarget.a -> contains code generator support for describing target
architectures
libanalysis.a -> intraprocedural analyses
libipa.a -> interprocedural analyses
libinstrument.a -> instrumentation (e.g. profiling) transformations
libtransformutils.a -> common code shared by various xforms
libregalloc.a -> sparc register allocator
sched.o -> sparc instruction scheduler
select.o -> sparc instruction selector support
libevar.o -> live variable analysis for the sparc
selectiondag.o -> start of aggressive instruction selector for DAGs
profpaths.o -> path profiling instrumentation
Basically, libraries are built in two forms: .a files and .o files. .o
files are built/used when client programs want to link in _everything_ in
a library. .a files are used when a client program wants to use some of
the stuff in a library, based on what symbols are referenced.
The difference is important for things like 'opt' which wants to link in
_ALL_ optimizations no matter what, and 'gccas' which only wants to link
optimizations in that are referenced by the gccas tool explictly.
For libraries that .a files don't make sense, we don't provide them. It's
impossible to link in half an x86 backend for example. :)
Overall, this looks really useful, especially when the dependency
information is built. Perhaps this should eventually be integrated into
the programmers manual though?
-Chris
--
http://llvm.cs.uiuc.edu/
http://www.nondot.org/~sabre/Projects/
More information about the llvm-dev
mailing list