Update getSectionForConstant() to to allow mergable sections to be nulled out

if not supported by the ELF subtarget.

llvm-svn: 79249
This commit is contained in:
Richard Osborne 2009-08-17 16:37:11 +00:00
parent d65007a4a3
commit 358842178f
2 changed files with 14 additions and 3 deletions

View File

@ -609,11 +609,11 @@ SelectSectionForGlobal(const GlobalValue *GV, SectionKind Kind,
/// should be placed in.
const MCSection *TargetLoweringObjectFileELF::
getSectionForConstant(SectionKind Kind) const {
if (Kind.isMergeableConst4())
if (Kind.isMergeableConst4() && MergeableConst4Section)
return MergeableConst4Section;
if (Kind.isMergeableConst8())
if (Kind.isMergeableConst8() && MergeableConst8Section)
return MergeableConst8Section;
if (Kind.isMergeableConst16())
if (Kind.isMergeableConst16() && MergeableConst16Section)
return MergeableConst16Section;
if (Kind.isReadOnly())
return ReadOnlySection;

View File

@ -0,0 +1,11 @@
; RUN: llvm-as < %s | llc -march=xcore -mcpu=xs1b-generic | FileCheck %s
; CHECK: .section .cp.rodata,"ac",@progbits
; CHECK: .LCPI1_0:
; CHECK: .long 12345678
; CHECK: f:
; CHECK: ldw r0, cp[.LCPI1_0]
define i32 @f() {
entry:
ret i32 12345678
}