diff --git a/llvm/tools/llvm-create-profile/ProfileWriter.cpp b/llvm/tools/llvm-create-profile/ProfileWriter.cpp
--- a/llvm/tools/llvm-create-profile/ProfileWriter.cpp
+++ b/llvm/tools/llvm-create-profile/ProfileWriter.cpp
@@ -46,11 +46,11 @@
   int num_functions() { return num_functions_; }
 
 protected:
-  virtual void VisitTopSymbol(const string &name, const Symbol *node) {
+  virtual void VisitTopSymbol(const string &name, const Symbol *node) override {
     num_functions_++;
   }
 
-  virtual void Visit(const Symbol *node) {
+  virtual void Visit(const Symbol *node) override {
     // func_name, num_pos_counts, num_callsites
     length_ += 3;
     // offset_discr, num_targets, count * 2
@@ -96,7 +96,7 @@
     }
   }
 
-  virtual void Visit(const Symbol *node) {
+  virtual void Visit(const Symbol *node) override {
     printf("Writing symbol: ");
     node->Dump(4);
     printf("\n");
@@ -159,7 +159,7 @@
     }
   }
 
-  virtual void VisitTopSymbol(const string &name, const Symbol *node) {
+  virtual void VisitTopSymbol(const string &name, const Symbol *node) override {
     printf("VisitTopSymbol: %s\n", name.c_str());
     node->Dump(0);
     printf("node->head_count: %" PRIu64 "\n", node->head_count);
@@ -167,7 +167,7 @@
     printf("\n");
   }
 
-  virtual void VisitCallsite(const Callsite &callsite) {
+  virtual void VisitCallsite(const Callsite &callsite) override {
     printf("VisitCallSite: %s\n", callsite.second.c_str());
     printf("callsite.first: %u\n", callsite.first);
     printf("GetStringIndex(callsite.second): %u\n",