HomePhabricator

[DAG] propagate FMF for all FPMathOperators

Description

[DAG] propagate FMF for all FPMathOperators

This is a simple hack based on what's proposed in D37686, but we can extend it if needed in follow-ups.
It gets us most of the FMF functionality that we want without adding any state bits to the flags. It
also intentionally leaves out non-FMF flags (nsw, etc) to minimize the patch.

It should provide a superset of the functionality from D46563 - the extra tests show propagation and
codegen diffs for fcmp, vecreduce, and FP libcalls.

The PPC log2() test shows the limits of this most basic approach - we only applied 'afn' to the last
node created for the call. AFAIK, there aren't any libcall optimizations based on the flags currently,
so that shouldn't make any difference.

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

Details

Committed
spatelMay 15 2018, 7:16 AM
Differential Revision
D46854: [DAG] propagate FMF for all FPMathOperators
Parents
rL332357: [X86] Split off F16C WriteCvtPH2PS/WriteCvtPS2PH scheduler classes
Branches
Unknown
Tags
Unknown