aboutsummaryrefslogtreecommitdiff
path: root/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
diff options
context:
space:
mode:
authorNAKAMURA Takumi <geek4civic@gmail.com>2023-03-09 09:09:47 +0900
committerNAKAMURA Takumi <geek4civic@gmail.com>2023-04-26 23:49:08 +0900
commit24706aff15c12f8f6eb01a61ad61d97038f07904 (patch)
tree778dc5ed2bee7347e58086219baaca7aa559f6b6 /llvm/utils/TableGen/CodeGenDAGPatterns.cpp
parent91b80ce417c9d90e008aa9eaefff231fde97afa6 (diff)
downloadllvm-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.cpp14
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.