1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-25 04:02:41 +01:00
llvm-mirror/unittests/IR
Jay Foad 9a5af2ea92 [IR] Allow fast math flags on calls with floating point array type.
Summary:
This extends the rules for when a call instruction is deemed to be an
FPMathOperator, which is based on the type of the call (i.e. the return
type of the function being called). Previously we only allowed
floating-point and vector-of-floating-point types. Now we also allow
arrays (nested to any depth) of floating-point and
vector-of-floating-point types.

This was motivated by llpc, the pipeline compiler for AMD GPUs
(https://github.com/GPUOpen-Drivers/llpc). llpc has many math library
functions that operate on vectors, typically represented as <4 x float>,
and some that operate on matrices, typically represented as
[4 x <4 x float>], and it's useful to be able to decorate calls to all
of them with fast math flags.

Reviewers: spatel, wristow, arsenm, hfinkel, aemerson, efriedma, cameron.mcinally, mcberg2017, jmolloy

Subscribers: wdng, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D69161
2019-10-30 14:00:33 +00:00
..
AsmWriterTest.cpp IR: Cleanup after test to silence ASAN builds 2019-08-03 15:40:00 +00:00
AttributesTest.cpp [Alignment][NFC] Attributes use Align/MaybeAlign 2019-10-22 09:51:06 +00:00
BasicBlockTest.cpp [FastISel] Fix insertion of unconditional branches during FastISel 2019-09-20 13:22:59 +00:00
CFGBuilder.cpp [llvm] Migrate llvm::make_unique to std::make_unique 2019-08-15 15:54:37 +00:00
CFGBuilder.h
CMakeLists.txt Scalable Vector IR Type with further LTO fixes 2019-07-05 12:48:16 +00:00
ConstantRangeTest.cpp [ConstantRange] makeGuaranteedNoWrapRegion(): shl support 2019-10-20 19:36:55 +00:00
ConstantsTest.cpp [Alignment][NFC] Remove dependency on GlobalObject::setAlignment(unsigned) 2019-10-15 11:24:36 +00:00
DataLayoutTest.cpp [Alignment][NFC] Add a helper function to DataLayout 2019-10-21 13:58:33 +00:00
DebugInfoTest.cpp
DebugTypeODRUniquingTest.cpp
DominatorTreeBatchUpdatesTest.cpp
DominatorTreeTest.cpp
FunctionTest.cpp [Alignment][NFC] Value::getPointerAlignment returns MaybeAlign 2019-10-15 13:58:22 +00:00
InstructionsTest.cpp [IR] Allow fast math flags on calls with floating point array type. 2019-10-30 14:00:33 +00:00
IntrinsicsTest.cpp
IRBuilderTest.cpp [FPEnv] Teach the IRBuilder about correct use of the strictfp attribute. 2019-10-25 12:57:52 -04:00
LegacyPassManagerTest.cpp
ManglerTest.cpp
MDBuilderTest.cpp
MetadataTest.cpp Print quoted backslashes in LLVM IR as \\ instead of \5C 2019-10-10 18:31:57 +00:00
ModuleTest.cpp Prune Pass.h include from DataLayout.h. NFCI 2019-10-21 17:51:54 +00:00
PassBuilderCallbacksTest.cpp Change TargetLibraryInfo analysis passes to always require Function 2019-09-07 03:09:36 +00:00
PassManagerTest.cpp
PatternMatch.cpp [PatternMatch] Add m_SExtOrSelf(), m_ZExtOrSExtOrSelf() matchers + unittests 2019-09-27 21:53:04 +00:00
TimePassesTest.cpp [llvm] Migrate llvm::make_unique to std::make_unique 2019-08-15 15:54:37 +00:00
TypesTest.cpp
UserTest.cpp
UseTest.cpp
ValueHandleTest.cpp
ValueMapTest.cpp Replace non-recursive sys::Mutex users with std::mutex 2019-08-07 11:59:44 +00:00
ValueTest.cpp [Alignment][NFC] Remove dependency on GlobalObject::setAlignment(unsigned) 2019-10-15 11:24:36 +00:00
VectorTypesTest.cpp [SVE][IR] Scalable Vector size queries and IR instruction support 2019-10-08 12:53:54 +00:00
VerifierTest.cpp
WaymarkTest.cpp