diff --git a/src/class_linker.cc b/src/class_linker.cc
index c94347d..b9dbf89 100644
--- a/src/class_linker.cc
+++ b/src/class_linker.cc
@@ -1954,7 +1954,7 @@
   }
 }
 
-#ifndef NDEBUG
+#if !defined(NDEBUG) && !defined(ART_USE_LLVM_COMPILER)
 static void CheckMethodsHaveGcMaps(Class* klass) {
   if (!Runtime::Current()->IsStarted()) {
     return;
diff --git a/src/oatdump.cc b/src/oatdump.cc
index 2f0197c..01b8339 100644
--- a/src/oatdump.cc
+++ b/src/oatdump.cc
@@ -550,6 +550,7 @@
     os << "}" << std::endl << std::flush;
   }
 
+#if !defined(ART_USE_LLVM_COMPILER)
   void DumpCode(std::ostream& os, const void* code, const uint32_t* raw_mapping_table,
                 const DexFile& dex_file, const DexFile::CodeItem* code_item) {
     if (code == NULL) {
@@ -597,6 +598,12 @@
       disassembler_->Dump(os, native_pc, end_native_pc);
     }
   }
+#else
+  void DumpCode(std::ostream&, const void*, const uint32_t*,
+                const DexFile&, const DexFile::CodeItem*) {
+    // TODO: Dump code for the LLVM side.
+  }
+#endif
 
   const std::string host_prefix_;
   const OatFile& oat_file_;
@@ -882,8 +889,10 @@
         DCHECK_EQ(0U, method->GetGcMapLength()) << PrettyMethod(method);
         DCHECK(method->GetMappingTable() == NULL) << PrettyMethod(method);
       } else {
+#if !defined(ART_USE_LLVM_COMPILER)
         DCHECK(method->GetGcMap() != NULL) << PrettyMethod(method);
         DCHECK_NE(0U, method->GetGcMapLength()) << PrettyMethod(method);
+#endif
 
         const DexFile::CodeItem* code_item = MethodHelper(method).GetCodeItem();
         size_t dex_instruction_bytes = code_item->insns_size_in_code_units_ * 2;
diff --git a/src/thread.cc b/src/thread.cc
index d8de7d0..37d366d 100644
--- a/src/thread.cc
+++ b/src/thread.cc
@@ -1594,7 +1594,7 @@
 #else
 Method* Thread::GetCurrentMethod(uintptr_t*, Method***) const {
   ShadowFrame* frame = top_shadow_frame_;
-  while(frame->GetMethod()->IsNative()) {
+  while (frame->GetMethod()->IsNative()) {
     frame = frame->GetLink();
   }
   return frame->GetMethod();
