blob: 819bebb7932d752b8f0b5394abec251385f61e8f [file] [log] [blame]
Tom Stellardc93fc112015-12-10 02:13:01 +00001//===-- AMDGPUTargetObjectFile.h - AMDGPU Object Info ----*- C++ -*-===//
Tom Stellarde135ffd2015-09-25 21:41:28 +00002//
Chandler Carruth2946cd72019-01-19 08:50:56 +00003// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4// See https://llvm.org/LICENSE.txt for license information.
5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
Tom Stellarde135ffd2015-09-25 21:41:28 +00006//
7//===----------------------------------------------------------------------===//
8///
9/// \file
Adrian Prantl5f8f34e42018-05-01 15:54:18 +000010/// This file declares the AMDGPU-specific subclass of
Tom Stellardc93fc112015-12-10 02:13:01 +000011/// TargetLoweringObjectFile.
Tom Stellarde135ffd2015-09-25 21:41:28 +000012///
13//===----------------------------------------------------------------------===//
14
Tom Stellardc93fc112015-12-10 02:13:01 +000015#ifndef LLVM_LIB_TARGET_AMDGPU_AMDGPUTARGETOBJECTFILE_H
16#define LLVM_LIB_TARGET_AMDGPU_AMDGPUTARGETOBJECTFILE_H
Tom Stellarde135ffd2015-09-25 21:41:28 +000017
Yaxun Liu1a14bfa2017-03-27 14:04:01 +000018#include "AMDGPU.h"
Tom Stellarde135ffd2015-09-25 21:41:28 +000019#include "llvm/CodeGen/TargetLoweringObjectFileImpl.h"
20#include "llvm/Target/TargetMachine.h"
21
22namespace llvm {
23
Tom Stellardc93fc112015-12-10 02:13:01 +000024class AMDGPUTargetObjectFile : public TargetLoweringObjectFileELF {
25 public:
Peter Collingbourne67335642016-10-24 19:23:39 +000026 MCSection *SelectSectionForGlobal(const GlobalObject *GO, SectionKind Kind,
Tom Stellardc93fc112015-12-10 02:13:01 +000027 const TargetMachine &TM) const override;
Piotr Sobczak3732b4c2018-12-12 11:20:04 +000028 MCSection *getExplicitSectionGlobal(const GlobalObject *GO, SectionKind Kind,
29 const TargetMachine &TM) const override;
Tom Stellardc93fc112015-12-10 02:13:01 +000030};
31
Tom Stellarde135ffd2015-09-25 21:41:28 +000032} // end namespace llvm
33
34#endif