llvm-project/llvm
Simon Pilgrim 8eb4d25a09 [X86] Split X87/SSE compare classes into WriteFCom + WriteFComX
Most X87 compare instructions write to the X87 status word, while the SSE (U)COMI compares write to rFLAGS. These are often handled very differently on CPUs (e.g. rFLAGS outputs typically involve a fpu2gpr transfer), and we shouldn't be grouping all these instructions behind a single class - so this patch splits off the SSE compares into a new WriteFComX class (and currently keeps the same behaviours). If there's a need to distinguish between X87 instructions more closely we can investigate that in the future, but as we don't handle any of the X87 side effects at the moment its unlikely to have any notable effect.
2020-01-17 13:53:58 +00:00
..
benchmarks
bindings [NFC] Fix trivial typos in comments 2020-01-06 10:50:26 +00:00
cmake Make LLVM_APPEND_VC_REV=OFF affect clang, lld, and lldb as well. 2020-01-16 19:04:08 -05:00
docs [docs][ORC] Try to fix 'title-level inconsistent' error in ORCv2.rst. 2020-01-16 21:46:35 -08:00
examples [ORC] Simplify use of lazyReexports with LLJIT. 2020-01-15 08:02:53 -08:00
include [ARM][MVE] Tail Predicate IsSafeToRemove 2020-01-17 13:19:14 +00:00
lib [X86] Split X87/SSE compare classes into WriteFCom + WriteFComX 2020-01-17 13:53:58 +00:00
projects
resources
runtimes
test [ARM][MVE] Tail Predicate IsSafeToRemove 2020-01-17 13:19:14 +00:00
tools [llvm-exegesis][mips] Add support for memory instructions 2020-01-17 13:26:09 +01:00
unittests [IR] fix Constant::isElementWiseEqual() to allow for all undef elements compare 2020-01-17 08:31:16 -05:00
utils [gn build] Port 42a0355816 2020-01-17 13:44:44 +00:00
.arcconfig
.clang-format
.clang-tidy
.gitattributes
.gitignore
CMakeLists.txt Bump the trunk major version to 11 2020-01-15 13:38:01 +01:00
CODE_OWNERS.TXT [VE] Target stub for NEC SX-Aurora 2020-01-09 11:17:35 +01: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.