diff options
author | NAKAMURA Takumi <geek4civic@gmail.com> | 2023-03-09 09:09:47 +0900 |
---|---|---|
committer | NAKAMURA Takumi <geek4civic@gmail.com> | 2023-04-26 23:49:08 +0900 |
commit | 24706aff15c12f8f6eb01a61ad61d97038f07904 (patch) | |
tree | 778dc5ed2bee7347e58086219baaca7aa559f6b6 /llvm/utils/TableGen/CodeGenDAGPatterns.cpp | |
parent | 91b80ce417c9d90e008aa9eaefff231fde97afa6 (diff) | |
download | llvm-24706aff15c12f8f6eb01a61ad61d97038f07904.zip llvm-24706aff15c12f8f6eb01a61ad61d97038f07904.tar.gz llvm-24706aff15c12f8f6eb01a61ad61d97038f07904.tar.bz2 |
TableGen: Replace `IntrinsicEmitter::ComputeFixedEncoding()` and cleanup
Depends on D146915
Differential Revision: https://reviews.llvm.org/D145937
Diffstat (limited to 'llvm/utils/TableGen/CodeGenDAGPatterns.cpp')
-rw-r--r-- | llvm/utils/TableGen/CodeGenDAGPatterns.cpp | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/llvm/utils/TableGen/CodeGenDAGPatterns.cpp b/llvm/utils/TableGen/CodeGenDAGPatterns.cpp index 58256be..512358b 100644 --- a/llvm/utils/TableGen/CodeGenDAGPatterns.cpp +++ b/llvm/utils/TableGen/CodeGenDAGPatterns.cpp @@ -1858,7 +1858,7 @@ static unsigned GetNumNodeResults(Record *Operator, CodeGenDAGPatterns &CDP) { return 0; // All return nothing. if (Operator->isSubClassOf("Intrinsic")) - return CDP.getIntrinsic(Operator).IS.RetVTs.size(); + return CDP.getIntrinsic(Operator).IS.RetTys.size(); if (Operator->isSubClassOf("SDNode")) return CDP.getSDNodeInfo(Operator).getNumResults(); @@ -2511,11 +2511,12 @@ bool TreePatternNode::ApplyTypeConstraints(TreePattern &TP, bool NotRegisters) { bool MadeChange = false; // Apply the result type to the node. - unsigned NumRetVTs = Int->IS.RetVTs.size(); - unsigned NumParamVTs = Int->IS.ParamVTs.size(); + unsigned NumRetVTs = Int->IS.RetTys.size(); + unsigned NumParamVTs = Int->IS.ParamTys.size(); for (unsigned i = 0, e = NumRetVTs; i != e; ++i) - MadeChange |= UpdateNodeType(i, Int->IS.RetVTs[i], TP); + MadeChange |= UpdateNodeType( + i, getValueType(Int->IS.RetTys[i]->getValueAsDef("VT")), TP); if (getNumChildren() != NumParamVTs + 1) { TP.error("Intrinsic '" + Int->Name + "' expects " + Twine(NumParamVTs) + @@ -2529,7 +2530,8 @@ bool TreePatternNode::ApplyTypeConstraints(TreePattern &TP, bool NotRegisters) { for (unsigned i = 0, e = getNumChildren()-1; i != e; ++i) { MadeChange |= getChild(i+1)->ApplyTypeConstraints(TP, NotRegisters); - MVT::SimpleValueType OpVT = Int->IS.ParamVTs[i]; + MVT::SimpleValueType OpVT = + getValueType(Int->IS.ParamTys[i]->getValueAsDef("VT")); assert(getChild(i + 1)->getNumTypes() == 1 && "Unhandled case"); MadeChange |= getChild(i + 1)->UpdateNodeType(0, OpVT, TP); } @@ -2983,7 +2985,7 @@ TreePatternNodePtr TreePattern::ParseTreePattern(Init *TheInit, // If this intrinsic returns void, it must have side-effects and thus a // chain. - if (Int.IS.RetVTs.empty()) + if (Int.IS.RetTys.empty()) Operator = getDAGPatterns().get_intrinsic_void_sdnode(); else if (!Int.ME.doesNotAccessMemory() || Int.hasSideEffects) // Has side-effects, requires chain. |