aboutsummaryrefslogtreecommitdiff
path: root/lib/Target/X86/X86AsmBackend.cpp
diff options
context:
space:
mode:
authorDaniel Dunbar <daniel@zuster.org>2010-03-18 00:58:53 +0000
committerDaniel Dunbar <daniel@zuster.org>2010-03-18 00:58:53 +0000
commit0682951b4f569b9a162ddfcffaa90a3ba5adb231 (patch)
tree184ca41be38fff4489a4b0bfdb9d61c308d0de1d /lib/Target/X86/X86AsmBackend.cpp
parentec1176a206229b8aab0106715e640646d3efb692 (diff)
MC/Darwin: Add a new target hook for whether the target uses "reliable" symbol differences, basically whether the assembler should attempt to understand atoms when using scattered symbols.
Also, avoid some virtual call overhead. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98789 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/X86/X86AsmBackend.cpp')
-rw-r--r--lib/Target/X86/X86AsmBackend.cpp13
1 files changed, 7 insertions, 6 deletions
diff --git a/lib/Target/X86/X86AsmBackend.cpp b/lib/Target/X86/X86AsmBackend.cpp
index a44afc6984..d7a9e1a965 100644
--- a/lib/Target/X86/X86AsmBackend.cpp
+++ b/lib/Target/X86/X86AsmBackend.cpp
@@ -25,11 +25,10 @@ public:
class DarwinX86AsmBackend : public X86AsmBackend {
public:
DarwinX86AsmBackend(const Target &T)
- : X86AsmBackend(T) {}
-
- virtual bool hasAbsolutizedSet() const { return true; }
-
- virtual bool hasScatteredSymbols() const { return true; }
+ : X86AsmBackend(T) {
+ HasAbsolutizedSet = true;
+ HasScatteredSymbols = true;
+ }
};
class DarwinX86_32AsmBackend : public DarwinX86AsmBackend {
@@ -41,7 +40,9 @@ public:
class DarwinX86_64AsmBackend : public DarwinX86AsmBackend {
public:
DarwinX86_64AsmBackend(const Target &T)
- : DarwinX86AsmBackend(T) {}
+ : DarwinX86AsmBackend(T) {
+ HasReliableSymbolDifference = true;
+ }
virtual bool doesSectionRequireSymbols(const MCSection &Section) const {
// Temporary labels in the string literals sections require symbols. The