mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2025-05-14 19:18:36 +00:00

Summary: The commit rL348922 introduced a means to set Metadata section kind for a global variable, if its explicit section name was prefixed with ".AMDGPU.metadata.". This patch changes that prefix to ".AMDGPU.comment.", as "metadata" in the section name might lead to ambiguity with metadata used by AMD PAL runtime. Change-Id: Idd4748800d6fe801441d91595fc21e5a4171e668 Reviewers: kzhuravl Reviewed By: kzhuravl Subscribers: arsenm, kzhuravl, jvesely, wdng, nhaehnle, yaxunl, dstuttard, tpr, t-tye, llvm-commits Differential Revision: https://reviews.llvm.org/D56197 llvm-svn: 350292
42 lines
1.5 KiB
C++
42 lines
1.5 KiB
C++
//===-- AMDGPUHSATargetObjectFile.cpp - AMDGPU Object Files ---------------===//
|
|
//
|
|
// The LLVM Compiler Infrastructure
|
|
//
|
|
// This file is distributed under the University of Illinois Open Source
|
|
// License. See LICENSE.TXT for details.
|
|
//
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
#include "AMDGPUTargetObjectFile.h"
|
|
#include "AMDGPU.h"
|
|
#include "AMDGPUTargetMachine.h"
|
|
#include "Utils/AMDGPUBaseInfo.h"
|
|
#include "llvm/BinaryFormat/ELF.h"
|
|
#include "llvm/MC/MCContext.h"
|
|
#include "llvm/MC/MCSectionELF.h"
|
|
|
|
using namespace llvm;
|
|
|
|
//===----------------------------------------------------------------------===//
|
|
// Generic Object File
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
MCSection *AMDGPUTargetObjectFile::SelectSectionForGlobal(
|
|
const GlobalObject *GO, SectionKind Kind, const TargetMachine &TM) const {
|
|
if (Kind.isReadOnly() && AMDGPU::isReadOnlySegment(GO) &&
|
|
AMDGPU::shouldEmitConstantsToTextSection(TM.getTargetTriple()))
|
|
return TextSection;
|
|
|
|
return TargetLoweringObjectFileELF::SelectSectionForGlobal(GO, Kind, TM);
|
|
}
|
|
|
|
MCSection *AMDGPUTargetObjectFile::getExplicitSectionGlobal(
|
|
const GlobalObject *GO, SectionKind SK, const TargetMachine &TM) const {
|
|
// Set metadata access for the explicit section
|
|
StringRef SectionName = GO->getSection();
|
|
if (SectionName.startswith(".AMDGPU.comment."))
|
|
SK = SectionKind::getMetadata();
|
|
|
|
return TargetLoweringObjectFileELF::getExplicitSectionGlobal(GO, SK, TM);
|
|
}
|