Sign-extend rather than zero-extend when promoting
authorDuncan Sands <baldrick@free.fr>
Fri, 7 Nov 2008 20:13:04 +0000 (20:13 +0000)
committerDuncan Sands <baldrick@free.fr>
Fri, 7 Nov 2008 20:13:04 +0000 (20:13 +0000)
commit47b3417cf0d90724f9dab71aae4c7204e46847b6
tree287a1dce0afcde077872973c06624c5a3a65ea36
parente5f4de42b5d26f60cec6fab0482eaf579246b218
Sign-extend rather than zero-extend when promoting
the condition for a BRCOND, according to what is
returned by getSetCCResultContents.  Since all
targets return the same thing (ZeroOrOneSetCCResult),
this should be harmless!  The point is that all over
the place the result of SETCC is fed directly into
BRCOND.  On machines for which getSetCCResultContents
returns ZeroOrNegativeOneSetCCResult, this is a
sign-extended boolean.  So it seems dangerous to
also feed BRCOND zero-extended booleans in some
circumstances - for example, when promoting the
condition.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58861 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/CodeGen/SelectionDAGNodes.h
lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp