================
@@ -377,10 +379,17 @@ 
llvm::LaunchKernel::createKernelLaunch(mlir::gpu::LaunchFuncOp op,
   if (!binary)
     return op.emitError() << "Couldn't find the binary: " << binaryIdentifier;
 
+  auto binaryVar = dyn_cast<llvm::GlobalVariable>(binary);
+  llvm::Constant *binaryInit = binaryVar->getInitializer();
+  auto binaryDataSeq = dyn_cast<llvm::ConstantDataSequential>(binaryInit);
----------------
fabianmcg wrote:

Some form of check must be placed on the pointers:
```suggestion
  auto binaryVar = dyn_cast<llvm::GlobalVariable>(binary);
  assert(binaryVar && "expected a global variable");
  llvm::Constant *binaryInit = binaryVar->getInitializer();
  auto binaryDataSeq = 
dyn_cast_or_null<llvm::ConstantDataSequential>(binaryInit);
  assert(binaryDataSeq && "expected a valid initializer");
```

https://github.com/llvm/llvm-project/pull/71430
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to