llvm-project/llvm
Renato Golin 3f126138a1 [ARM] Delay ARM constant pool creation. NFC.
This change adds a new constant pool kind to ARMOperand. When parsing the
operand for =immediate we create an instance of this operand rather than
creating a constant pool entry and rewriting the operand.

As the new operand kind is only created for ldr rt,= we can make ldr rt,=
an explicit pseudo instruction in ARM, Thumb and Thumb2

The pseudo instruction is expanded in processInstruction(). This creates the
constant pool and transforms the pseudo instruction into a pc-relative ldr to
the constant pool.

There are no functional changes and no modifications needed to existing tests.

Required by the patch that fixes PR25722.

Patch by Peter Smith.

llvm-svn: 269352
2016-05-12 21:22:31 +00:00
..
bindings Remove every uses of getGlobalContext() in LLVM (but the C API) 2016-04-14 21:59:01 +00:00
cmake [CMake] Add some extra variables to LLVMConfig.cmake.in 2016-05-10 19:45:17 +00:00
docs [Docs] clarify semantics of x.with.overflow intrinsics 2016-05-12 20:55:09 +00:00
examples [Orc] Rename OrcArchitectureSupport to OrcABISupport and add Win32 ABI support. 2016-05-07 03:36:38 +00:00
include Revert "LiveIntervalAnalysis: Rework constructMainRangeFromSubranges()" 2016-05-12 20:27:40 +00:00
lib [ARM] Delay ARM constant pool creation. NFC. 2016-05-12 21:22:31 +00:00
projects
resources
test Revert "LiveIntervalAnalysis: Rework constructMainRangeFromSubranges()" 2016-05-12 20:27:40 +00:00
tools llvm-dwp: Use llvm::Error to improve diagnostic quality/error handling in llvm-dwp 2016-05-12 19:59:54 +00:00
unittests [unittests] Use coveragemap_error in CoverageMappingReaderMock (NFC) 2016-05-12 19:01:11 +00:00
utils SDAG: Make SelectCodeCommon return void 2016-05-10 22:58:26 +00:00
.arcconfig
.clang-format
.clang-tidy Don't use misc-unused-parameters check on LLVM. 2016-04-13 08:58:52 +00:00
.gitignore
CMakeLists.txt Remove LLVM_ENABLE_TIMESTAMPS 2016-05-05 19:57:03 +00:00
CODE_OWNERS.TXT Update my email address. 2016-05-10 16:23:54 +00:00
CREDITS.TXT Update my email address. 2016-05-10 16:23:54 +00:00
LICENSE.TXT Update copyright year to 2016. 2016-03-30 22:41:06 +00:00
LLVMBuild.txt
README.txt
configure
llvm.spec.in

README.txt

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

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.