diff --git a/src/backends/llvm.c b/src/backends/llvm.c
index e42622abf330b21dad077c16e4635154c17d9ead..c2d25020b8d9d9ae27d3cb98314c5e73a462738b 100644
--- a/src/backends/llvm.c
+++ b/src/backends/llvm.c
@@ -13,7 +13,7 @@ typedef struct HLLVMParser_ {
 
 void h_llvm_declare_common(LLVMModuleRef mod) {
   LLVMTypeRef readbits_pt[] = {
-    LLVMPointerType(LLVMStructCreateNamed(LLVMGetGlobalContext(), "%struct.HInputStream_"), 0),
+    LLVMPointerType(LLVMStructCreateNamed(LLVMGetGlobalContext(), "%%struct.HInputStream_"), 0),
     LLVMInt32Type(),
     LLVMInt8Type()
   };
@@ -21,17 +21,19 @@ void h_llvm_declare_common(LLVMModuleRef mod) {
   LLVMAddFunction(mod, "h_read_bits", readbits_ret);
 
   LLVMTypeRef amalloc_pt[] = {
-    LLVMPointerType(LLVMStructCreateNamed(LLVMGetGlobalContext(), "%struct.HArena_"), 0),
+    LLVMPointerType(LLVMStructCreateNamed(LLVMGetGlobalContext(), "%%struct.HArena_"), 0),
     LLVMInt32Type()
   };
   LLVMTypeRef amalloc_ret = LLVMFunctionType(LLVMPointerType(LLVMVoidType(), 0), amalloc_pt, 2, 0);
+  char* dump = LLVMPrintModuleToString(mod);
+  fprintf(stderr, dump);
   LLVMAddFunction(mod, "h_arena_malloc", amalloc_ret);
 
   LLVMTypeRef makeresult_pt[] = {
-    LLVMPointerType(LLVMStructCreateNamed(LLVMGetGlobalContext(), "%struct.HArena_"), 0),
-    LLVMPointerType(LLVMStructCreateNamed(LLVMGetGlobalContext(), "%struct.HParsedToken_"), 0)
+    LLVMPointerType(LLVMStructCreateNamed(LLVMGetGlobalContext(), "%%struct.HArena_"), 0),
+    LLVMPointerType(LLVMStructCreateNamed(LLVMGetGlobalContext(), "%%struct.HParsedToken_"), 0)
   };
-  LLVMTypeRef makeresult_ret = LLVMFunctionType(LLVMPointerType(LLVMStructCreateNamed(LLVMGetGlobalContext(), "%struct.HParseResult_"), 0), makeresult_pt, 2, 0);
+  LLVMTypeRef makeresult_ret = LLVMFunctionType(LLVMPointerType(LLVMStructCreateNamed(LLVMGetGlobalContext(), "%%struct.HParseResult_"), 0), makeresult_pt, 2, 0);
   LLVMAddFunction(mod, "make_result", makeresult_ret);
 }