mirror of
https://github.com/intel/llvm.git
synced 2026-01-26 12:26:52 +08:00
Do not instantiate Triple twice.
Also removes redundant variables. NFC. llvm-svn: 277644
This commit is contained in:
@@ -554,17 +554,15 @@ template <class ELFT> void SharedFile<ELFT>::parseRest() {
|
||||
}
|
||||
|
||||
static ELFKind getELFKind(MemoryBufferRef MB) {
|
||||
std::string TripleStr = getBitcodeTargetTriple(MB, Driver->Context);
|
||||
Triple TheTriple(TripleStr);
|
||||
bool Is64Bits = TheTriple.isArch64Bit();
|
||||
if (TheTriple.isLittleEndian())
|
||||
return Is64Bits ? ELF64LEKind : ELF32LEKind;
|
||||
return Is64Bits ? ELF64BEKind : ELF32BEKind;
|
||||
Triple T(getBitcodeTargetTriple(MB, Driver->Context));
|
||||
if (T.isLittleEndian())
|
||||
return T.isArch64Bit() ? ELF64LEKind : ELF32LEKind;
|
||||
return T.isArch64Bit() ? ELF64BEKind : ELF32BEKind;
|
||||
}
|
||||
|
||||
static uint8_t getMachineKind(MemoryBufferRef MB) {
|
||||
std::string TripleStr = getBitcodeTargetTriple(MB, Driver->Context);
|
||||
switch (Triple(TripleStr).getArch()) {
|
||||
Triple T(getBitcodeTargetTriple(MB, Driver->Context));
|
||||
switch (T.getArch()) {
|
||||
case Triple::aarch64:
|
||||
return EM_AARCH64;
|
||||
case Triple::arm:
|
||||
@@ -579,13 +577,12 @@ static uint8_t getMachineKind(MemoryBufferRef MB) {
|
||||
case Triple::ppc64:
|
||||
return EM_PPC64;
|
||||
case Triple::x86:
|
||||
return Triple(TripleStr).isOSIAMCU() ? EM_IAMCU : EM_386;
|
||||
return T.isOSIAMCU() ? EM_IAMCU : EM_386;
|
||||
case Triple::x86_64:
|
||||
return EM_X86_64;
|
||||
default:
|
||||
fatal(MB.getBufferIdentifier() +
|
||||
": could not infer e_machine from bitcode target triple " +
|
||||
TripleStr);
|
||||
": could not infer e_machine from bitcode target triple " + T.str());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user