llvm-project/llvm/lib
Andrew Kaylor 709f1c2a9b [X86] Add MXCSR register
This adds MXCSR to the set of recognized registers for X86 targets and updates the instructions that read or write it. I do not intend for all of the various floating point instructions that implicitly use the control bits or update the status bits of this register to ever have that usage modeled by default. However, when constrained floating point modes (such as strict FP exception status modeling or dynamic rounding modes) are enabled, implicit use/def information for MXCSR will be added to those instructions.

Until those additional updates are made this should cause (almost?) no functional changes. Theoretically, this will prevent instructions like LDMXCSR and STMXCSR from being moved past one another, but that should be prevented anyway and I haven't found a case where it is happening now.

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

llvm-svn: 295004
2017-02-13 23:38:52 +00:00
..
Analysis [ValueTracking] use nonnull argument attribute to eliminate null checks 2017-02-12 15:35:34 +00:00
AsmParser Change debug-info-for-profiling from a TargetOption to a function attribute. 2017-02-01 22:45:09 +00:00
Bitcode Move symbols from the global namespace into (anonymous) namespaces. NFC. 2017-02-11 11:06:55 +00:00
CodeGen GlobalISel: represent atomic loads & stores via the MachineMemOperand. 2017-02-13 22:14:16 +00:00
DebugInfo Add an additional set of braces to deal with subobject initialization. 2017-02-10 00:02:09 +00:00
Demangle Add support for demangling C++11 thread_local variables. 2017-01-31 15:56:36 +00:00
ExecutionEngine [CMake] Fix pthread handling for out-of-tree builds 2017-02-10 01:59:20 +00:00
Fuzzer [libFuzzer] Use stoull instead of stol to ensure 64 bits. 2017-02-10 18:44:14 +00:00
IR Encode duplication factor from loop vectorization and loop unrolling to discriminator. 2017-02-10 21:09:07 +00:00
IRReader Timer: Track name and description. 2016-11-18 19:43:18 +00:00
LTO [LTO] Make sure we flush buffers to work around linker shenanigans. 2017-02-13 14:39:51 +00:00
LibDriver LibDriver: Allow resource files to be archive members. 2016-12-15 19:37:46 +00:00
LineEditor
Linker IRMover: Merge flags LinkModuleInlineAsm and IsPerformingImport. 2017-02-03 17:01:14 +00:00
MC [MC] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2017-02-11 00:27:28 +00:00
Object Yet another fix llvm-objdump so it picks a good CPU based for Mach-O files, 2017-02-10 19:27:10 +00:00
ObjectYAML Move symbols from the global namespace into (anonymous) namespaces. NFC. 2017-02-11 11:06:55 +00:00
Option Cleanup dump() functions. 2017-01-28 02:02:38 +00:00
Passes [PM] Hook up the instrumented PGO machinery in the new PM. 2017-02-13 15:26:22 +00:00
ProfileData Cleanup dump() functions. 2017-01-28 02:02:38 +00:00
Support [CMake] Fix pthread handling for out-of-tree builds 2017-02-10 01:59:20 +00:00
TableGen Use print() instead of dump() in code 2017-01-28 02:47:46 +00:00
Target [X86] Add MXCSR register 2017-02-13 23:38:52 +00:00
Transforms [FunctionAttrs] try to extend nonnull-ness of arguments from a callsite back to its parent function 2017-02-13 23:10:51 +00:00
XRay Move symbols from the global namespace into (anonymous) namespaces. NFC. 2017-02-11 11:06:55 +00:00
CMakeLists.txt [XRay] Define the library for XRay trace logs 2017-01-11 06:39:09 +00:00
LLVMBuild.txt Add an c++ itanium demangler to llvm. 2016-09-06 19:16:48 +00:00