Ulrich Weigand c3d05c1b52 [SelectionDAG] Expand nnan FMINNUM/FMAXNUM to select sequence
InstCombine may synthesize FMINNUM/FMAXNUM nodes from fcmp+select
sequences (where the fcmp is marked nnan).  Currently, if the
target does not otherwise handle these nodes, they'll get expanded
to libcalls to fmin/fmax.  However, these functions may reside in
libm, which may introduce a library dependency that was not originally
present in the source code, potentially resulting in link failures.

To fix this problem, add code to TargetLowering::expandFMINNUM_FMAXNUM
to expand FMINNUM/FMAXNUM to a compare+select sequence instead of the
libcall. This is done only if the node is marked as "nnan"; in this case,
the expansion to compare+select is always correct. This also suffices to
catch all cases where FMINNUM/FMAXNUM was synthesized as above.

Differential Revision: https://reviews.llvm.org/D70965
2019-12-04 10:32:35 +01:00
..
2018-07-20 12:12:10 +00:00
2018-07-20 12:12:10 +00:00
2018-07-20 12:12:10 +00:00
2018-07-20 12:12:10 +00:00
2018-07-20 12:12:10 +00:00
2019-11-20 19:08:27 +01:00
2019-11-20 19:08:27 +01:00
2019-11-20 19:08:27 +01:00
2019-11-20 19:08:27 +01:00
2018-10-27 15:00:38 +00:00
2018-10-27 15:00:38 +00:00
2019-11-20 19:08:27 +01:00
2019-11-20 19:08:27 +01:00
2019-11-20 19:08:27 +01:00
2019-11-20 19:08:27 +01:00
2019-11-20 19:08:27 +01:00
2019-03-14 11:56:41 +00:00
2019-09-25 14:00:33 +00:00
2019-09-20 23:04:45 +00:00
2018-07-20 12:12:10 +00:00
2018-07-20 12:12:10 +00:00
2018-07-20 12:12:10 +00:00
2018-07-20 12:12:10 +00:00
2018-07-20 12:12:10 +00:00
2019-11-20 19:08:27 +01:00
2019-11-20 19:08:27 +01:00
2019-11-20 19:08:27 +01:00
2019-11-20 19:08:27 +01:00
2019-11-20 19:08:27 +01:00
2019-11-20 19:08:27 +01:00
2019-11-20 19:08:27 +01:00
2018-07-20 12:12:10 +00:00
2018-07-20 12:12:10 +00:00
2018-07-20 12:12:10 +00:00
2018-07-20 12:12:10 +00:00
2018-07-20 12:12:10 +00:00