| Index: src/IceELFObjectWriter.cpp | 
| diff --git a/src/IceELFObjectWriter.cpp b/src/IceELFObjectWriter.cpp | 
| index c3ba9b070ab24fd6397e7d3842afbe3bd3300b4c..e960d9cb90b1e20ea362cb3108e83ee341bc3029 100644 | 
| --- a/src/IceELFObjectWriter.cpp | 
| +++ b/src/IceELFObjectWriter.cpp | 
| @@ -74,7 +74,7 @@ uint32_t getELFFlags(TargetArch Arch) { | 
| } // end of anonymous namespace | 
|  | 
| ELFObjectWriter::ELFObjectWriter(GlobalContext &Ctx, ELFStreamer &Out) | 
| -    : Ctx(Ctx), Str(Out), ELF64(isELF64(Ctx.getFlags())) { | 
| +    : Ctx(Ctx), Str(Out), ELF64(isELF64(getFlags())) { | 
| // Create the special bookkeeping sections now. | 
| constexpr char NullSectionName[] = ""; | 
| NullSection = new (Ctx.allocate<ELFSection>()) | 
| @@ -223,7 +223,7 @@ void ELFObjectWriter::writeFunctionCode(GlobalString FuncName, bool IsInternal, | 
| TimerMarker Timer(TimerStack::TT_writeELF, &Ctx); | 
| ELFTextSection *Section = nullptr; | 
| ELFRelocationSection *RelSection = nullptr; | 
| -  const bool FunctionSections = Ctx.getFlags().getFunctionSections(); | 
| +  const bool FunctionSections = getFlags().getFunctionSections(); | 
| if (TextSections.empty() || FunctionSections) { | 
| std::string SectionName = ".text"; | 
| if (FunctionSections) | 
| @@ -247,7 +247,7 @@ void ELFObjectWriter::writeFunctionCode(GlobalString FuncName, bool IsInternal, | 
| constexpr SizeT SymbolSize = 0; | 
| uint8_t SymbolType; | 
| uint8_t SymbolBinding; | 
| -  if (IsInternal && !Ctx.getFlags().getDisableInternal()) { | 
| +  if (IsInternal && !getFlags().getDisableInternal()) { | 
| SymbolType = STT_NOTYPE; | 
| SymbolBinding = STB_LOCAL; | 
| } else { | 
| @@ -310,8 +310,7 @@ void ELFObjectWriter::writeDataSection(const VariableDeclarationList &Vars, | 
| VariableDeclarationPartition VarsBySection[ELFObjectWriter::NumSectionTypes]; | 
| for (auto &SectionList : VarsBySection) | 
| SectionList.reserve(Vars.size()); | 
| -  partitionGlobalsBySection(Vars, VarsBySection, | 
| -                            Ctx.getFlags().getTranslateOnly()); | 
| +  partitionGlobalsBySection(Vars, VarsBySection, getFlags().getTranslateOnly()); | 
| size_t I = 0; | 
| for (auto &SectionList : VarsBySection) { | 
| writeDataOfType(static_cast<SectionType>(I++), SectionList, RelocationKind, | 
| @@ -392,7 +391,7 @@ void ELFObjectWriter::writeDataOfType(SectionType ST, | 
| const auto Align = std::max<Elf64_Xword>(MinAlign, Var->getAlignment()); | 
| Section->padToAlignment(Str, Align); | 
| SizeT SymbolSize = Var->getNumBytes(); | 
| -    bool IsExternal = Var->isExternal() || Ctx.getFlags().getDisableInternal(); | 
| +    bool IsExternal = Var->isExternal() || getFlags().getDisableInternal(); | 
| const uint8_t SymbolBinding = IsExternal ? STB_GLOBAL : STB_LOCAL; | 
| GlobalString Name = Var->getName(); | 
| SymTab->createDefinedSym(Name, SymbolType, SymbolBinding, Section, | 
| @@ -476,12 +475,12 @@ void ELFObjectWriter::writeELFHeaderInternal(Elf64_Off SectionHeaderOffset, | 
| assert(NumSections < SHN_LORESERVE); | 
| assert(SectHeaderStrIndex < SHN_LORESERVE); | 
|  | 
| -  const TargetArch Arch = Ctx.getFlags().getTargetArch(); | 
| +  const TargetArch Arch = getFlags().getTargetArch(); | 
| // Write the rest of the file header, which does depend on byte order and ELF | 
| // class. | 
| -  Str.writeLE16(ET_REL);                                        // e_type | 
| -  Str.writeLE16(getELFMachine(Ctx.getFlags().getTargetArch())); // e_machine | 
| -  Str.writeELFWord<IsELF64>(1);                                 // e_version | 
| +  Str.writeLE16(ET_REL);                                    // e_type | 
| +  Str.writeLE16(getELFMachine(getFlags().getTargetArch())); // e_machine | 
| +  Str.writeELFWord<IsELF64>(1);                             // e_version | 
| // Since this is for a relocatable object, there is no entry point, and no | 
| // program headers. | 
| Str.writeAddrOrOffset<IsELF64>(0);                                // e_entry | 
| @@ -531,11 +530,11 @@ template <typename ConstType> void ELFObjectWriter::writeConstantPool(Type Ty) { | 
|  | 
| // If the -reorder-pooled-constant option is set to true, we should shuffle | 
| // the constants before we emit them. | 
| -  if (Ctx.getFlags().getReorderPooledConstants() && !Pool.empty()) { | 
| +  if (getFlags().getReorderPooledConstants() && !Pool.empty()) { | 
| // Use the constant's kind value as the salt for creating random number | 
| // generator. | 
| Operand::OperandKind K = (*Pool.begin())->getKind(); | 
| -    RandomNumberGenerator RNG(Ctx.getFlags().getRandomSeed(), | 
| +    RandomNumberGenerator RNG(getFlags().getRandomSeed(), | 
| RPE_PooledConstantReordering, K); | 
| RandomShuffle(Pool.begin(), Pool.end(), | 
| [&RNG](uint64_t N) { return (uint32_t)RNG.next(N); }); | 
| @@ -597,7 +596,7 @@ void ELFObjectWriter::writeJumpTable(const JumpTableData &JT, | 
|  | 
| constexpr uint8_t SymbolType = STT_OBJECT; | 
| Section->padToAlignment(Str, PointerSize); | 
| -  const bool IsExternal = Ctx.getFlags().getDisableInternal(); | 
| +  const bool IsExternal = getFlags().getDisableInternal(); | 
| const uint8_t SymbolBinding = IsExternal ? STB_GLOBAL : STB_LOCAL; | 
| GlobalString JumpTableName = Ctx.getGlobalString( | 
| InstJumpTable::makeName(JT.getFunctionName(), JT.getId())); | 
|  |