Clean up Cl flag refrences in the bitcode parser.

The code previously had to navigate through 1 (or more) indirect
pointers to find the CL flags. Since CL flags are a static field in
the global context, simplify these references. Note: I have added
member functions to do this (where appropriate) so that fixing code
could be easy if we choose to move where the command line flags are
stored.

BUG=None
R=eholk@chromium.org, stichnot@chromium.org

Review URL: https://codereview.chromium.org/1845913003 .
diff --git a/src/PNaClTranslator.cpp b/src/PNaClTranslator.cpp
index 65b8a5c..0bba5c2 100644
--- a/src/PNaClTranslator.cpp
+++ b/src/PNaClTranslator.cpp
@@ -446,6 +446,10 @@
   // Defines if a module block has already been parsed.
   bool ParsedModuleBlock = false;
 
+  static const Ice::ClFlags &getFlags() {
+    return Ice::GlobalContext::getFlags();
+  }
+
   bool ParseBlock(unsigned BlockID) override;
 
   // Gets extended type associated with the given index, assuming the extended
@@ -489,8 +493,7 @@
   // Installs names for global variables without names.
   void installGlobalVarNames() {
     assert(VariableDeclarations);
-    const std::string &GlobalPrefix =
-        getTranslator().getFlags().getDefaultGlobalPrefix();
+    const std::string &GlobalPrefix = getFlags().getDefaultGlobalPrefix();
     if (!GlobalPrefix.empty()) {
       NaClBcIndexSize_t NameIndex = 0;
       for (Ice::VariableDeclaration *Var : *VariableDeclarations) {
@@ -501,8 +504,7 @@
 
   // Installs names for functions without names.
   void installFunctionNames() {
-    const std::string &FunctionPrefix =
-        getTranslator().getFlags().getDefaultFunctionPrefix();
+    const std::string &FunctionPrefix = getFlags().getDefaultFunctionPrefix();
     if (!FunctionPrefix.empty()) {
       NaClBcIndexSize_t NameIndex = 0;
       for (Ice::FunctionDeclaration *Func : FunctionDeclarations) {
@@ -588,8 +590,7 @@
     NaClBitcodeParser::ErrorAt(Level, Bit, Message);
     setErrStream(OldErrStream);
   }
-  if (Level >= naclbitc::Error &&
-      !Translator.getFlags().getAllowErrorRecovery())
+  if (Level >= naclbitc::Error && !getFlags().getAllowErrorRecovery())
     Fatal();
   return true;
 }
@@ -693,7 +694,9 @@
   // Gets the translator associated with the bitcode parser.
   Ice::Translator &getTranslator() const { return Context->getTranslator(); }
 
-  const Ice::ClFlags &getFlags() const { return getTranslator().getFlags(); }
+  static const Ice::ClFlags &getFlags() {
+    return Ice::GlobalContext::getFlags();
+  }
 
   // Default implementation. Reports that block is unknown and skips its
   // contents.
@@ -3176,7 +3179,7 @@
       std::unique_ptr<Ice::Cfg> Func = Parser.parseFunction(SeqNumber);
       bool Failed = Func->hasError();
       getTranslator().translateFcn(std::move(Func));
-      return Failed && !getTranslator().getFlags().getAllowErrorRecovery();
+      return Failed && !getFlags().getAllowErrorRecovery();
     }
   }
   default: