1292915Sdim//===-- AMDGPUTargetObjectFile.h - AMDGPU Object Info ----*- C++ -*-===// 2292915Sdim// 3353358Sdim// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4353358Sdim// See https://llvm.org/LICENSE.txt for license information. 5353358Sdim// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6292915Sdim// 7292915Sdim//===----------------------------------------------------------------------===// 8292915Sdim/// 9292915Sdim/// \file 10341825Sdim/// This file declares the AMDGPU-specific subclass of 11292915Sdim/// TargetLoweringObjectFile. 12292915Sdim/// 13292915Sdim//===----------------------------------------------------------------------===// 14292915Sdim 15292915Sdim#ifndef LLVM_LIB_TARGET_AMDGPU_AMDGPUTARGETOBJECTFILE_H 16292915Sdim#define LLVM_LIB_TARGET_AMDGPU_AMDGPUTARGETOBJECTFILE_H 17292915Sdim 18321369Sdim#include "AMDGPU.h" 19292915Sdim#include "llvm/CodeGen/TargetLoweringObjectFileImpl.h" 20292915Sdim#include "llvm/Target/TargetMachine.h" 21292915Sdim 22292915Sdimnamespace llvm { 23292915Sdim 24292915Sdimclass AMDGPUTargetObjectFile : public TargetLoweringObjectFileELF { 25292915Sdim public: 26314564Sdim MCSection *SelectSectionForGlobal(const GlobalObject *GO, SectionKind Kind, 27292915Sdim const TargetMachine &TM) const override; 28344779Sdim MCSection *getExplicitSectionGlobal(const GlobalObject *GO, SectionKind Kind, 29344779Sdim const TargetMachine &TM) const override; 30292915Sdim}; 31292915Sdim 32292915Sdim} // end namespace llvm 33292915Sdim 34292915Sdim#endif 35