diff --git a/llvm/lib/Object/COFFObjectFile.cpp b/llvm/lib/Object/COFFObjectFile.cpp
index 463121c..67b8e6b 100644
--- a/llvm/lib/Object/COFFObjectFile.cpp
+++ b/llvm/lib/Object/COFFObjectFile.cpp
@@ -406,7 +406,7 @@
   return object_error::success;
 }
 
-relocation_iterator COFFObjectFile::getSectionRelBegin(DataRefImpl Sec) const {
+relocation_iterator COFFObjectFile::section_rel_begin(DataRefImpl Sec) const {
   const coff_section *sec = toSec(Sec);
   DataRefImpl ret;
   if (sec->NumberOfRelocations == 0)
@@ -417,7 +417,7 @@
   return relocation_iterator(RelocationRef(ret, this));
 }
 
-relocation_iterator COFFObjectFile::getSectionRelEnd(DataRefImpl Sec) const {
+relocation_iterator COFFObjectFile::section_rel_end(DataRefImpl Sec) const {
   const coff_section *sec = toSec(Sec);
   DataRefImpl ret;
   if (sec->NumberOfRelocations == 0)
@@ -630,13 +630,13 @@
   return "";
 }
 
-import_directory_iterator COFFObjectFile::getImportDirectoryBegin() const {
+import_directory_iterator COFFObjectFile::import_directory_begin() const {
   DataRefImpl Imp;
   Imp.p = reinterpret_cast<uintptr_t>(ImportDirectory);
   return import_directory_iterator(ImportDirectoryEntryRef(Imp, this));
 }
 
-import_directory_iterator COFFObjectFile::getImportDirectoryEnd() const {
+import_directory_iterator COFFObjectFile::import_directory_end() const {
   DataRefImpl Imp;
   if (ImportDirectory) {
     Imp.p = reinterpret_cast<uintptr_t>(
