summaryrefslogtreecommitdiffstats
path: root/llvm
diff options
context:
space:
mode:
authorAkira Hatanaka <ahatanaka@apple.com>2015-10-14 23:29:10 +0000
committerAkira Hatanaka <ahatanaka@apple.com>2015-10-14 23:29:10 +0000
commitd58d347e42a529d79ede463e2f0c26dfa6f2cb50 (patch)
treed3eebb7861977e0750a0f1d3c036a68655e330ce /llvm
parentb74d3b3b86c606ca72315efd252300fde0db3691 (diff)
downloadbcm5719-llvm-d58d347e42a529d79ede463e2f0c26dfa6f2cb50.tar.gz
bcm5719-llvm-d58d347e42a529d79ede463e2f0c26dfa6f2cb50.zip
Revert r250342.
Investigate why coal-sections-powerpc.s is failing on some buildbots. llvm-svn: 250346
Diffstat (limited to 'llvm')
-rw-r--r--llvm/lib/MC/MCObjectFileInfo.cpp41
-rw-r--r--llvm/lib/MC/MCParser/DarwinAsmParser.cpp25
-rw-r--r--llvm/test/CodeGen/PowerPC/coal-sections.ll24
-rw-r--r--llvm/test/CodeGen/X86/coal-sections.ll23
-rw-r--r--llvm/test/CodeGen/X86/global-sections.ll7
-rw-r--r--llvm/test/MC/MachO/coal-sections-powerpc.s46
-rw-r--r--llvm/test/MC/MachO/coal-sections-x86_64.s48
7 files changed, 17 insertions, 197 deletions
diff --git a/llvm/lib/MC/MCObjectFileInfo.cpp b/llvm/lib/MC/MCObjectFileInfo.cpp
index 666a1c306c5..31091ef284a 100644
--- a/llvm/lib/MC/MCObjectFileInfo.cpp
+++ b/llvm/lib/MC/MCObjectFileInfo.cpp
@@ -114,37 +114,22 @@ void MCObjectFileInfo::initMachOMCObjectFileInfo(Triple T) {
= Ctx->getMachOSection("__TEXT", "__const", 0,
SectionKind::getReadOnly());
- // If the target is not powerpc, map the coal sections to the non-coal
- // sections.
- //
- // "__TEXT/__textcoal_nt" => section "__TEXT/__text"
- // "__TEXT/__const_coal" => section "__TEXT/__const"
- // "__DATA/__datacoal_nt" => section "__DATA/__data"
- Triple::ArchType ArchTy = T.getArch();
-
- if (ArchTy == Triple::ppc || ArchTy == Triple::ppc64) {
- TextCoalSection
- = Ctx->getMachOSection("__TEXT", "__textcoal_nt",
- MachO::S_COALESCED |
- MachO::S_ATTR_PURE_INSTRUCTIONS,
- SectionKind::getText());
- ConstTextCoalSection
- = Ctx->getMachOSection("__TEXT", "__const_coal",
- MachO::S_COALESCED,
- SectionKind::getReadOnly());
- DataCoalSection
- = Ctx->getMachOSection("__DATA","__datacoal_nt",
- MachO::S_COALESCED,
- SectionKind::getDataRel());
- } else {
- TextCoalSection = TextSection;
- ConstTextCoalSection = ReadOnlySection;
- DataCoalSection = DataSection;
- }
-
+ TextCoalSection
+ = Ctx->getMachOSection("__TEXT", "__textcoal_nt",
+ MachO::S_COALESCED |
+ MachO::S_ATTR_PURE_INSTRUCTIONS,
+ SectionKind::getText());
+ ConstTextCoalSection
+ = Ctx->getMachOSection("__TEXT", "__const_coal",
+ MachO::S_COALESCED,
+ SectionKind::getReadOnly());
ConstDataSection // .const_data
= Ctx->getMachOSection("__DATA", "__const", 0,
SectionKind::getReadOnlyWithRel());
+ DataCoalSection
+ = Ctx->getMachOSection("__DATA","__datacoal_nt",
+ MachO::S_COALESCED,
+ SectionKind::getDataRel());
DataCommonSection
= Ctx->getMachOSection("__DATA","__common",
MachO::S_ZEROFILL,
diff --git a/llvm/lib/MC/MCParser/DarwinAsmParser.cpp b/llvm/lib/MC/MCParser/DarwinAsmParser.cpp
index 5e99ad092f7..dc664e8a8f6 100644
--- a/llvm/lib/MC/MCParser/DarwinAsmParser.cpp
+++ b/llvm/lib/MC/MCParser/DarwinAsmParser.cpp
@@ -10,10 +10,8 @@
#include "llvm/MC/MCParser/MCAsmParserExtension.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/ADT/StringSwitch.h"
-#include "llvm/ADT/Triple.h"
#include "llvm/ADT/Twine.h"
#include "llvm/MC/MCContext.h"
-#include "llvm/MC/MCObjectFileInfo.h"
#include "llvm/MC/MCParser/MCAsmLexer.h"
#include "llvm/MC/MCParser/MCAsmParser.h"
#include "llvm/MC/MCSectionMachO.h"
@@ -581,29 +579,6 @@ bool DarwinAsmParser::parseDirectiveSection(StringRef, SMLoc) {
if (!ErrorStr.empty())
return Error(Loc, ErrorStr.c_str());
- // Issue a warning if the target is not powerpc and Section is a *coal* section.
- Triple TT = getParser().getContext().getObjectFileInfo()->getTargetTriple();
- Triple::ArchType ArchTy = TT.getArch();
-
- if (ArchTy != Triple::ppc && ArchTy != Triple::ppc64) {
- StringRef NonCoalSection = StringSwitch<StringRef>(Section)
- .Case("__textcoal_nt", "__text")
- .Case("__const_coal", "__const")
- .Case("__datacoal_nt", "__data")
- .Default(Section);
-
- if (!Section.equals(NonCoalSection)) {
- StringRef SectionVal(Loc.getPointer());
- size_t B = SectionVal.find(',') + 1, E = SectionVal.find(',', B);
- SMLoc BLoc = SMLoc::getFromPointer(SectionVal.data() + B);
- SMLoc ELoc = SMLoc::getFromPointer(SectionVal.data() + E);
- getParser().Warning(Loc, "section \"" + Section + "\" is deprecated",
- SMRange(BLoc, ELoc));
- getParser().Note(Loc, "change section name to \"" + NonCoalSection +
- "\"", SMRange(BLoc, ELoc));
- }
- }
-
// FIXME: Arch specific.
bool isText = Segment == "__TEXT"; // FIXME: Hack.
getStreamer().SwitchSection(getContext().getMachOSection(
diff --git a/llvm/test/CodeGen/PowerPC/coal-sections.ll b/llvm/test/CodeGen/PowerPC/coal-sections.ll
deleted file mode 100644
index 27552eb6621..00000000000
--- a/llvm/test/CodeGen/PowerPC/coal-sections.ll
+++ /dev/null
@@ -1,24 +0,0 @@
-; RUN: llc < %s -mtriple powerpc-apple-darwin | FileCheck %s
-
-; Check that *coal* sections are emitted.
-
-; CHECK: .section __TEXT,__textcoal_nt,coalesced,pure_instructions
-; CHECK: .section __TEXT,__textcoal_nt,coalesced,pure_instructions
-; CHECK-NEXT: .globl _foo
-
-; CHECK: .section __TEXT,__const_coal,coalesced
-; CHECK-NEXT: .globl _a
-
-; CHECK: .section __DATA,__datacoal_nt,coalesced
-; CHECK-NEXT: .globl _b
-
-@a = weak_odr constant [4 x i32] [i32 1, i32 2, i32 3, i32 4], align 16
-@b = weak global i32 5, align 4
-@g = common global i32* null, align 8
-
-; Function Attrs: nounwind ssp uwtable
-define weak i32* @foo() {
-entry:
- store i32* getelementptr inbounds ([4 x i32], [4 x i32]* @a, i64 0, i64 0), i32** @g, align 8
- ret i32* @b
-}
diff --git a/llvm/test/CodeGen/X86/coal-sections.ll b/llvm/test/CodeGen/X86/coal-sections.ll
deleted file mode 100644
index 05b2a8c8bf8..00000000000
--- a/llvm/test/CodeGen/X86/coal-sections.ll
+++ /dev/null
@@ -1,23 +0,0 @@
-; RUN: llc < %s -mtriple x86_64-apple-darwin | FileCheck %s
-
-; Check that *coal* sections are not emitted.
-
-; CHECK: .section __TEXT,__text,regular,pure_instructions{{$}}
-; CHECK-NEXT: .globl _foo
-
-; CHECK: .section __TEXT,__const{{$}}
-; CHECK-NEXT: .globl _a
-
-; CHECK: .section __DATA,__data{{$}}
-; CHECK-NEXT: .globl _b
-
-@a = weak_odr constant [4 x i32] [i32 1, i32 2, i32 3, i32 4], align 16
-@b = weak global i32 5, align 4
-@g = common global i32* null, align 8
-
-; Function Attrs: nounwind ssp uwtable
-define weak i32* @foo() {
-entry:
- store i32* getelementptr inbounds ([4 x i32], [4 x i32]* @a, i64 0, i64 0), i32** @g, align 8
- ret i32* @b
-}
diff --git a/llvm/test/CodeGen/X86/global-sections.ll b/llvm/test/CodeGen/X86/global-sections.ll
index 92440f2b331..82547a60674 100644
--- a/llvm/test/CodeGen/X86/global-sections.ll
+++ b/llvm/test/CodeGen/X86/global-sections.ll
@@ -117,7 +117,7 @@ bb7:
; TODO: linux drops this into .rodata, we drop it into ".gnu.linkonce.r.G2"
-; DARWIN: .section __TEXT,__const{{$}}
+; DARWIN: .section __TEXT,__const_coal,coalesced
; DARWIN: _G2:
; DARWIN: .long 42
@@ -176,6 +176,7 @@ bb7:
; LINUX: .weak "foo bar"
; LINUX: "foo bar":
+; DARWIN: .section __DATA,__datacoal_nt,coalesced
; DARWIN: .globl "_foo bar"
; DARWIN: .weak_definition "_foo bar"
; DARWIN: "_foo bar":
@@ -189,7 +190,7 @@ bb7:
; LINUX: .byte 1
; LINUX: .size G6, 1
-; DARWIN: .section __TEXT,__const{{$}}
+; DARWIN: .section __TEXT,__const_coal,coalesced
; DARWIN: .globl _G6
; DARWIN: .weak_definition _G6
; DARWIN:_G6:
@@ -238,7 +239,7 @@ bb7:
@G10 = weak global [100 x i32] zeroinitializer, align 32 ; <[100 x i32]*> [#uses=0]
-; DARWIN: .section __DATA,__data{{$}}
+; DARWIN: .section __DATA,__datacoal_nt,coalesced
; DARWIN: .globl _G10
; DARWIN: .weak_definition _G10
; DARWIN: .align 5
diff --git a/llvm/test/MC/MachO/coal-sections-powerpc.s b/llvm/test/MC/MachO/coal-sections-powerpc.s
deleted file mode 100644
index 8bf93b02d00..00000000000
--- a/llvm/test/MC/MachO/coal-sections-powerpc.s
+++ /dev/null
@@ -1,46 +0,0 @@
-// RUN: llvm-mc -triple powerpc-apple-darwin -filetype=obj %s -o - | llvm-readobj -sections | FileCheck %s
-
-// CHECK: Section {
-// CHECK-NEXT: Index: 0
-
-// CHECK: Section {
-// CHECK-NEXT: Index: 1
-// CHECK-NEXT: Name: __textcoal_nt (
-
-// CHECK: Section {
-// CHECK-NEXT: Index: 2
-
-// CHECK: Section {
-// CHECK-NEXT: Index: 3
-// CHECK-NEXT: Name: __const_coal (
-
-// CHECK: Section {
-// CHECK-NEXT: Index: 4
-// CHECK-NEXT: Name: __datacoal_nt (
-
- .section __TEXT,__text,regular,pure_instructions
- .machine ppc
- .section __TEXT,__textcoal_nt,coalesced,pure_instructions
- .section __TEXT,__symbol_stub1,symbol_stubs,pure_instructions,16
- .section __TEXT,__text,regular,pure_instructions
- .section __TEXT,__textcoal_nt,coalesced,pure_instructions
- .globl _foo
- .weak_definition _foo
- .align 4
-_foo:
- blr
-
-.subsections_via_symbols
- .section __TEXT,__const_coal,coalesced
- .globl _a ; @a
- .weak_definition _a
- .align 4
-_a:
- .long 1 ; 0x1
-
- .section __DATA,__datacoal_nt,coalesced
- .globl _b ; @b
- .weak_definition _b
- .align 2
-_b:
- .long 5 ; 0x5
diff --git a/llvm/test/MC/MachO/coal-sections-x86_64.s b/llvm/test/MC/MachO/coal-sections-x86_64.s
deleted file mode 100644
index 5ecdc578dbb..00000000000
--- a/llvm/test/MC/MachO/coal-sections-x86_64.s
+++ /dev/null
@@ -1,48 +0,0 @@
-// RUN: llvm-mc -triple x86_64-apple-darwin -filetype=obj %s -o - 2>%t.err | llvm-readobj -sections | FileCheck %s
-// RUN: FileCheck --check-prefix=WARNING < %t.err %s
-
-// CHECK: Section {
-// CHECK-NEXT: Index: 0
-// CHECK-NEXT: Name: __text (
-
-// CHECK: Section {
-// CHECK-NEXT: Index: 1
-// CHECK-NEXT: Name: __textcoal_nt (
-
-// CHECK: Section {
-// CHECK-NEXT: Index: 2
-// CHECK-NEXT: Name: __const_coal (
-
-// CHECK: Section {
-// CHECK-NEXT: Index: 3
-// CHECK-NEXT: Name: __datacoal_nt (
-
-// WARNING: warning: section "__textcoal_nt" is deprecated
-// WARNING: note: change section name to "__text"
-// WARNING: warning: section "__const_coal" is deprecated
-// WARNING: note: change section name to "__const"
-// WARNING: warning: section "__datacoal_nt" is deprecated
-// WARNING: note: change section name to "__data"
-
- .section __TEXT,__textcoal_nt,coalesced,pure_instructions
- .globl _foo
- .weak_definition _foo
- .align 4, 0x90
-_foo:
- retq
-
- .section __TEXT,__const_coal,coalesced
- .globl _a ## @a
- .weak_definition _a
- .align 4
-_a:
- .long 1 ## 0x1
-
- .section __DATA,__datacoal_nt,coalesced
- .globl _b ## @b
- .weak_definition _b
- .align 2
-_b:
- .long 5 ## 0x5
-
-.subsections_via_symbols
OpenPOWER on IntegriCloud