From 8e3a15ec3b43ee0cb9976f6951f8ae8b0aa94d54 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=ABlle=20van=20Essen?= Date: Mon, 3 Mar 2025 13:21:40 +0100 Subject: [PATCH] zoc: Refactoring and fix build --- Cargo.toml | 2 +- zoc/src/main.rs | 12 +++++------- 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 9842781..04c215b 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -23,7 +23,7 @@ members = [ "zoc", ] -default-members = ["zluda", "zluda_ml", "zluda_inject", "zluda_redirect"] +default-members = ["zluda", "zluda_ml", "zluda_inject", "zluda_redirect", "zoc"] [profile.release-lto] inherits = "release" diff --git a/zoc/src/main.rs b/zoc/src/main.rs index 1742eab..c20730a 100644 --- a/zoc/src/main.rs +++ b/zoc/src/main.rs @@ -2,7 +2,7 @@ use std::error::Error; use std::ffi::CStr; use std::fs::{self, File}; use std::io::{self, Write}; -use std::mem; +use std::mem::MaybeUninit; use std::path::Path; use std::str; @@ -54,12 +54,10 @@ fn ptx_to_llvm(ptx: &str) -> Result> { fn llvm_to_elf(module: &LLVMArtifacts) -> Result, ElfError> { use hip_runtime_sys::*; - unsafe { hipInit(0) }?; - let dev = 0; - let mut stream = unsafe { mem::zeroed() }; - unsafe { hipStreamCreate(&mut stream) }?; - let mut dev_props = unsafe { mem::zeroed() }; - unsafe { hipGetDevicePropertiesR0600(&mut dev_props, dev) }?; + let mut dev_props: MaybeUninit = MaybeUninit::uninit(); + unsafe { hipGetDevicePropertiesR0600(dev_props.as_mut_ptr(), 0) }?; + let dev_props = unsafe { dev_props.assume_init() }; + comgr::compile_bitcode( unsafe { CStr::from_ptr(dev_props.gcnArchName.as_ptr()) }, &module.bitcode,