From 83657b24fd7e8982ae534a99cb15627c9220642b Mon Sep 17 00:00:00 2001
From: rarbore2 <rarbore2@illinois.edu>
Date: Fri, 17 Jan 2025 15:53:14 -0600
Subject: [PATCH] Generate LLVM undef on CPU

---
 hercules_cg/src/cpu.rs | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/hercules_cg/src/cpu.rs b/hercules_cg/src/cpu.rs
index 8dfe06e7..85139b4c 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(())
-- 
GitLab