diff options
| author | Matt Arsenault <Matthew.Arsenault@amd.com> | 2019-10-28 16:06:34 -0700 |
|---|---|---|
| committer | Matt Arsenault <arsenm2@gmail.com> | 2019-10-31 22:32:45 -0700 |
| commit | 622176705550d5af5e2837f4b2188ce9f7590887 (patch) | |
| tree | 0889569d2c15eb5789214dba2a09856955d1c28b /llvm/lib/Target | |
| parent | a07019a275cd0deb59433ac59e4faa85d0722822 (diff) | |
| download | bcm5719-llvm-622176705550d5af5e2837f4b2188ce9f7590887.tar.gz bcm5719-llvm-622176705550d5af5e2837f4b2188ce9f7590887.zip | |
DAG: Add DAG argument to isFPExtFoldable
For AMDGPU this is dependent on the FP mode, which should eventually
not be a property of the subtarget.
Diffstat (limited to 'llvm/lib/Target')
| -rw-r--r-- | llvm/lib/Target/AMDGPU/SIISelLowering.cpp | 4 | ||||
| -rw-r--r-- | llvm/lib/Target/AMDGPU/SIISelLowering.h | 3 |
2 files changed, 4 insertions, 3 deletions
diff --git a/llvm/lib/Target/AMDGPU/SIISelLowering.cpp b/llvm/lib/Target/AMDGPU/SIISelLowering.cpp index b1018e8538e..47d10afa895 100644 --- a/llvm/lib/Target/AMDGPU/SIISelLowering.cpp +++ b/llvm/lib/Target/AMDGPU/SIISelLowering.cpp @@ -761,8 +761,8 @@ const GCNSubtarget *SITargetLowering::getSubtarget() const { // // There is only one special case when denormals are enabled we don't currently, // where this is OK to use. -bool SITargetLowering::isFPExtFoldable(unsigned Opcode, - EVT DestVT, EVT SrcVT) const { +bool SITargetLowering::isFPExtFoldable(const SelectionDAG &DAG, unsigned Opcode, + EVT DestVT, EVT SrcVT) const { return ((Opcode == ISD::FMAD && Subtarget->hasMadMixInsts()) || (Opcode == ISD::FMA && Subtarget->hasFmaMixInsts())) && DestVT.getScalarType() == MVT::f32 && !Subtarget->hasFP32Denormals() && diff --git a/llvm/lib/Target/AMDGPU/SIISelLowering.h b/llvm/lib/Target/AMDGPU/SIISelLowering.h index c3605a3f158..c99904c2783 100644 --- a/llvm/lib/Target/AMDGPU/SIISelLowering.h +++ b/llvm/lib/Target/AMDGPU/SIISelLowering.h @@ -222,7 +222,8 @@ public: const GCNSubtarget *getSubtarget() const; - bool isFPExtFoldable(unsigned Opcode, EVT DestVT, EVT SrcVT) const override; + bool isFPExtFoldable(const SelectionDAG &DAG, unsigned Opcode, EVT DestVT, + EVT SrcVT) const override; bool isShuffleMaskLegal(ArrayRef<int> /*Mask*/, EVT /*VT*/) const override; |

