[all-commits] [llvm/llvm-project] 498b53: [SelectionDAGBuilder][FPEnv] Take into account Sel...
topperc via All-commits
all-commits at lists.llvm.org
Wed Mar 18 13:38:17 PDT 2020
Branch: refs/heads/master
Home: https://github.com/llvm/llvm-project
Commit: 498b53890d810676ccf05508f0296a0265308aca
https://github.com/llvm/llvm-project/commit/498b53890d810676ccf05508f0296a0265308aca
Author: Craig Topper <craig.topper at intel.com>
Date: 2020-03-18 (Wed, 18 Mar 2020)
Changed paths:
M llvm/include/llvm/CodeGen/SelectionDAG.h
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/test/CodeGen/X86/fp-intrinsics-flags.ll
Log Message:
-----------
[SelectionDAGBuilder][FPEnv] Take into account SelectionDAG continuous CSE when setting the nofpexcept flag for constrained intrinsics
SelectionDAG CSEs nodes based on their result type and operands, but not their flags. The flags are expected to be intersected when they are CSEd. In SelectionDAGBuilder, for FP nodes we manage both the fast math flags and the nofpexcept flag after the nodes have already been CSEd when they were created with getNode. The management of the fastmath flags before the constrained nodes prevents the nofpexcept management from working correctly.
This commit moves the FMF handling for constrained intrinsics into their visitor and disables the common FMF handling for these nodes.
Differential Revision: https://reviews.llvm.org/D75224
More information about the All-commits
mailing list