[SimplifyCFG] propagate fast-math-flags (FMF) from phi to select
authorSanjay Patel <spatel@rotateright.com>
Fri, 15 Nov 2019 21:06:43 +0000 (16:06 -0500)
committerSanjay Patel <spatel@rotateright.com>
Fri, 15 Nov 2019 21:14:35 +0000 (16:14 -0500)
commitee0882bdf866ad8877dfda3820a822c851d0733a
tree9e9535a3ba357ec66706cca576ce472152c7d946
parent782392db8122cafb5e0e4ad5fe0c24c46f11b2b7
[SimplifyCFG] propagate fast-math-flags (FMF) from phi to select

This is another step towards having FMF apply only to FP values
rather than those + fcmp. See PR38086 for one of the original
discussions/motivations:
https://bugs.llvm.org/show_bug.cgi?id=38086

And the test here is derived from PR39535:
https://bugs.llvm.org/show_bug.cgi?id=39535

Currently, we lose FMF when converting any phi to select in
SimplifyCFG. There are a small number of similar changes needed
to correct within SimplifyCFG, so it should be quick to patch
this pass up.

FMF was extended to select and phi with:
D61917
D67564

Differential Revision: https://reviews.llvm.org/D70208
llvm/lib/Transforms/Utils/SimplifyCFG.cpp
llvm/test/Transforms/SimplifyCFG/HoistCode.ll