1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-25 20:23:11 +01:00
llvm-mirror/lib/Transforms
Anna Thomas ce71877c5e [LoopVectorize] Fix assertion failure in Fcmp vectorization
Summary:
When vectorizing fcmps we can trip on incorrect cast assertion when setting the
FastMathFlags after generating the vectorized FCmp.
This can happen if the FCmp can be folded to true or false directly. The fix
here is to set the FastMathFlag using the FastMathFlagBuilder *before* creating
the FCmp Instruction. This is what's done by other optimizations such as
InstCombine.
Added a test case which trips on cast assertion without this patch.

Reviewers: Ayal, mssimpso, mkuper, gilr

Reviewed by: Ayal, mssimpso

Subscribers: llvm-commits, mzolotukhin

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

llvm-svn: 310389
2017-08-08 18:07:44 +00:00
..
Coroutines Remove inline keyword from inline classof methods 2017-06-29 19:35:17 +00:00
Hello
InstCombine [InstCombine] Cast to BinaryOperator earlier in foldSelectIntoOp to simplify the code. 2017-08-08 06:19:24 +00:00
Instrumentation [asan] Fix asan dynamic shadow check before copyArgsPassedByValToAllocas 2017-08-07 07:35:33 +00:00
IPO [ArgPromotion] Preserve alignment of byval argument in new alloca 2017-08-04 17:09:11 +00:00
ObjCARC Sort the remaining #include lines in include/... and lib/.... 2017-06-06 11:49:48 +00:00
Scalar [PM] Fix new LoopUnroll function pass by invalidating loop analysis 2017-08-08 02:24:20 +00:00
Utils [Cloning] Move distinct GlobalVariable debug info metadata in CloneModule 2017-08-03 09:23:03 +00:00
Vectorize [LoopVectorize] Fix assertion failure in Fcmp vectorization 2017-08-08 18:07:44 +00:00
CMakeLists.txt
LLVMBuild.txt