aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/CodeGen/SelectionDAG
diff options
context:
space:
mode:
authorCraig Topper <craig.topper@sifive.com>2026-02-03 13:45:00 -0800
committerCraig Topper <craig.topper@sifive.com>2026-02-03 13:45:00 -0800
commit19cf75c72ffd9ab9dd802eba625fc2e91e4e8a90 (patch)
treee17af2d498b7c8416a2dd0cd901764f4a5a1e03c /llvm/lib/CodeGen/SelectionDAG
parent3ce60c4ff9538481745e1c2c31eac9e48046f548 (diff)
downloadllvm-19cf75c72ffd9ab9dd802eba625fc2e91e4e8a90.tar.gz
llvm-19cf75c72ffd9ab9dd802eba625fc2e91e4e8a90.tar.bz2
llvm-19cf75c72ffd9ab9dd802eba625fc2e91e4e8a90.zip
Revert "[SelectionDAGISel] Separate the operand numbers in OPC_EmitNode/MorphNodeTo into their own table. (#178722)"
This reverts commit caab98284166784459a2fb76df7bca3f1d35e41e. This is failing some build bots.
Diffstat (limited to 'llvm/lib/CodeGen/SelectionDAG')
-rw-r--r--llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp25
1 files changed, 8 insertions, 17 deletions
diff --git a/llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp b/llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
index 7419aac6ba3d..e7cb0a3574b4 100644
--- a/llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
+++ b/llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
@@ -3350,8 +3350,7 @@ public:
void SelectionDAGISel::SelectCodeCommon(SDNode *NodeToMatch,
const uint8_t *MatcherTable,
- unsigned TableSize,
- const uint8_t *OperandLists) {
+ unsigned TableSize) {
// FIXME: Should these even be selected? Handle these cases in the caller?
switch (NodeToMatch->getOpcode()) {
default:
@@ -4308,22 +4307,14 @@ void SelectionDAGISel::SelectCodeCommon(SDNode *NodeToMatch,
// Get the operand list.
unsigned NumOps = MatcherTable[MatcherIndex++];
-
SmallVector<SDValue, 8> Ops;
- if (NumOps != 0) {
- // Get the index into the OperandLists.
- uint64_t OperandIndex = MatcherTable[MatcherIndex++];
- if (OperandIndex & 128)
- OperandIndex = GetVBR(OperandIndex, MatcherTable, MatcherIndex);
-
- for (unsigned i = 0; i != NumOps; ++i) {
- unsigned RecNo = OperandLists[OperandIndex++];
- if (RecNo & 128)
- RecNo = GetVBR(RecNo, OperandLists, OperandIndex);
-
- assert(RecNo < RecordedNodes.size() && "Invalid EmitNode");
- Ops.push_back(RecordedNodes[RecNo].first);
- }
+ for (unsigned i = 0; i != NumOps; ++i) {
+ unsigned RecNo = MatcherTable[MatcherIndex++];
+ if (RecNo & 128)
+ RecNo = GetVBR(RecNo, MatcherTable, MatcherIndex);
+
+ assert(RecNo < RecordedNodes.size() && "Invalid EmitNode");
+ Ops.push_back(RecordedNodes[RecNo].first);
}
// If there are variadic operands to add, handle them now.