diff --git a/hercules_cg/src/cpu.rs b/hercules_cg/src/cpu.rs index 8dfe06e7443372d45214a886d7e1b46d78545ab0..85139b4c573c2287169715599336bd5b2146e8be 100644 --- a/hercules_cg/src/cpu.rs +++ b/hercules_cg/src/cpu.rs @@ -536,6 +536,17 @@ impl<'a> CPUContext<'a> { self.get_value(collect, true) )?; } + Node::Undef { ty } => { + let body = &mut blocks.get_mut(&self.bbs.0[id.idx()]).unwrap().body; + let ty = self.get_type(ty); + write!( + body, + " {} = bitcast {} undef to {}\n", + self.get_value(id, false), + ty, + ty + )?; + } _ => panic!("PANIC: Can't lower {:?}.", self.function.nodes[id.idx()]), } Ok(())