]> granicus.if.org Git - llvm/commit
R600/SI: Use ZeroOrNegativeOneBooleanContent
authorMatt Arsenault <Matthew.Arsenault@amd.com>
Wed, 26 Nov 2014 21:23:15 +0000 (21:23 +0000)
committerMatt Arsenault <Matthew.Arsenault@amd.com>
Wed, 26 Nov 2014 21:23:15 +0000 (21:23 +0000)
commitb69378a26d87269c1a777b04cce912a0703e858c
treeb338e72a991c6f653ca96622370a94a04da3322b
parent74eb264493a025026fbb21d5f836a49e4d32397f
R600/SI: Use ZeroOrNegativeOneBooleanContent

This sort of doesn't matter since the setcc type is i1, but
this previously was using the default UndefinedBooleanContent. This
makes it more consistent with R600. This enables more optimizations
which typically give up on UndefinedBooleanContent. For example,
there is already a special case target DAG combine for
setcc + sext which can be eliminated in favor of what the generic
DAG combiner can do if it assumes boolean values are sign extended.
Since -1 is an inline immediate, using it is basically free and the
backend already uses it when a boolean value is needed in a wider type.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@222850 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/R600/AMDGPUISelLowering.cpp
lib/Target/R600/R600ISelLowering.cpp