mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-06-12 13:38:21 +00:00
eliminate TargetLoweringObjectFileSparc in favor of a TAI hook.
A TAI hook is appropriate in this case because this is just an asm syntax issue, not a semantic difference. TLOF should model the semantics of the section. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78498 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@ -18,8 +18,9 @@
|
||||
#include "llvm/GlobalVariable.h"
|
||||
#include "llvm/MC/MCContext.h"
|
||||
#include "llvm/MC/MCSection.h"
|
||||
#include "llvm/Target/TargetMachine.h"
|
||||
#include "llvm/Target/TargetAsmInfo.h"
|
||||
#include "llvm/Target/TargetData.h"
|
||||
#include "llvm/Target/TargetMachine.h"
|
||||
#include "llvm/Target/TargetOptions.h"
|
||||
#include "llvm/Support/Mangler.h"
|
||||
#include "llvm/ADT/StringExtras.h"
|
||||
@ -407,7 +408,25 @@ getExplicitSectionGlobal(const GlobalValue *GV, SectionKind Kind,
|
||||
|
||||
|
||||
void TargetLoweringObjectFileELF::
|
||||
getSectionFlagsAsString(SectionKind Kind, SmallVectorImpl<char> &Str) const {
|
||||
getSectionFlagsAsString(SectionKind Kind, SmallVectorImpl<char> &Str,
|
||||
const TargetAsmInfo &TAI) const {
|
||||
// Handle the weird solaris syntax if desired.
|
||||
if (TAI.usesSunStyleELFSectionSwitchSyntax() &&
|
||||
!Kind.isMergeableConst() && !Kind.isMergeableCString()) {
|
||||
// FIXME: Inefficient.
|
||||
std::string Res;
|
||||
if (!Kind.isMetadata())
|
||||
Res += ",#alloc";
|
||||
if (Kind.isText())
|
||||
Res += ",#execinstr";
|
||||
if (Kind.isWriteable())
|
||||
Res += ",#write";
|
||||
if (Kind.isThreadLocal())
|
||||
Res += ",#tls";
|
||||
Str.append(Res.begin(), Res.end());
|
||||
return;
|
||||
}
|
||||
|
||||
Str.push_back(',');
|
||||
Str.push_back('"');
|
||||
|
||||
@ -848,7 +867,8 @@ getExplicitSectionGlobal(const GlobalValue *GV, SectionKind Kind,
|
||||
|
||||
|
||||
void TargetLoweringObjectFileCOFF::
|
||||
getSectionFlagsAsString(SectionKind Kind, SmallVectorImpl<char> &Str) const {
|
||||
getSectionFlagsAsString(SectionKind Kind, SmallVectorImpl<char> &Str,
|
||||
const TargetAsmInfo &TAI) const {
|
||||
// FIXME: Inefficient.
|
||||
std::string Res = ",\"";
|
||||
if (Kind.isText())
|
||||
|
Reference in New Issue
Block a user