Skip to content

Commit 99df07c

Browse files
committed
Add ARCH_GRP_RET and GRP_JUMP if the CGI has the isReturn flag set.
1 parent 299a8b9 commit 99df07c

File tree

1 file changed

+6
-3
lines changed

1 file changed

+6
-3
lines changed

llvm/utils/TableGen/PrinterCapstone.cpp

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2469,15 +2469,18 @@ std::string getReqFeatures(StringRef const &TargetName, AsmMatcherInfo &AMI,
24692469
std::string Flags = "{ ";
24702470
std::string Mn = getNormalMnemonic(MI);
24712471
// The debug if
2472-
if (CGI->isBranch && !CGI->isCall) {
2472+
if ((CGI->isBranch || CGI->isReturn) && !CGI->isCall) {
24732473
Flags += TargetName.str() + "_GRP_JUMP, ";
24742474
}
2475+
if (CGI->isReturn) {
2476+
Flags += TargetName.str() + "_GRP_RET, ";
2477+
}
24752478
if (CGI->isCall) {
24762479
Flags += TargetName.str() + "_GRP_CALL, ";
24772480
}
24782481
for (const auto &OpInfo : CGI->Operands.OperandList) {
24792482
if (OpInfo.OperandType == "MCOI::OPERAND_PCREL" &&
2480-
(CGI->isBranch || CGI->isIndirectBranch || CGI->isCall)) {
2483+
(CGI->isBranch || CGI->isReturn || CGI->isIndirectBranch || CGI->isCall)) {
24812484
Flags += TargetName.str() + "_GRP_BRANCH_RELATIVE, ";
24822485
}
24832486
}
@@ -2747,7 +2750,7 @@ void printInsnMapEntry(StringRef const &TargetName, AsmMatcherInfo &AMI,
27472750
InsnMap.indent(4) << getImplicitUses(TargetName, CGI) << ", ";
27482751
InsnMap << getImplicitDefs(TargetName, CGI) << ", ";
27492752
InsnMap << getReqFeatures(TargetName, AMI, MI, UseMI, CGI) << ", ";
2750-
InsnMap << (CGI->isBranch ? "1" : "0") << ", ";
2753+
InsnMap << ((CGI->isBranch || CGI->isReturn) ? "1" : "0") << ", ";
27512754
InsnMap << (CGI->isIndirectBranch ? "1" : "0") << ", ";
27522755
InsnMap << getArchSupplInfo(TargetName, CGI, PPCFormatEnum) << ",\n";
27532756
InsnMap.indent(4) << getCSOpcodeEncoding(CGI);

0 commit comments

Comments
 (0)