}
unsigned Hexagon_MC::GetELFFlags(const MCSubtargetInfo &STI) {
- static std::map<StringRef,unsigned> ElfFlags = {
- {"hexagonv5", ELF::EF_HEXAGON_MACH_V5},
- {"hexagonv55", ELF::EF_HEXAGON_MACH_V55},
- {"hexagonv60", ELF::EF_HEXAGON_MACH_V60},
- {"hexagonv62", ELF::EF_HEXAGON_MACH_V62},
- {"hexagonv65", ELF::EF_HEXAGON_MACH_V65},
- {"hexagonv66", ELF::EF_HEXAGON_MACH_V66},
- {"hexagonv67", ELF::EF_HEXAGON_MACH_V67},
- {"hexagonv67t", ELF::EF_HEXAGON_MACH_V67T},
- {"hexagonv68", ELF::EF_HEXAGON_MACH_V68},
- {"hexagonv69", ELF::EF_HEXAGON_MACH_V69},
- };
+ using llvm::Hexagon::ElfFlagsByCpuStr;
- auto F = ElfFlags.find(STI.getCPU());
- assert(F != ElfFlags.end() && "Unrecognized Architecture");
+ const std::string CPU(STI.getCPU().str());
+ auto F = ElfFlagsByCpuStr.find(CPU);
+ assert(F != ElfFlagsByCpuStr.end() && "Unrecognized Architecture");
return F->second;
}