1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-25 12:12:47 +01:00
Go to file
Hans Wennborg b8bd41122a X86: Don't emit SAHF/LAHF for 64-bit targets unless explicitly supported
These instructions are not supported by all CPUs in 64-bit mode. Emitting them
causes Chromium to crash on start-up for users with such chips.

(GCC puts these instructions behind -msahf on 64-bit for the same reason.)

This patch adds FeatureLAHFSAHF, enables it by default for 32-bit targets
and modern CPUs, and changes X86InstrInfo::copyPhysReg back to the lowering
from before r244503 when the instructions are not available.

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

llvm-svn: 254793
2015-12-04 23:00:33 +00:00
autoconf [autoconf] Fix MinGW build 2015-11-28 00:54:12 +00:00
bindings Fix llvm-config to adapt to the install environment. 2015-11-09 23:15:38 +00:00
cmake [CMake] Fixing bots 2015-12-03 22:55:36 +00:00
docs Fix incorrect quote. NFC 2015-12-04 21:59:04 +00:00
examples [Orc] Fix Kaleidoscope example for change in r254693. 2015-12-04 02:32:32 +00:00
include [Orc] Move some code up into the JITCompileCallbackManager base class. NFC. 2015-12-04 22:09:19 +00:00
lib X86: Don't emit SAHF/LAHF for 64-bit targets unless explicitly supported 2015-12-04 23:00:33 +00:00
projects [CMake] Disable adding the test suite as a projects subdirectory 2015-10-28 18:36:56 +00:00
resources In MSVC builds embed a VERSIONINFO resource in our exe and DLL files. 2015-06-12 15:58:29 +00:00
test X86: Don't emit SAHF/LAHF for 64-bit targets unless explicitly supported 2015-12-04 23:00:33 +00:00
tools Add TransformUtils to list of required libraries for llc 2015-12-04 22:47:58 +00:00
unittests [Orc] Move some code up into the JITCompileCallbackManager base class. NFC. 2015-12-04 22:09:19 +00:00
utils [TableGen] Remove an assumption about the order of encodings in the MVT::SimpleValueType enum. Instead of assuming the types are sorted by size, scan the typeset arrays to find the smallest/largest type. NFC 2015-12-03 05:57:37 +00:00
.arcconfig
.clang-format
.clang-tidy
.gitignore Minor updates to gitignore so that symlinks are ignored in the projects dir. 2015-07-07 20:24:58 +00:00
CMakeLists.txt [CMake] Add option LLVM_EXTERNALIZE_DEBUGINFO 2015-12-03 18:45:39 +00:00
CODE_OWNERS.TXT Friendly takeover of the Hexagon backend 2015-12-03 17:07:12 +00:00
configure [autoconf] Fix MinGW build 2015-11-28 00:54:12 +00:00
CREDITS.TXT [WebAssembly] Initial WebAssembly backend 2015-06-29 23:51:55 +00:00
LICENSE.TXT Update for a new year. 2015-03-12 01:25:29 +00:00
llvm.spec.in [Sparc] Implement i64 load/store support for 32-bit sparc. 2015-08-10 19:11:39 +00:00
LLVMBuild.txt
Makefile
Makefile.common
Makefile.config.in We're actually -Wmissing-field-initializers clean thanks to the cmake 2015-08-07 16:44:47 +00:00
Makefile.rules Create Makefile variables for 'share' and 'libexec' 2015-11-09 16:10:00 +00:00
README.txt Test commit after password reset 2015-11-11 19:24:08 +00:00

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.