HomePhabricator

[InstCombine] allow sin/cos transforms with 'reassoc'

Description

[InstCombine] allow sin/cos transforms with 'reassoc'

The variable name 'AllowReassociate' is a lie at this point because
it's set to 'isFast()' which is more than the 'reassoc' FMF after
rL317488.

In D41286, we showed that this transform may be valid even with strict
math by brute force checking every 32-bit float result.

There's a potential problem here because we're replacing with a tan()
libcall rather than a hypothetical LLVM tan intrinsic. So we might
set errno when we should be guaranteed not to do that. But that's
independent of this change.

Details

Committed
spatelFeb 15 2018, 7:07 AM
Parents
rL325246: Enable test/asan for NetBSD
Branches
Unknown
Tags
Unknown