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
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
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
build-for-llvm-top.sh
CMakeLists.txt
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
LICENSE.TXT
llvm.spec.in * llvm.spec.in: update blurb 2007-07-13 09:48:29 +00:00
Makefile
Makefile.common
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
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.