From: Rui Ueyama Date: Wed, 3 Aug 2016 20:25:29 +0000 (+0000) Subject: Do not instantiate Triple twice. X-Git-Tag: llvmorg-4.0.0-rc1~13398 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=7fdb4389a210e1c28c707e1b4fa544f37fa7b58a;p=platform%2Fupstream%2Fllvm.git Do not instantiate Triple twice. Also removes redundant variables. NFC. llvm-svn: 277644 --- diff --git a/lld/ELF/InputFiles.cpp b/lld/ELF/InputFiles.cpp index 7c335b4..2cfa01f 100644 --- a/lld/ELF/InputFiles.cpp +++ b/lld/ELF/InputFiles.cpp @@ -554,17 +554,15 @@ template void SharedFile::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()); } }