summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/AMDGPU/AMDGPUTargetObjectFile.cpp
diff options
context:
space:
mode:
authorKonstantin Zhuravlyov <kzhuravl_dev@outlook.com>2016-10-20 18:12:38 +0000
committerKonstantin Zhuravlyov <kzhuravl_dev@outlook.com>2016-10-20 18:12:38 +0000
commit08326b6256b9d98d317ba8fc86678f7703480a14 (patch)
treea76e4816be689fa81a2c050c3875438645022027 /llvm/lib/Target/AMDGPU/AMDGPUTargetObjectFile.cpp
parente329a9fad62fe614496f7cccbd1e302299a41788 (diff)
downloadbcm5719-llvm-08326b6256b9d98d317ba8fc86678f7703480a14.tar.gz
bcm5719-llvm-08326b6256b9d98d317ba8fc86678f7703480a14.zip
[AMDGPU] Emit constant address space data in .rodata section and use relocations instead of fixups (amdhsa only)
Differential Revision: https://reviews.llvm.org/D25693 llvm-svn: 284759
Diffstat (limited to 'llvm/lib/Target/AMDGPU/AMDGPUTargetObjectFile.cpp')
-rw-r--r--llvm/lib/Target/AMDGPU/AMDGPUTargetObjectFile.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/llvm/lib/Target/AMDGPU/AMDGPUTargetObjectFile.cpp b/llvm/lib/Target/AMDGPU/AMDGPUTargetObjectFile.cpp
index 739c609eeb1..1dbb8a3a77f 100644
--- a/llvm/lib/Target/AMDGPU/AMDGPUTargetObjectFile.cpp
+++ b/llvm/lib/Target/AMDGPU/AMDGPUTargetObjectFile.cpp
@@ -9,10 +9,10 @@
#include "AMDGPUTargetObjectFile.h"
#include "AMDGPU.h"
-#include "Utils/AMDGPUBaseInfo.h"
#include "llvm/MC/MCContext.h"
#include "llvm/MC/MCSectionELF.h"
#include "llvm/Support/ELF.h"
+#include "Utils/AMDGPUBaseInfo.h"
using namespace llvm;
@@ -22,7 +22,8 @@ using namespace llvm;
MCSection *AMDGPUTargetObjectFile::SelectSectionForGlobal(
const GlobalValue *GV, SectionKind Kind, const TargetMachine &TM) const {
- if (Kind.isReadOnly() && AMDGPU::isReadOnlySegment(GV))
+ if (Kind.isReadOnly() && AMDGPU::isReadOnlySegment(GV) &&
+ AMDGPU::shouldEmitConstantsToTextSection(TM.getTargetTriple()))
return TextSection;
return TargetLoweringObjectFileELF::SelectSectionForGlobal(GV, Kind, TM);
OpenPOWER on IntegriCloud