[Mlir-commits] [llvm] [mlir] [MLIR][NVVM] Add NVVMRequiresSM op trait (PR #126886)
Srinivasa Ravi
llvmlistbot at llvm.org
Fri Mar 14 04:55:03 PDT 2025
================
@@ -1558,6 +1559,25 @@ NVVMTargetAttr::verify(function_ref<InFlightDiagnostic()> emitError,
return success();
}
+LogicalResult NVVMTargetAttr::verifyTarget(Operation *gpuModule) {
+ auto gpuModuleOp = llvm::dyn_cast<gpu::GPUModuleOp>(gpuModule);
+ if (!gpuModuleOp)
+ return emitError(gpuModule->getLoc(),
+ "NVVM target attribute must be attached to a GPU module");
+ gpuModuleOp->walk([&](Operation *op) {
+ if (auto reqOp = llvm::dyn_cast<NVVM::RequiresSMInterface>(op)) {
+ auto requirement = reqOp.getRequiredMinSMVersion();
+ if (!requirement.isCompatible(NVVMCheckSMVersion(getChip()))) {
+ op->emitOpError() << "is not supported on " << getChip();
+ return WalkResult::interrupt();
+ }
+ }
+ return WalkResult::advance();
----------------
Wolfram70 wrote:
Updated in the latest revision, thanks!
https://github.com/llvm/llvm-project/pull/126886
More information about the Mlir-commits
mailing list