/// SelectionDAG.
///
enum NodeType {
+ // DELETED_NODE - This is an illegal flag value that is used to catch
+ // errors. This opcode is not a legal opcode for any node.
+ DELETED_NODE,
+
// EntryToken - This is the marker used to indicate the start of the region.
EntryToken,
FORMAL_ARGUMENTS,
/// RV1, RV2...RVn, CHAIN = CALL(CHAIN, CC#, ISVARARG, ISTAILCALL, CALLEE,
- /// ARG0, ARG1, ... ARGn)
+ /// ARG0, SIGN0, ARG1, SIGN1, ... ARGn, SIGNn)
/// This node represents a fully general function call, before the legalizer
- /// runs. This has one result value for each argument, plus a chain result.
- /// It must be custom legalized.
+ /// runs. This has one result value for each argument / signness pair, plus
+ /// a chain result. It must be custom legalized.
CALL,
// EXTRACT_ELEMENT - This is used to get the first or second (determined by
BR_CC,
// RET - Return from function. The first operand is the chain,
- // and any subsequent operands are the return values for the
- // function. This operation can have variable number of operands.
+ // and any subsequent operands are pairs of return value and return value
+ // signness for the function. This operation can have variable number of
+ // operands.
RET,
// INLINEASM - Represents an inline asm block. This node always has two
public:
virtual ~SDNode() {
assert(NumOperands == 0 && "Operand list not cleared before deletion");
+ NodeType = ISD::DELETED_NODE;
}
//===--------------------------------------------------------------------===//