forked from OSchip/llvm-project
[SelectionDAG] Use consistent type sizes for opcode
This commit is contained in:
parent
7b9482df3d
commit
8b8463ef6c
|
@ -462,12 +462,19 @@ public:
|
||||||
class SDNode : public FoldingSetNode, public ilist_node<SDNode> {
|
class SDNode : public FoldingSetNode, public ilist_node<SDNode> {
|
||||||
private:
|
private:
|
||||||
/// The operation that this node performs.
|
/// The operation that this node performs.
|
||||||
int16_t NodeType;
|
int32_t NodeType;
|
||||||
|
|
||||||
|
public:
|
||||||
|
/// Unique and persistent id per SDNode in the DAG. Used for debug printing.
|
||||||
|
/// We do not place that under `#if LLVM_ENABLE_ABI_BREAKING_CHECKS`
|
||||||
|
/// intentionally because it adds unneeded complexity without noticeable
|
||||||
|
/// benefits (see discussion with @thakis in D120714).
|
||||||
|
uint16_t PersistentId;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
// We define a set of mini-helper classes to help us interpret the bits in our
|
// We define a set of mini-helper classes to help us interpret the bits in our
|
||||||
// SubclassData. These are designed to fit within a uint16_t so they pack
|
// SubclassData. These are designed to fit within a uint16_t so they pack
|
||||||
// with NodeType.
|
// with PersistentId.
|
||||||
|
|
||||||
#if defined(_AIX) && (!defined(__GNUC__) || defined(__clang__))
|
#if defined(_AIX) && (!defined(__GNUC__) || defined(__clang__))
|
||||||
// Except for GCC; by default, AIX compilers store bit-fields in 4-byte words
|
// Except for GCC; by default, AIX compilers store bit-fields in 4-byte words
|
||||||
|
@ -625,12 +632,6 @@ private:
|
||||||
uint32_t CFIType = 0;
|
uint32_t CFIType = 0;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
/// Unique and persistent id per SDNode in the DAG. Used for debug printing.
|
|
||||||
/// We do not place that under `#if LLVM_ENABLE_ABI_BREAKING_CHECKS`
|
|
||||||
/// intentionally because it adds unneeded complexity without noticeable
|
|
||||||
/// benefits (see discussion with @thakis in D120714).
|
|
||||||
uint16_t PersistentId;
|
|
||||||
|
|
||||||
//===--------------------------------------------------------------------===//
|
//===--------------------------------------------------------------------===//
|
||||||
// Accessors
|
// Accessors
|
||||||
//
|
//
|
||||||
|
@ -639,7 +640,7 @@ public:
|
||||||
/// pre-isel nodes (those for which isMachineOpcode returns false), these
|
/// pre-isel nodes (those for which isMachineOpcode returns false), these
|
||||||
/// are the opcode values in the ISD and <target>ISD namespaces. For
|
/// are the opcode values in the ISD and <target>ISD namespaces. For
|
||||||
/// post-isel opcodes, see getMachineOpcode.
|
/// post-isel opcodes, see getMachineOpcode.
|
||||||
unsigned getOpcode() const { return (unsigned short)NodeType; }
|
unsigned getOpcode() const { return (unsigned)NodeType; }
|
||||||
|
|
||||||
/// Test if this node has a target-specific opcode (in the
|
/// Test if this node has a target-specific opcode (in the
|
||||||
/// \<target\>ISD namespace).
|
/// \<target\>ISD namespace).
|
||||||
|
|
|
@ -660,7 +660,7 @@ static void AddNodeIDOperands(FoldingSetNodeID &ID,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void AddNodeIDNode(FoldingSetNodeID &ID, unsigned short OpC,
|
static void AddNodeIDNode(FoldingSetNodeID &ID, unsigned OpC,
|
||||||
SDVTList VTList, ArrayRef<SDValue> OpList) {
|
SDVTList VTList, ArrayRef<SDValue> OpList) {
|
||||||
AddNodeIDOpcode(ID, OpC);
|
AddNodeIDOpcode(ID, OpC);
|
||||||
AddNodeIDValueTypes(ID, VTList);
|
AddNodeIDValueTypes(ID, VTList);
|
||||||
|
|
Loading…
Reference in New Issue