llvm-project/llvm
Diana Picus 575f2bb287 [ARM] Do not test for CPUs, use SubtargetFeatures. Also remove 1 flag
This is a follow-up for r273544.

The end goal is to get rid of the isSwift / isCortexXY / isWhatever methods.

This commit also removes a command line flag that isn't used in any of the tests:
check-vmlx-hazards. It can be replaced easily with the mattr mechanism, since
this is now a subtarget feature.

There is still some work left regarding FeatureExpandMLx. In the past MLx
expansion was enabled for subtargets with hasVFP2(), until r129775 [1] switched
from that to isCortexA9, without too much justification.

In spite of that, the code performing MLx expansion still contains calls to
isSwift/isLikeA9, although the results of those are pretty clear given that
we're only enabling it for the A9.

We should try to enable it for all targets that have FeatureHasVMLxHazards, as
it seems to be closely related to that behaviour, and if that is possible try to
clean up the MLx expansion pass from all calls to isWhatever. This will require
some performance testing, so it will be done in another patch.

[1] http://lists.llvm.org/pipermail/llvm-commits/Week-of-Mon-20110418/119725.html

Differential Revision: http://reviews.llvm.org/D21798

llvm-svn: 274742
2016-07-07 09:11:39 +00:00
..
bindings [OCaml] Add functions for accessing metadata nodes. 2016-06-22 03:30:24 +00:00
cmake [CMake] Adjust export_executable_symbols to cope with non-target link libraries 2016-07-05 13:16:54 +00:00
docs [llvm-cov] Add support for creating html reports 2016-07-06 21:44:05 +00:00
examples New Kaleidoscope chapter: Creating object files 2016-07-02 17:01:59 +00:00
include [LCG] Hoist the definitions of the stream operator friends to be inline 2016-07-07 07:52:07 +00:00
lib [ARM] Do not test for CPUs, use SubtargetFeatures. Also remove 1 flag 2016-07-07 09:11:39 +00:00
projects
resources
runtimes [CMake] Add LLVM runtimes directory 2016-06-23 22:07:21 +00:00
test [LoopAccessAnalysis] Fix an integer overflow 2016-07-07 06:24:36 +00:00
tools Minor formatting change, NFC 2016-07-06 22:02:55 +00:00
unittests [codeview] Add DISubprogram::ThisAdjustment 2016-07-01 02:41:21 +00:00
utils TableGen: avoid string copy. 2016-07-05 22:51:30 +00:00
.arcconfig
.clang-format
.clang-tidy
.gitignore [CMake] Add LLVM runtimes directory 2016-06-23 22:07:21 +00:00
CMakeLists.txt [CMake] Module builds depend on target intrinsics_gen to be built first. 2016-06-30 20:35:56 +00:00
CODE_OWNERS.TXT Transfer ownership of the gold plugin. 2016-07-05 20:49:50 +00:00
CREDITS.TXT
LICENSE.TXT
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.