1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-25 04:02:41 +01:00
llvm-mirror/unittests/IR
Thomas Lively d4d27c08f9 [Intrinsic] Add llvm.minimum and llvm.maximum instrinsic functions
Summary:
These new intrinsics have the semantics of the `minimum` and `maximum`
operations specified by the latest draft of IEEE 754-2018. Unlike
llvm.minnum and llvm.maxnum, these new intrinsics propagate NaNs and
always treat -0.0 as less than 0.0. `minimum` and `maximum` lower
directly to the existing `fminnan` and `fmaxnan` ISel DAG nodes. It is
safe to reuse these DAG nodes because before this patch were only
emitted in situations where there were known to be no NaN arguments or
where NaN propagation was correct and there were known to be no zero
arguments. I know of only four backends that lower fminnan and
fmaxnan: WebAssembly, ARM, AArch64, and SystemZ, and each of these
lowers fminnan and fmaxnan to instructions that are compatible with
the IEEE 754-2018 semantics.

Reviewers: aheejin, dschuff, sunfish, javed.absar

Subscribers: kristof.beyls, dexonsmith, kristina, llvm-commits

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

llvm-svn: 344437
2018-10-13 07:21:44 +00:00
..
AsmWriterTest.cpp
AttributesTest.cpp [Attributes] Fix a bug in AttributeList::get so it can handle a mix of FunctionIndex and ReturnIndex/arg indices at the same time 2018-04-16 17:05:01 +00:00
BasicBlockTest.cpp [STLExtras] Add size() for ranges, and remove distance() 2018-05-16 23:20:42 +00:00
CFGBuilder.cpp Rename DEBUG macro to LLVM_DEBUG. 2018-05-14 12:53:11 +00:00
CFGBuilder.h
CMakeLists.txt [Dominators] Remove the DeferredDominance class 2018-08-11 08:12:07 +00:00
ConstantRangeTest.cpp [ConstantRange] Add support of mul in makeGuaranteedNoWrapRegion. 2018-06-26 18:54:10 +00:00
ConstantsTest.cpp Fix a bunch of places where operator-> was used directly on the return from dyn_cast. 2018-05-05 01:57:00 +00:00
DebugInfoTest.cpp
DebugTypeODRUniquingTest.cpp
DominatorTreeBatchUpdatesTest.cpp [DomTree] Cleanup Update and LegalizeUpdate API moved to Support header. 2018-08-14 17:12:30 +00:00
DominatorTreeTest.cpp [Dominators] Change getNode parameter type to const NodeT * (NFC). 2018-06-16 14:47:05 +00:00
DomTreeUpdaterTest.cpp [Dominators] Refine the logic of recalculate() in the DomTreeUpdater 2018-08-03 06:51:35 +00:00
FunctionTest.cpp
InstructionsTest.cpp [IR] add shuffle query for vector concatenation 2018-09-20 15:21:52 +00:00
IntrinsicsTest.cpp
IRBuilderTest.cpp [Intrinsic] Add llvm.minimum and llvm.maximum instrinsic functions 2018-10-13 07:21:44 +00:00
LegacyPassManagerTest.cpp allow custom OptBisect classes set to LLVMContext 2018-04-05 10:29:37 +00:00
ManglerTest.cpp
MDBuilderTest.cpp
MetadataTest.cpp Emit template type and value parameter DIEs for template variables. 2018-10-03 18:44:53 +00:00
ModuleTest.cpp
PassBuilderCallbacksTest.cpp [New PM][PassInstrumentation] Adding PassInstrumentation to the AnalysisManager runs 2018-09-21 22:10:17 +00:00
PassManagerTest.cpp [New PM] Introducing PassInstrumentation framework 2018-09-20 17:08:45 +00:00
PatternMatch.cpp [PatternMatch] Add m_Store pattern match helper 2018-06-20 07:27:45 +00:00
TypeBuilderTest.cpp
TypesTest.cpp
UserTest.cpp
UseTest.cpp
ValueHandleTest.cpp
ValueMapTest.cpp s/LLVM_ON_WIN32/_WIN32/, llvm 2018-04-29 00:45:03 +00:00
ValueTest.cpp [MIR] Making MIR Printing, opt -dot-cfg, and -debug printing faster 2018-03-22 21:29:07 +00:00
VerifierTest.cpp
WaymarkTest.cpp