diff options
Diffstat (limited to 'llvm/lib/Target/AMDGPU/AMDGPUHSATargetObjectFile.cpp')
-rw-r--r-- | llvm/lib/Target/AMDGPU/AMDGPUHSATargetObjectFile.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/llvm/lib/Target/AMDGPU/AMDGPUHSATargetObjectFile.cpp b/llvm/lib/Target/AMDGPU/AMDGPUHSATargetObjectFile.cpp index ee42eaacf54..32f53edeb77 100644 --- a/llvm/lib/Target/AMDGPU/AMDGPUHSATargetObjectFile.cpp +++ b/llvm/lib/Target/AMDGPU/AMDGPUHSATargetObjectFile.cpp @@ -26,6 +26,7 @@ void AMDGPUHSATargetObjectFile::Initialize(MCContext &Ctx, DataGlobalAgentSection = AMDGPU::getHSADataGlobalAgentSection(Ctx); DataGlobalProgramSection = AMDGPU::getHSADataGlobalProgramSection(Ctx); + RodataReadonlyAgentSection = AMDGPU::getHSARodataReadonlyAgentSection(Ctx); } bool AMDGPUHSATargetObjectFile::isAgentAllocationSection( @@ -63,5 +64,8 @@ MCSection *AMDGPUHSATargetObjectFile::SelectSectionForGlobal( return DataGlobalProgramSection; } + if (Kind.isReadOnly() && AMDGPU::isReadOnlySegment(GV)) + return RodataReadonlyAgentSection; + return TargetLoweringObjectFileELF::SelectSectionForGlobal(GV, Kind, Mang, TM); } |