[TargetLowering] Rename isCondCodeLegal to isCondCodeLegalOrCustom. Add real isCondCo...
authorCraig Topper <craig.topper@intel.com>
Thu, 22 Feb 2018 20:51:26 +0000 (20:51 +0000)
committerCraig Topper <craig.topper@intel.com>
Thu, 22 Feb 2018 20:51:26 +0000 (20:51 +0000)
commita2cc3c055cb4352f1d0a6c5180f11d6120a2b3a5
tree9a8559aee67c490b6a01e28a6a493aae5ffd18cb
parent9930e900e980c463de7ee4b4a5fa1db507e9a5cc
[TargetLowering] Rename isCondCodeLegal to isCondCodeLegalOrCustom. Add real isCondCodeLegal. Update callers to use one or the other.

isCondCodeLegal internally checked Legal or Custom which is misleading. Though no targets set any cond code action to Custom today.

So I've renamed isCondCodeLegal to isCondCodeLegalOrCustom and added a real isCondCodeLegal that only checks Legal.

I've changed legalization code to use isCondCodeLegalOrCustom and left things reachable via DAG combine as isCondCodeLegal. I've also changed some places that called getCondCodeAction and compared to Legal to just use isCondCodeLegal.

I'm looking at trying to keep SETCC all the way to isel for the AVX512 integer comparisons and I suspect I'll need to make some condition codes Custom to stop DAG combine from changing things post LegalizeOps. Prior to this only Expand stopped DAG combine, but that causes LegalizeOps to try to swap operands or invert rather than calling our Custom handler.

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

llvm-svn: 325829
llvm/include/llvm/CodeGen/TargetLowering.h
llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp