[FPEnv][ARM] Don't call mutateStrictFPToFP when lowering
authorJohn Brawn <john.brawn@arm.com>
Mon, 17 Feb 2020 16:55:32 +0000 (16:55 +0000)
committerJohn Brawn <john.brawn@arm.com>
Mon, 17 Feb 2020 18:19:25 +0000 (18:19 +0000)
commit594a89f7270da74c89f2321432bc6a7135773fa5
tree1b2e4c5e43be03da8af85c4190c2512f5adf80ac
parent3eaa53e80543813a2274391956e91d275950fbf8
[FPEnv][ARM] Don't call mutateStrictFPToFP when lowering

mutateStrictFPToFP can delete the node and replace it with another with the same
value which can later cause problems, and returning the result of
mutateStrictFPToFP doesn't work because SelectionDAGLegalize expects that the
returned value has the same number of results as the original. Instead handle
things by doing the mutation manually.

Differential Revision: https://reviews.llvm.org/D74726
llvm/lib/Target/ARM/ARMISelLowering.cpp
llvm/test/CodeGen/ARM/fp-intrinsics.ll