aboutsummaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorasl <asl@91177308-0d34-0410-b5e6-96231b3b80d8>2008-07-19 13:15:46 +0000
committerasl <asl@91177308-0d34-0410-b5e6-96231b3b80d8>2008-07-19 13:15:46 +0000
commitcf0f6c28077b134bcc1d36143ef2f4f646ff982e (patch)
tree1b989093b852c6aa5065cc358653b91b8ae3c38f /lib
parent631323bdb86e6dc7f44a8233370e6501ca46f1c9 (diff)
downloadexternal_llvm-cf0f6c28077b134bcc1d36143ef2f4f646ff982e.zip
external_llvm-cf0f6c28077b134bcc1d36143ef2f4f646ff982e.tar.gz
external_llvm-cf0f6c28077b134bcc1d36143ef2f4f646ff982e.tar.bz2
Fix a FIXME :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53789 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib')
-rw-r--r--lib/Target/DarwinTargetAsmInfo.cpp11
-rw-r--r--lib/Target/X86/X86TargetAsmInfo.cpp2
2 files changed, 7 insertions, 6 deletions
diff --git a/lib/Target/DarwinTargetAsmInfo.cpp b/lib/Target/DarwinTargetAsmInfo.cpp
index 971623d..311126d 100644
--- a/lib/Target/DarwinTargetAsmInfo.cpp
+++ b/lib/Target/DarwinTargetAsmInfo.cpp
@@ -32,9 +32,9 @@ DarwinTargetAsmInfo::DarwinTargetAsmInfo(const TargetMachine &TM) {
SectionFlags::Mergeable);
EightByteConstantSection_ = getUnnamedSection("\t.literal8\n",
SectionFlags::Mergeable);
- // FIXME: Check for 64 bit
- SixteenByteConstantSection_ = getUnnamedSection("\t.literal16\n",
- SectionFlags::Mergeable);
+ // Note: 16-byte constant section is subtarget specific and should be provided
+ // there.
+
ReadOnlySection_ = getUnnamedSection("\t.const\n", SectionFlags::None);
// FIXME: These should be named sections, really.
@@ -114,9 +114,8 @@ DarwinTargetAsmInfo::MergeableConstSection(const GlobalVariable *GV) const {
return FourByteConstantSection_;
else if (Size == 8)
return EightByteConstantSection_;
- // FIXME: 64 bit
- /*else if (Size == 16 && DTM->getSubtarget<X86Subtarget>().is64Bit())
- return SixteenByteConstantSection_;*/
+ else if (Size == 16 && SixteenByteConstantSection_)
+ return SixteenByteConstantSection_;
return getReadOnlySection_();
}
diff --git a/lib/Target/X86/X86TargetAsmInfo.cpp b/lib/Target/X86/X86TargetAsmInfo.cpp
index 0e634c6..f7443c3 100644
--- a/lib/Target/X86/X86TargetAsmInfo.cpp
+++ b/lib/Target/X86/X86TargetAsmInfo.cpp
@@ -148,6 +148,8 @@ X86DarwinTargetAsmInfo::X86DarwinTargetAsmInfo(const X86TargetMachine &TM):
// FIXME: Why don't always use this section?
if (is64Bit) {
SixteenByteConstantSection = "\t.literal16\n";
+ SixteenByteConstantSection_ = getUnnamedSection("\t.literal16\n",
+ SectionFlags::Mergeable);
}
ReadOnlySection = "\t.const\n";