aboutsummaryrefslogtreecommitdiff
path: root/include/llvm/CodeGen/SelectionDAGNodes.h
diff options
context:
space:
mode:
authorDuncan Sands <baldrick@free.fr>2008-10-22 09:06:24 +0000
committerDuncan Sands <baldrick@free.fr>2008-10-22 09:06:24 +0000
commit3b521d5acccf4fecdb1aea878180df6dc29553dc (patch)
tree23866df559b6433557b48839cb368788c3a027af /include/llvm/CodeGen/SelectionDAGNodes.h
parent0954aefd81c7aa80c0e29408610add1e793c1c44 (diff)
Add some comments explaining the meaning of a boolean
that is not of type MVT::i1 in SELECT and SETCC nodes. Relax the LegalizeTypes SELECT condition promotion sanity checks to allow other condition types than i1. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57966 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/CodeGen/SelectionDAGNodes.h')
-rw-r--r--include/llvm/CodeGen/SelectionDAGNodes.h16
1 files changed, 9 insertions, 7 deletions
diff --git a/include/llvm/CodeGen/SelectionDAGNodes.h b/include/llvm/CodeGen/SelectionDAGNodes.h
index 0b33ad9407..7c78f6ab37 100644
--- a/include/llvm/CodeGen/SelectionDAGNodes.h
+++ b/include/llvm/CodeGen/SelectionDAGNodes.h
@@ -326,19 +326,21 @@ namespace ISD {
// Counting operators
CTTZ, CTLZ, CTPOP,
- // Select(COND, TRUEVAL, FALSEVAL)
- SELECT,
-
+ // Select(COND, TRUEVAL, FALSEVAL). If the type of the boolean COND is not
+ // i1 then the high bits must conform to getSetCCResultContents.
+ SELECT,
+
// Select with condition operator - This selects between a true value and
// a false value (ops #2 and #3) based on the boolean result of comparing
// the lhs and rhs (ops #0 and #1) of a conditional expression with the
// condition code in op #4, a CondCodeSDNode.
SELECT_CC,
- // SetCC operator - This evaluates to a boolean (i1) true value if the
- // condition is true. The operands to this are the left and right operands
- // to compare (ops #0, and #1) and the condition code to compare them with
- // (op #2) as a CondCodeSDNode.
+ // SetCC operator - This evaluates to a true value iff the condition is
+ // true. If the result value type is not i1 then the high bits conform
+ // to getSetCCResultContents. The operands to this are the left and right
+ // operands to compare (ops #0, and #1) and the condition code to compare
+ // them with (op #2) as a CondCodeSDNode.
SETCC,
// Vector SetCC operator - This evaluates to a vector of integer elements