xref: /trueos/contrib/llvm/lib/Target/R600/MCTargetDesc/AMDGPUELFObjectWriter.cpp (revision 8d21fe8a6db85aa205755bfd9930de5b0a6fa749)
1 //===-- AMDGPUELFObjectWriter.cpp - AMDGPU ELF Writer ----------------------==//
2 //
3 //                     The LLVM Compiler Infrastructure
4 //
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
7 //
8 /// \file
9 //===----------------------------------------------------------------------===//
10 
11 #include "AMDGPUMCTargetDesc.h"
12 #include "llvm/MC/MCELFObjectWriter.h"
13 
14 using namespace llvm;
15 
16 namespace {
17 
18 class AMDGPUELFObjectWriter : public MCELFObjectTargetWriter {
19 public:
20   AMDGPUELFObjectWriter();
21 protected:
GetRelocType(const MCValue & Target,const MCFixup & Fixup,bool IsPCRel,bool IsRelocWithSymbol,int64_t Addend) const22   virtual unsigned GetRelocType(const MCValue &Target, const MCFixup &Fixup,
23                                 bool IsPCRel, bool IsRelocWithSymbol,
24                                 int64_t Addend) const {
25     llvm_unreachable("Not implemented");
26   }
27 
28 };
29 
30 
31 } // End anonymous namespace
32 
AMDGPUELFObjectWriter()33 AMDGPUELFObjectWriter::AMDGPUELFObjectWriter()
34   : MCELFObjectTargetWriter(false, 0, 0, false) { }
35 
createAMDGPUELFObjectWriter(raw_ostream & OS)36 MCObjectWriter *llvm::createAMDGPUELFObjectWriter(raw_ostream &OS) {
37   MCELFObjectTargetWriter *MOTW = new AMDGPUELFObjectWriter();
38   return createELFObjectWriter(MOTW, OS, true);
39 }
40