Skip to content

Commit 854e43c

Browse files
committed
change inheritance level of new interface
1 parent 6acb433 commit 854e43c

File tree

2 files changed

+7
-2
lines changed

2 files changed

+7
-2
lines changed

mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -699,6 +699,7 @@ def LLVM_CallOp : LLVM_MemAccessOpBase<"call",
699699
[AttrSizedOperandSegments,
700700
DeclareOpInterfaceMethods<FastmathFlagsInterface>,
701701
DeclareOpInterfaceMethods<CallOpInterface>,
702+
DeclareOpInterfaceMethods<ArgumentAttributesOpInterface>,
702703
DeclareOpInterfaceMethods<SymbolUserOpInterface>,
703704
DeclareOpInterfaceMethods<BranchWeightOpInterface>]> {
704705
let summary = "Call to an LLVM function.";

mlir/lib/Target/LLVMIR/ModuleImport.cpp

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2090,6 +2090,10 @@ void ModuleImport::convertParameterAttributes(llvm::Function *func,
20902090
void ModuleImport::convertParameterAttributes(llvm::CallBase *call,
20912091
CallOpInterface callOp,
20922092
OpBuilder &builder) {
2093+
auto argAttrsOpInterface =
2094+
dyn_cast<ArgumentAttributesOpInterface>(callOp.getOperation());
2095+
if (!argAttrsOpInterface)
2096+
return;
20932097
auto llvmAttrs = call->getAttributes();
20942098
SmallVector<llvm::AttributeSet> llvmArgAttrsSet;
20952099
bool anyArgAttrs = false;
@@ -2108,15 +2112,15 @@ void ModuleImport::convertParameterAttributes(llvm::CallBase *call,
21082112
SmallVector<DictionaryAttr> argAttrs;
21092113
for (auto &llvmArgAttrs : llvmArgAttrsSet)
21102114
argAttrs.emplace_back(convertParameterAttribute(llvmArgAttrs, builder));
2111-
callOp.setArgAttrsAttr(getArrayAttr(argAttrs));
2115+
argAttrsOpInterface.setArgAttrsAttr(getArrayAttr(argAttrs));
21122116
}
21132117

21142118
llvm::AttributeSet llvmResAttr = llvmAttrs.getRetAttrs();
21152119
if (!llvmResAttr.hasAttributes())
21162120
return;
21172121
SmallVector<DictionaryAttr, 1> resAttrs;
21182122
resAttrs.emplace_back(convertParameterAttribute(llvmResAttr, builder));
2119-
callOp.setResAttrsAttr(getArrayAttr(resAttrs));
2123+
argAttrsOpInterface.setResAttrsAttr(getArrayAttr(resAttrs));
21202124
}
21212125

21222126
LogicalResult ModuleImport::processFunction(llvm::Function *func) {

0 commit comments

Comments
 (0)