1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-23 03:02:36 +01:00
llvm-mirror/unittests
Sanjay Patel 06a326f643 [IR] allow fast-math-flags on phi of FP values
The changes here are based on the corresponding diffs for allowing FMF on 'select':
D61917

As discussed there, we want to have fast-math-flags be a property of an FP value
because the alternative (having them on things like fcmp) leads to logical
inconsistency such as:
https://bugs.llvm.org/show_bug.cgi?id=38086

The earlier patch for select made almost no practical difference because most
unoptimized conditional code begins life as a phi (based on what I see in clang).
Similarly, I don't expect this patch to do much on its own either because
SimplifyCFG promptly drops the flags when converting to select on a minimal
example like:
https://bugs.llvm.org/show_bug.cgi?id=39535

But once we have this plumbing in place, we should be able to wire up the FMF
propagation and start solving cases like that.

The change to RecurrenceDescriptor::AddReductionVar() is required to prevent a
regression in a LoopVectorize test. We are intersecting the FMF of any
FPMathOperator there, so if a phi is not properly annotated, new math
instructions may not be either. Once we fix the propagation in SimplifyCFG, it
may be safe to remove that hack.

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

llvm-svn: 372866
2019-09-25 13:14:12 +00:00
..
ADT [ADT] Add StringMap::insert_or_assign 2019-09-25 04:58:02 +00:00
Analysis [SCEV] Disable canonical expansion for non-affine addrecs. 2019-09-24 23:21:07 +00:00
AsmParser
BinaryFormat [BinaryFormat] Teach identify_magic about Tapi files. 2019-08-21 21:00:16 +00:00
Bitcode Add AutoUpgrade function to add new address space datalayout string to existing datalayouts. 2019-09-18 22:15:58 +00:00
Bitstream [Bitcode] Move Bitstream to a separate library 2019-07-03 22:40:07 +00:00
CodeGen GlobalISel: Add G_FMAD instruction 2019-09-06 20:49:10 +00:00
DebugInfo Fix buildbots. 2019-09-17 20:31:01 +00:00
Demangle
ExecutionEngine [Orc] Address the remaining move-capture FIXMEs 2019-09-13 11:35:33 +00:00
FuzzMutate [llvm] Migrate llvm::make_unique to std::make_unique 2019-08-15 15:54:37 +00:00
IR [IR] allow fast-math-flags on phi of FP values 2019-09-25 13:14:12 +00:00
LineEditor
Linker [llvm] Migrate llvm::make_unique to std::make_unique 2019-08-15 15:54:37 +00:00
MC [MC] Fix undefined behavior in MCInstPrinter::formatHex 2019-09-06 01:13:32 +00:00
MI
Object
ObjectYAML [yaml2obj/ObjectYAML] - Cleanup the error reporting API, add custom errors handlers. 2019-09-13 16:00:16 +00:00
Option
Passes
ProfileData [SampleFDO] Add profile symbol list section to discriminate function being 2019-08-31 02:27:26 +00:00
Remarks [Remarks] Allow remarks::Format::YAML to take a string table 2019-09-16 22:45:17 +00:00
Support [Alignment] Add a None() member function 2019-09-18 09:24:40 +00:00
Target [ARM][MVE] Add invalidForTailPredication to TSFlags 2019-09-17 07:43:04 +00:00
TextAPI [TextAPI] Add New Supported Platforms 2019-09-23 15:28:02 +00:00
tools Revert CMake: Make most target symbols hidden by default 2019-06-11 03:21:13 +00:00
Transforms Fix for "DICompileUnit not listed in llvm.dbg.cu" verification error after ... 2019-08-28 21:27:50 +00:00
XRay [llvm] Migrate llvm::make_unique to std::make_unique 2019-08-15 15:54:37 +00:00
CMakeLists.txt [Bitcode] Move Bitstream to a separate library 2019-07-03 22:40:07 +00:00
unittest.cfg.in