Subzero: Basic Block Profiler.

BUG= None
R=stichnot@chromium.org

Review URL: https://codereview.chromium.org/1147023007.
diff --git a/src/IceClFlags.cpp b/src/IceClFlags.cpp
index 203b54e..069c3e3 100644
--- a/src/IceClFlags.cpp
+++ b/src/IceClFlags.cpp
@@ -65,6 +65,12 @@
     DumpStats("szstats",
               cl::desc("Print statistics after translating each function"));
 
+cl::opt<bool> EnableBlockProfile(
+    "enable-block-profile",
+    cl::desc("If true, instrument basic blocks, and output profiling "
+             "information to stdout at the end of program execution."),
+    cl::init(false));
+
 cl::opt<bool>
     FunctionSections("ffunction-sections",
                      cl::desc("Emit functions into separate sections"));
@@ -261,6 +267,7 @@
   OutFlags.DisableIRGeneration = false;
   OutFlags.DisableTranslation = false;
   OutFlags.DumpStats = false;
+  OutFlags.EnableBlockProfile = false;
   OutFlags.FunctionSections = false;
   OutFlags.GenerateUnitTestMessages = false;
   OutFlags.PhiEdgeSplit = false;
@@ -311,6 +318,7 @@
   OutFlags.setDisableIRGeneration(::DisableIRGeneration);
   OutFlags.setDisableTranslation(::DisableTranslation);
   OutFlags.setDumpStats(::DumpStats);
+  OutFlags.setEnableBlockProfile(::EnableBlockProfile);
   OutFlags.setFunctionSections(::FunctionSections);
   OutFlags.setNumTranslationThreads(::NumThreads);
   OutFlags.setOptLevel(::OLevel);