LLVM backend for 6502
Go to file
Rafael Espindola 9a4584b54b Simplify the computation of undefined symbols. Instead of walking
functions and initializers, just report the declarations present in
the module.

The motivation is to open the way for using the lazy module parsing,
which should speed up clients that just want a symbol list (nm, ar).

This is slightly less precise, but since both -strip-dead-prototypes
and -globaldce are part of the standard pipeline, this shouldn't
change the result for clang/dragonegg produced binaries.

Any decl in an IL file was also put there because a FE expected it
to be necessary, so this should not be a problem for "-O0 -emit-llvm".

As a sanity check, I have bootstrapped clang on linux and built
firefox on both linux and darwin. A clang bootstrap on darwin
with LTO fails with or without this patch because, ironically,
the linker doesn't like the combination of dead_strip and LTO
when building libLTO.so :-)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127870 91177308-0d34-0410-b5e6-96231b3b80d8
2011-03-18 05:12:38 +00:00
autoconf Check that the AsmParser exists for the native target to enable initialization 2011-03-14 22:12:35 +00:00
bindings Fix compiling the ocaml kaleidoscope tutorials 2011-02-09 18:32:02 +00:00
cmake is_llvm_target_library: recognize libraries without the LLVM prefix. 2011-03-15 14:53:53 +00:00
docs Some release notes. 2011-03-18 04:07:44 +00:00
examples Fix compiling the ocaml kaleidoscope tutorials 2011-02-09 18:32:02 +00:00
include Tweak CrashRecoveryContextCleanup::createCleanup() to use the 'delete' cleanup as opposed to the 'destructor' cleanup (reclaims more memory). 2011-03-18 03:46:21 +00:00
lib Hoist spills when the same value is known to be in less loopy sibling registers. 2011-03-18 04:23:06 +00:00
projects Regen configure 2010-12-12 21:42:01 +00:00
runtime Implementation of path profiling. 2011-01-29 01:09:53 +00:00
test Add a target-specific branchless method for double-width relational 2011-03-18 02:34:11 +00:00
tools Simplify the computation of undefined symbols. Instead of walking 2011-03-18 05:12:38 +00:00
unittests Add an argument to APInt's magic udiv calculation to specify the number of bits that are known zero in the divided number. 2011-03-17 20:39:06 +00:00
utils lit/ProgressBar.py: [PR7919] Improve line wrap for XN-incapable terminals. 2011-03-15 21:07:44 +00:00
website
.gitignore Cleanup and document .gitignore. 2010-12-17 17:22:50 +00:00
build-for-llvm-top.sh Patch to build llvm with srcdir != objdir from 2009-01-23 08:42:38 +00:00
CMakeLists.txt Change the next release number to 3.0svn. 2011-03-08 03:00:02 +00:00
configure Check that the AsmParser exists for the native target to enable initialization 2011-03-14 22:12:35 +00:00
CREDITS.TXT Another git svn dcommit test. This time let's hope it doesn't kill my repo. 2010-12-10 14:45:10 +00:00
LICENSE.TXT 2010 is upon us. 2010-01-09 18:40:31 +00:00
llvm.spec.in
Makefile Merge System into Support. 2010-11-29 18:16:10 +00:00
Makefile.common
Makefile.config.in autoconf: Add --disable-embed-stdcxx to suppress linking libstdc++.a into llvm.dll with --enable-shared on Cygming. 2010-12-29 03:59:14 +00:00
Makefile.rules Makefile.rules: [PR2928] "make install" may install include files along explicit pattern, not to install CMake's building stuff. 2011-03-09 09:11:27 +00:00
ModuleInfo.txt Remove trailing space. This is just an excuse to poke the 2010-10-05 20:32:15 +00:00
README.txt Test commit. 2011-02-11 19:11:57 +00:00

Low Level Virtual Machine (LLVM)
================================

This directory and its subdirectories contain source code for the Low Level
Virtual Machine, a toolkit for the construction of highly optimized compilers,
optimizers, and runtime environments.

LLVM is open source software. You may freely distribute it under the terms of
the license agreement found in LICENSE.txt.

Please see the HTML documentation provided in docs/index.html for further
assistance with LLVM.

If you're writing a package for LLVM, see docs/Packaging.html for our
suggestions.