mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-02-21 21:29:41 +00:00
[XCore] Use static relocation model by default.
This allows us to get get rid of a hack in XCoreTargetObjectFile where the the DataRel* sections were overridden. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181116 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
d66ad6c571
commit
0c66f30325
@ -66,6 +66,9 @@ static MCCodeGenInfo *createXCoreMCCodeGenInfo(StringRef TT, Reloc::Model RM,
|
|||||||
CodeModel::Model CM,
|
CodeModel::Model CM,
|
||||||
CodeGenOpt::Level OL) {
|
CodeGenOpt::Level OL) {
|
||||||
MCCodeGenInfo *X = new MCCodeGenInfo();
|
MCCodeGenInfo *X = new MCCodeGenInfo();
|
||||||
|
if (RM == Reloc::Default) {
|
||||||
|
RM = Reloc::Static;
|
||||||
|
}
|
||||||
X->InitMCCodeGenInfo(RM, CM, OL);
|
X->InitMCCodeGenInfo(RM, CM, OL);
|
||||||
return X;
|
return X;
|
||||||
}
|
}
|
||||||
|
@ -1623,6 +1623,12 @@ XCoreTargetLowering::isLegalAddressingMode(const AddrMode &AM,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool XCoreTargetLowering::
|
||||||
|
isOffsetFoldingLegal(const GlobalAddressSDNode *GA) const {
|
||||||
|
// The XCore target isn't yet aware of offsets.
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
//===----------------------------------------------------------------------===//
|
//===----------------------------------------------------------------------===//
|
||||||
// XCore Inline Assembly Support
|
// XCore Inline Assembly Support
|
||||||
//===----------------------------------------------------------------------===//
|
//===----------------------------------------------------------------------===//
|
||||||
|
@ -106,6 +106,8 @@ namespace llvm {
|
|||||||
virtual bool isLegalAddressingMode(const AddrMode &AM,
|
virtual bool isLegalAddressingMode(const AddrMode &AM,
|
||||||
Type *Ty) const;
|
Type *Ty) const;
|
||||||
|
|
||||||
|
virtual bool isOffsetFoldingLegal(const GlobalAddressSDNode *GA) const;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
const XCoreTargetMachine &TM;
|
const XCoreTargetMachine &TM;
|
||||||
const XCoreSubtarget &Subtarget;
|
const XCoreSubtarget &Subtarget;
|
||||||
|
@ -57,9 +57,4 @@ void XCoreTargetObjectFile::Initialize(MCContext &Ctx, const TargetMachine &TM){
|
|||||||
ELF::SHF_ALLOC |
|
ELF::SHF_ALLOC |
|
||||||
ELF::XCORE_SHF_CP_SECTION,
|
ELF::XCORE_SHF_CP_SECTION,
|
||||||
SectionKind::getReadOnlyWithRel());
|
SectionKind::getReadOnlyWithRel());
|
||||||
|
|
||||||
// Dynamic linking is not supported. Data with relocations is placed in the
|
|
||||||
// same section as data without relocations.
|
|
||||||
DataRelSection = DataRelLocalSection = DataSection;
|
|
||||||
DataRelROSection = DataRelROLocalSection = ReadOnlySection;
|
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user