diff --git a/src/parsers/bits.c b/src/parsers/bits.c
index ae01a7f1c31b18f2f9e11a20ea99998ed7539e15..336585a799b24c935358b1f02a90ec6f7b9bd84d 100644
--- a/src/parsers/bits.c
+++ b/src/parsers/bits.c
@@ -34,10 +34,8 @@ static bool bits_llvm(HLLVMParserCompileContext *ctxt,
   /* Allocator */
   HAllocator *mm__ = NULL;
   /* Names */
-  char *bits_bb_name = NULL;
-  int bits_bb_name_len = 0;
-  char *read_bits_name = NULL;
-  int read_bits_name_len;
+  H_LLVM_DECLARE_NAME(bits_bb);
+  H_LLVM_DECLARE_NAME(read_bits);
   /* Basic blocks */
   LLVMBasicBlockRef bits_bb;
   /* Arguments for call to h_read_bits() */
@@ -68,9 +66,7 @@ static bool bits_llvm(HLLVMParserCompileContext *ctxt,
   bits_args[2] = LLVMConstInt(LLVMInt8Type(), env->signedp ? 1 : 0, 0);
 
   /* Set up basic blocks: entry, success and failure branches, then exit */
-  bits_bb_name_len = snprintf(NULL, 0, "bits_%p", p);
-  bits_bb_name = h_new(char, bits_bb_name_len + 1);
-  snprintf(bits_bb_name, bits_bb_name_len + 1, "bits_%p", p);
+  H_LLVM_COMPUTE_NAME(bits_bb, p);
   bits_bb = LLVMAppendBasicBlock(ctxt->func, bits_bb_name);
   LLVMBuildBr(ctxt->builder, bits_bb);
   LLVMPositionBuilderAtEnd(ctxt->builder, bits_bb);
@@ -82,9 +78,7 @@ static bool bits_llvm(HLLVMParserCompileContext *ctxt,
    *                                    i32 env_->length,
    *                                    i8 signext env_->signedp)
    */
-  read_bits_name_len = snprintf(NULL, 0, "bits_read_bits_%p", p);
-  read_bits_name = h_new(char, read_bits_name_len + 1);
-  snprintf(read_bits_name, read_bits_name_len + 1, "bits_read_bits_%p", p);
+  H_LLVM_COMPUTE_NAME(read_bits, p);
   bits = LLVMBuildCall(ctxt->builder,
                        LLVMGetNamedFunction(ctxt->mod, "h_read_bits"),
                        bits_args, 3, read_bits_name);
@@ -95,15 +89,8 @@ static bool bits_llvm(HLLVMParserCompileContext *ctxt,
   /* Return mr */
   *res = mr;
 
-  if (bits_bb_name) {
-    h_free(bits_bb_name);
-    bits_bb_name = NULL;
-  }
-
-  if (read_bits_name) {
-    h_free(read_bits_name);
-    read_bits_name = NULL;
-  }
+  H_LLVM_FREE_NAME(bits_bb);
+  H_LLVM_FREE_NAME(read_bits);
 
   return true;
 }