llvm-project/llvm
Weiming Zhao 665784f170 [ARM] Expand long shifts for Thumb1 to __aeabi_ calls
Summary: For long shifts, the inlined version takes about 20 instructions on Thumb1. To avoid the code bloat, expand to __aeabi_ calls if target is Thumb1.

Reviewers: samparker

Reviewed By: samparker

Subscribers: samparker, aemerson, javed.absar, kristof.beyls, llvm-commits

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

llvm-svn: 323354
2018-01-24 18:00:57 +00:00
..
bindings [bindings/go] fix vet errors 2017-12-28 04:10:09 +00:00
cmake [cmake] Don't build Native llvm-config when cross compiling if passed by user. 2018-01-21 00:29:00 +00:00
docs Reverted 323321. 2018-01-24 14:48:49 +00:00
examples PR35705: Fix Chapter 9 example code for API changes to DIBuilder 2017-12-20 19:36:54 +00:00
include [ThinLTO] Add call edges' relative block frequency to per-module summary. 2018-01-24 17:51:23 +00:00
lib [ARM] Expand long shifts for Thumb1 to __aeabi_ calls 2018-01-24 18:00:57 +00:00
projects [cmake] Support moving debuginfo-tests to llvm/projects 2017-12-12 17:06:08 +00:00
resources
runtimes [CMake] Support for cross-compilation when build runtimes 2018-01-08 23:50:59 +00:00
test [ARM] Expand long shifts for Thumb1 to __aeabi_ calls 2018-01-24 18:00:57 +00:00
tools [ThinLTO] Add call edges' relative block frequency to per-module summary. 2018-01-24 17:51:23 +00:00
unittests [globalisel] Introduce LegalityQuery to better encapsulate the legalizer decisions. NFC. 2018-01-24 17:17:46 +00:00
utils Fix typos of occurred and occurrence 2018-01-24 10:33:39 +00:00
.arcconfig [llvm] Set up .arcconfig to point to Diffusion L repository 2018-01-12 15:37:41 +00:00
.clang-format
.clang-tidy
.gitattributes
.gitignore
CMakeLists.txt [cmake] Fix typo in LLVM_UTILS_INSTALL_DIR definition. 2018-01-19 17:02:12 +00:00
CODE_OWNERS.TXT
CREDITS.TXT we have now https support for apt.llvm.org. Updating the URL 2018-01-18 19:57:35 +00:00
LICENSE.TXT
LLVMBuild.txt
README.txt
RELEASE_TESTERS.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.