diff options
| author | Tom Stellard <thomas.stellard@amd.com> | 2016-01-20 00:13:22 +0000 |
|---|---|---|
| committer | Tom Stellard <thomas.stellard@amd.com> | 2016-01-20 00:13:22 +0000 |
| commit | 2e045bbc5f1001a908bfb9267b792bdc6dd72c5d (patch) | |
| tree | 008350af964d2965d3d1f18fa9bb3a7bf95927b8 /llvm/lib/Target/AMDGPU/SIISelLowering.cpp | |
| parent | 69005960400a84f3c8b03f173afdad79ccd1d4a0 (diff) | |
| download | bcm5719-llvm-2e045bbc5f1001a908bfb9267b792bdc6dd72c5d.tar.gz bcm5719-llvm-2e045bbc5f1001a908bfb9267b792bdc6dd72c5d.zip | |
AMDGPU/SI: Prevent the DAGCombiner from creating setcc with i1 inputs
Reviewers: arsenm
Subscribers: arsenm, llvm-commits
Differential Revision: http://reviews.llvm.org/D15035
llvm-svn: 258256
Diffstat (limited to 'llvm/lib/Target/AMDGPU/SIISelLowering.cpp')
| -rw-r--r-- | llvm/lib/Target/AMDGPU/SIISelLowering.cpp | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/llvm/lib/Target/AMDGPU/SIISelLowering.cpp b/llvm/lib/Target/AMDGPU/SIISelLowering.cpp index 2c22cee4bf4..7ac55b87b84 100644 --- a/llvm/lib/Target/AMDGPU/SIISelLowering.cpp +++ b/llvm/lib/Target/AMDGPU/SIISelLowering.cpp @@ -533,6 +533,16 @@ bool SITargetLowering::shouldConvertConstantLoadToIntImm(const APInt &Imm, return TII->isInlineConstant(Imm); } +bool SITargetLowering::isTypeDesirableForOp(unsigned Op, EVT VT) const { + + // SimplifySetCC uses this function to determine whether or not it should + // create setcc with i1 operands. We don't have instructions for i1 setcc. + if (VT == MVT::i1 && Op == ISD::SETCC) + return false; + + return TargetLowering::isTypeDesirableForOp(Op, VT); +} + SDValue SITargetLowering::LowerParameter(SelectionDAG &DAG, EVT VT, EVT MemVT, SDLoc SL, SDValue Chain, unsigned Offset, bool Signed) const { |

