LLVM backend for 6502
Go to file
James Molloy cdd8e46bec Use literal pool loads instead of MOVW/MOVT for materializing global addresses when optimizing for size.
On spec/gcc, this caused a codesize improvement of ~1.9% for ARM mode and ~4.9% for Thumb(2) mode. This is
codesize including literal pools.

The pools themselves doubled in size for ARM mode and quintupled for Thumb mode, leaving suggestion that there
is still perhaps redundancy in LLVM's use of constant pools that could be decreased by sharing entries.

Fixes PR11087.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142530 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-19 14:11:07 +00:00
autoconf autoconf: Introduce --with-clang-srcdir, to build out-of-tree clang as tools/clang on tools/Makefile. 2011-10-16 02:54:26 +00:00
bindings OCaml bindings: add some missing functions and testcases. 2011-10-14 20:38:33 +00:00
cmake Add -D__STDC_FORMAT_MACROS to use PRIx64. 2011-10-11 12:51:44 +00:00
docs Document Paste 2011-10-19 13:04:59 +00:00
examples Changed comments on foreign C++ exceptions (generated with type info 7), 2011-09-28 10:53:56 +00:00
include Add NAME Member 2011-10-19 13:04:13 +00:00
lib Use literal pool loads instead of MOVW/MOVT for materializing global addresses when optimizing for size. 2011-10-19 14:11:07 +00:00
projects Regenerate projects/sample/configure. 2011-10-18 23:10:58 +00:00
runtime Include direct.h for _mkdir on mingw32 too. 2011-10-08 15:49:19 +00:00
test Use literal pool loads instead of MOVW/MOVT for materializing global addresses when optimizing for size. 2011-10-19 14:11:07 +00:00
tools llvm-objdump: Add static symbol table dumping. 2011-10-18 19:32:17 +00:00
unittests Enhance llvm::SourceMgr to support diagnostic ranges, the same way clang does. Enhance 2011-10-16 04:47:35 +00:00
utils Duncan pointed out that sometimes CC and CXX are used to specify the compiler. Also that the configure script takes care of finding an appropriate compiler if one's not specified. 2011-10-19 09:47:00 +00:00
.gitignore Revert change made in .gitignore. 2011-09-24 01:37:58 +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 Build system infrastructure for multiple tblgens. 2011-10-06 01:51:51 +00:00
configure autoconf: Introduce --with-clang-srcdir, to build out-of-tree clang as tools/clang on tools/Makefile. 2011-10-16 02:54:26 +00:00
CREDITS.TXT Claimed. 2011-09-19 05:34:10 +00:00
LICENSE.TXT Happy new year. 2011-06-12 15:26:54 +00:00
llvm.spec.in * llvm.spec.in: update blurb 2007-07-13 09:48:29 +00:00
Makefile Add clang-tblgen to OPTIONAL_DIRS when building native tools for the 2011-10-08 00:27:38 +00:00
Makefile.common Removed trailing whitespace from Makefiles. 2009-01-09 16:44:42 +00:00
Makefile.config.in build: Remove some unused code. 2011-10-18 19:27:04 +00:00
Makefile.rules Makefile.rules: Let OPTIONAL_PARALLEL_DIRS accept out-of-tree absolute path. 2011-10-16 02:54:19 +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-09-21 03:34:31 +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.