mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-24 11:42:57 +01:00
Add support for mergeable sections back into the XCore backend.
llvm-svn: 79368
This commit is contained in:
parent
1d84247c99
commit
a3a49aeee0
@ -28,11 +28,24 @@ void XCoreTargetObjectFile::Initialize(MCContext &Ctx, const TargetMachine &TM){
|
||||
MCSectionXCore::SHF_DP_SECTION,
|
||||
SectionKind::getBSS(), false, getContext());
|
||||
|
||||
// For now, disable lowering of mergable sections, just drop everything into
|
||||
// ReadOnly.
|
||||
MergeableConst4Section = 0;
|
||||
MergeableConst8Section = 0;
|
||||
MergeableConst16Section = 0;
|
||||
MergeableConst4Section =
|
||||
MCSectionXCore::Create(".cp.rodata.cst4", MCSectionELF::SHT_PROGBITS,
|
||||
MCSectionELF::SHF_ALLOC | MCSectionELF::SHF_MERGE |
|
||||
MCSectionXCore::SHF_CP_SECTION,
|
||||
SectionKind::getMergeableConst4(), false,
|
||||
getContext());
|
||||
MergeableConst8Section =
|
||||
MCSectionXCore::Create(".cp.rodata.cst8", MCSectionELF::SHT_PROGBITS,
|
||||
MCSectionELF::SHF_ALLOC | MCSectionELF::SHF_MERGE |
|
||||
MCSectionXCore::SHF_CP_SECTION,
|
||||
SectionKind::getMergeableConst8(), false,
|
||||
getContext());
|
||||
MergeableConst16Section =
|
||||
MCSectionXCore::Create(".cp.rodata.cst16", MCSectionELF::SHT_PROGBITS,
|
||||
MCSectionELF::SHF_ALLOC | MCSectionELF::SHF_MERGE |
|
||||
MCSectionXCore::SHF_CP_SECTION,
|
||||
SectionKind::getMergeableConst16(), false,
|
||||
getContext());
|
||||
|
||||
// TLS globals are lowered in the backend to arrays indexed by the current
|
||||
// thread id. After lowering they require no special handling by the linker
|
||||
|
@ -1,6 +1,6 @@
|
||||
; RUN: llvm-as < %s | llc -march=xcore -mcpu=xs1b-generic | FileCheck %s
|
||||
|
||||
; CHECK: .section .cp.rodata,"ac",@progbits
|
||||
; CHECK: .section .cp.rodata.cst4,"aMc",@progbits,4
|
||||
; CHECK: .LCPI1_0:
|
||||
; CHECK: .long 12345678
|
||||
; CHECK: f:
|
||||
|
@ -68,7 +68,7 @@ entry:
|
||||
; CHECK: G2:
|
||||
|
||||
@G3 = constant i32 9401
|
||||
; CHECK: .section .cp.rodata,"ac",@progbits
|
||||
; CHECK: .section .cp.rodata.cst4,"aMc",@progbits,4
|
||||
; CHECK: G3:
|
||||
|
||||
@G4 = global i32* @G1
|
||||
|
Loading…
Reference in New Issue
Block a user