LLVM backend for 6502
Go to file
Eric Christopher 4e8af6db18 Rewrite how the indirect call bonus is handled. This now works by:
a) Making it a per call site bonus for functions that we can move from
indirect to direct calls.
b) Reduces the bonus from 500 to 100 per call site.
c) Subtracts the size of the possible newly inlineable call from the
bonus to only add a bonus if we can inline a small function to devirtualize
it.

Also changes the bonus from a positive that's subtracted to a negative
that's added.

Fixes the remainder of rdar://8546196 by reducing the object file size
after inlining by 84%.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124916 91177308-0d34-0410-b5e6-96231b3b80d8
2011-02-05 00:49:15 +00:00
autoconf configure: Add checks for <sys/uio.h> and writev(). 2011-02-03 02:39:58 +00:00
bindings
cmake LLVM_ON_WIN32 is not defined on config-ix.cmake. Use something else. 2011-02-04 05:40:04 +00:00
docs Update docs to match reality. 2011-02-03 00:22:17 +00:00
examples
include Rewrite how the indirect call bonus is handled. This now works by: 2011-02-05 00:49:15 +00:00
lib Rewrite how the indirect call bonus is handled. This now works by: 2011-02-05 00:49:15 +00:00
projects
runtime
test Merge .debug_loc entries whenever possible to reduce debug_loc size. 2011-02-04 22:57:18 +00:00
tools Don't tell the linker about available_externally definitions. If we do, it will 2011-02-01 00:41:51 +00:00
unittests build: Add MAKEFILE_UNITTEST_NO_INCLUDE_COMMON build variable, to be leveraged 2011-02-04 17:12:18 +00:00
utils MC/AsmMatcher: Sink ConvertToMCInst into the TargetAsmParser instance, which 2011-02-04 23:17:40 +00:00
website
.gitignore
build-for-llvm-top.sh
CMakeLists.txt Moved to Clang's source tree its configuration options and associated 2011-02-03 22:47:59 +00:00
configure Regenerate configure. 2011-02-03 02:40:02 +00:00
CREDITS.TXT
LICENSE.TXT
llvm.spec.in
Makefile
Makefile.common
Makefile.config.in
Makefile.rules Factor the computation of the basename of libraries. This avoids renaming 2011-02-03 22:01:15 +00:00
ModuleInfo.txt
README.txt

\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.