From b354ef31cf32cfd9b801d68fd3262d041ac9b162 Mon Sep 17 00:00:00 2001 From: Rafael Espindola Date: Wed, 18 Mar 2015 22:19:16 +0000 Subject: [PATCH] Teach getDefaultFormat that we only support ELF on some architectures. This should bring the windows bots back. It is a bit ugly, but it is better than what we had before: The triple would say that the object format was COFF, but llc/llvm-mc would produce an ELF. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@232683 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Support/Triple.cpp | 17 +++++++++++++++++ test/CodeGen/R600/elf.ll | 3 +++ 2 files changed, 20 insertions(+) diff --git a/lib/Support/Triple.cpp b/lib/Support/Triple.cpp index d74173a6621..4b4ee283e64 100644 --- a/lib/Support/Triple.cpp +++ b/lib/Support/Triple.cpp @@ -439,6 +439,23 @@ static const char *getObjectFormatTypeName(Triple::ObjectFormatType Kind) { } static Triple::ObjectFormatType getDefaultFormat(const Triple &T) { + switch (T.getArch()) { + default: + break; + case Triple::hexagon: + case Triple::mips: + case Triple::mipsel: + case Triple::mips64: + case Triple::mips64el: + case Triple::r600: + case Triple::amdgcn: + case Triple::sparc: + case Triple::sparcv9: + case Triple::systemz: + case Triple::xcore: + return Triple::ELF; + } + if (T.isOSDarwin()) return Triple::MachO; else if (T.isOSWindows()) diff --git a/test/CodeGen/R600/elf.ll b/test/CodeGen/R600/elf.ll index 127da2c8acc..d0fd06a3437 100644 --- a/test/CodeGen/R600/elf.ll +++ b/test/CodeGen/R600/elf.ll @@ -5,6 +5,9 @@ ; RUN: llc < %s -march=amdgcn -mcpu=carrizo -verify-machineinstrs -filetype=obj | llvm-readobj -s -symbols - | FileCheck --check-prefix=ELF %s ; RUN: llc < %s -march=amdgcn -mcpu=carrizo -verify-machineinstrs -o - | FileCheck --check-prefix=CONFIG --check-prefix=TYPICAL %s +; Test that we don't try to produce a COFF file on windows +; RUN: llc < %s -mtriple=amdgcn-pc-mingw -mcpu=SI -verify-machineinstrs -filetype=obj | llvm-readobj -s -symbols - | FileCheck --check-prefix=ELF %s + ; ELF: Format: ELF32 ; ELF: Name: .AMDGPU.config ; ELF: Type: SHT_PROGBITS