Line data Source code
1 : //===-- AMDGPUHSATargetObjectFile.cpp - AMDGPU Object Files ---------------===//
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 : //===----------------------------------------------------------------------===//
9 :
10 : #include "AMDGPUTargetObjectFile.h"
11 : #include "AMDGPU.h"
12 : #include "AMDGPUTargetMachine.h"
13 : #include "Utils/AMDGPUBaseInfo.h"
14 : #include "llvm/BinaryFormat/ELF.h"
15 : #include "llvm/MC/MCContext.h"
16 : #include "llvm/MC/MCSectionELF.h"
17 :
18 : using namespace llvm;
19 :
20 : //===----------------------------------------------------------------------===//
21 : // Generic Object File
22 : //===----------------------------------------------------------------------===//
23 :
24 22168 : MCSection *AMDGPUTargetObjectFile::SelectSectionForGlobal(
25 : const GlobalObject *GO, SectionKind Kind, const TargetMachine &TM) const {
26 75 : if (Kind.isReadOnly() && AMDGPU::isReadOnlySegment(GO) &&
27 37 : AMDGPU::shouldEmitConstantsToTextSection(TM.getTargetTriple()))
28 33 : return TextSection;
29 :
30 22135 : return TargetLoweringObjectFileELF::SelectSectionForGlobal(GO, Kind, TM);
31 : }
|