Improve the information in the bitcode.

Add origin function named basicblock, and use hex for dex_pc.

Change-Id: I48d59b034c5c8405dcc8341ab956cb70f96d27d9
diff --git a/src/compiler_llvm/method_compiler.cc b/src/compiler_llvm/method_compiler.cc
index 90731d6..2d69290 100644
--- a/src/compiler_llvm/method_compiler.cc
+++ b/src/compiler_llvm/method_compiler.cc
@@ -139,6 +139,11 @@
 
 void MethodCompiler::EmitPrologue() {
   // Create basic blocks for prologue
+#if !defined(NDEBUG)
+  // Add a BasicBlock named as PrettyMethod for debugging.
+  llvm::BasicBlock* entry =
+    llvm::BasicBlock::Create(*context_, PrettyMethod(method_idx_, *dex_file_), func_);
+#endif
   basic_block_reg_alloca_ =
     llvm::BasicBlock::Create(*context_, "prologue.alloca", func_);
 
@@ -151,6 +156,11 @@
   basic_block_reg_arg_init_ =
     llvm::BasicBlock::Create(*context_, "prologue.arginit", func_);
 
+#if !defined(NDEBUG)
+  irb_.SetInsertPoint(entry);
+  irb_.CreateBr(basic_block_reg_alloca_);
+#endif
+
   // Create register array
   for (uint16_t r = 0; r < code_item_->registers_size_; ++r) {
     regs_.push_back(DalvikReg::CreateLocalVarReg(*this, r));
@@ -3660,9 +3670,9 @@
   std::string name;
 
   if (postfix) {
-    StringAppendF(&name, "B%u.%s", dex_pc, postfix);
+    StringAppendF(&name, "B%04x.%s", dex_pc, postfix);
   } else {
-    StringAppendF(&name, "B%u", dex_pc);
+    StringAppendF(&name, "B%04x", dex_pc);
   }
 
   return llvm::BasicBlock::Create(*context_, name, func_);