llvm-project/llvm
David Green 9dd1d451d9 [AArch64] Add Tiny Code Model for AArch64
This adds the plumbing for the Tiny code model for the AArch64 backend. This,
instead of loading addresses through the normal ADRP;ADD pair used in the Small
model, uses a single ADR. The 21 bit range of an ADR means that the code and
its statically defined symbols need to be within 1MB of each other.

This makes it mostly interesting for embedded applications where we want to fit
as much as we can in as small a space as possible.

Differential Revision: https://reviews.llvm.org/D49673

llvm-svn: 340397
2018-08-22 11:31:39 +00:00
..
bindings [AArch64] Add Tiny Code Model for AArch64 2018-08-22 11:31:39 +00:00
cmake [cmake] Prevent LLVMgold.so from being unloaded on Linux 2018-08-16 15:12:12 +00:00
docs [AArch64] Add Tiny Code Model for AArch64 2018-08-22 11:31:39 +00:00
examples
include [AArch64] Add Tiny Code Model for AArch64 2018-08-22 11:31:39 +00:00
lib [AArch64] Add Tiny Code Model for AArch64 2018-08-22 11:31:39 +00:00
projects
resources
runtimes Revert "[CMake] Pass Clang defaults to runtimes builds" 2018-07-13 20:01:55 +00:00
test [AArch64] Add Tiny Code Model for AArch64 2018-08-22 11:31:39 +00:00
tools [llvm-mca] Improved code comments and moved some method definitions from Scheduler.h to Scheduler.cpp. NFC 2018-08-22 10:23:28 +00:00
unittests Revert "Revert rr340111 "[GISel]: Add Legalization/lowering code for bit counting operations"" 2018-08-21 17:30:31 +00:00
utils [WebAssembly] Add isEHScopeReturn instruction property 2018-08-21 19:44:11 +00:00
.arcconfig
.clang-format
.clang-tidy
.gitattributes
.gitignore
CMakeLists.txt Add cmake option to disable minidumps, default it to off 2018-08-20 16:49:54 +00:00
CODE_OWNERS.TXT Add owner for llvm-objcopy 2018-08-09 22:05:19 +00:00
CREDITS.TXT
LICENSE.TXT
LLVMBuild.txt
README.txt
RELEASE_TESTERS.TXT
configure
llvm.spec.in

README.txt

The LLVM Compiler Infrastructure
================================

This directory and its subdirectories contain source code for LLVM,
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 documentation provided in docs/ for further
assistance with LLVM, and in particular docs/GettingStarted.rst for getting
started with LLVM and docs/README.txt for an overview of LLVM's
documentation setup.

If you are writing a package for LLVM, see docs/Packaging.rst for our
suggestions.