hanchenye-llvm-project/llvm/lib/IR
Andrew Kaylor a0a1164ce4 Add intrinsics for constrained floating point operations
This commit introduces a set of experimental intrinsics intended to prevent
optimizations that make assumptions about the rounding mode and floating point
exception behavior.  These intrinsics will later be extended to specify
flush-to-zero behavior.  More work is also required to model instruction
dependencies in machine code and to generate these instructions from clang
(when required by pragmas and/or command line options that are not currently
supported).

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

llvm-svn: 293226
2017-01-26 23:27:59 +00:00
..
AsmWriter.cpp [DebugInfo] Added support for Checksum debug info feature. 2016-12-25 10:12:09 +00:00
AttributeImpl.h [ADT, IR] Fix some Clang-tidy modernize-use-equals-delete and Include What You Use warnings; other minor fixes (NFC). 2016-12-07 22:06:02 +00:00
AttributeSetNode.h [ADT, IR] Fix some Clang-tidy modernize-use-equals-delete and Include What You Use warnings; other minor fixes (NFC). 2016-12-07 22:06:02 +00:00
Attributes.cpp Kill deprecated attribute API 2016-11-06 07:48:46 +00:00
AttributesCompatFunc.td
AutoUpgrade.cpp [NVPTX] Auto-upgrade some NVPTX intrinsics to LLVM target-generic code. 2017-01-21 01:00:32 +00:00
BasicBlock.cpp [IR] Use const_cast to reuse the const version of two BasicBlock methods that are duplicated for both const and non-const. NFC 2017-01-22 06:53:04 +00:00
CMakeLists.txt [CMake] NFC. Updating CMake dependency specifications 2016-11-17 04:36:50 +00:00
Comdat.cpp
ConstantFold.cpp Replace APFloatBase static fltSemantics data members with getter functions 2016-12-14 11:57:17 +00:00
ConstantFold.h IR: Introduce inrange attribute on getelementptr indices. 2016-11-10 22:34:55 +00:00
ConstantRange.cpp Factor out common parts of LVI and Float2Int into ConstantRange [NFCI] 2016-12-01 20:08:47 +00:00
Constants.cpp Replace APFloatBase static fltSemantics data members with getter functions 2016-12-14 11:57:17 +00:00
ConstantsContext.h [ADT, IR] Fix some Clang-tidy modernize-use-equals-delete and Include What You Use warnings; other minor fixes (NFC). 2016-12-07 22:06:02 +00:00
Core.cpp Replace APFloatBase static fltSemantics data members with getter functions 2016-12-14 11:57:17 +00:00
DIBuilder.cpp [DebugInfo] Added DI macro creation API to DIBuilder. 2017-01-12 15:49:46 +00:00
DataLayout.cpp IR: Change the gep_type_iterator API to avoid always exposing the "current" type. 2016-12-02 02:24:42 +00:00
DebugInfo.cpp [IR] Remove the DIExpression field from DIGlobalVariable. 2016-12-20 02:09:43 +00:00
DebugInfoMetadata.cpp [DebugInfo] Added support for Checksum debug info feature. 2016-12-25 10:12:09 +00:00
DebugLoc.cpp
DiagnosticInfo.cpp New OptimizationRemarkEmitter pass for MIR 2017-01-25 23:20:33 +00:00
DiagnosticPrinter.cpp
Dominators.cpp Revert "Do not verify dominator tree if it has no roots" 2017-01-25 17:15:48 +00:00
Function.cpp Speed up Function::isIntrinsic() by adding a bit to GlobalValue. NFC 2016-12-28 22:59:45 +00:00
GCOV.cpp
GVMaterializer.cpp
Globals.cpp Move the section name from GlobalObject to the LLVMContext 2017-01-10 23:23:58 +00:00
IRBuilder.cpp
IRPrintingPasses.cpp
InlineAsm.cpp
Instruction.cpp
Instructions.cpp fix comment formatting; NFC 2016-11-16 18:09:44 +00:00
IntrinsicInst.cpp Add intrinsics for constrained floating point operations 2017-01-26 23:27:59 +00:00
LLVMBuild.txt
LLVMContext.cpp IR, X86: Understand !absolute_symbol metadata on global variables. 2016-12-08 19:01:00 +00:00
LLVMContextImpl.cpp
LLVMContextImpl.h Move the section name from GlobalObject to the LLVMContext 2017-01-10 23:23:58 +00:00
LegacyPassManager.cpp Reverted: Track validity of pass results 2017-01-15 10:23:18 +00:00
MDBuilder.cpp
Mangler.cpp
Metadata.cpp [IR] Remove the DIExpression field from DIGlobalVariable. 2016-12-20 02:09:43 +00:00
MetadataImpl.h
Module.cpp Bitcode: Change the materializer interface to return llvm::Error. 2016-11-09 17:49:19 +00:00
ModuleSummaryIndex.cpp
Operator.cpp IR: Change the gep_type_iterator API to avoid always exposing the "current" type. 2016-12-02 02:24:42 +00:00
OptBisect.cpp
Pass.cpp Reverted: Track validity of pass results 2017-01-15 10:23:18 +00:00
PassManager.cpp [PM] Introduce an analysis set used to preserve all analyses over 2017-01-15 06:32:49 +00:00
PassRegistry.cpp
ProfileSummary.cpp
Statepoint.cpp
SymbolTableListTraitsImpl.h
Type.cpp IR: Move NumElements field from {Array,Vector}Type to SequentialType. 2016-12-02 03:20:58 +00:00
TypeFinder.cpp
Use.cpp
User.cpp
Value.cpp [IR] Don't call assertModuleIsMaterialized in release builds 2017-01-13 06:26:18 +00:00
ValueSymbolTable.cpp
ValueTypes.cpp
Verifier.cpp Add intrinsics for constrained floating point operations 2017-01-26 23:27:59 +00:00