Skip to content
Snippets Groups Projects

GPU backend

Merged prathi3 requested to merge gpu-cg into main
3 files
+ 15
5
Compare changes
  • Side-by-side
  • Inline
Files
3
+ 5
4
@@ -324,7 +324,7 @@ impl<'a> RTContext<'a> {
Node::Constant { id: cons_id } => {
let block = &mut blocks.get_mut(&self.bbs.0[id.idx()]).unwrap();
write!(block, " {} = ", self.get_value(id))?;
let mut size = None;
let mut size_and_device = None;
match self.module.constants[cons_id.idx()] {
Constant::Boolean(val) => write!(block, "{}bool", val)?,
Constant::Integer8(val) => write!(block, "{}i8", val)?,
@@ -351,14 +351,15 @@ impl<'a> RTContext<'a> {
write!(block, "backing_{}.byte_add(", device.name())?;
self.codegen_dynamic_constant(offset, block)?;
write!(block, " as usize)")?;
size = Some(self.codegen_type_size(ty));
size_and_device = Some((self.codegen_type_size(ty), device));
}
}
write!(block, ";\n")?;
if let Some(size) = size {
if let Some((size, device)) = size_and_device {
write!(
block,
" ::core::ptr::write_bytes({}, 0, {} as usize);\n",
" ::hercules_rt::__{}_zero_mem({}, {} as usize);\n",
device.name(),
self.get_value(id),
size
)?;
Loading