MC: Sketch some TargetAsmBackend hooks we are going to need.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98221 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Daniel Dunbar
2010-03-11 01:34:21 +00:00
parent 6c27f5e574
commit 23ac7c78e4
2 changed files with 44 additions and 2 deletions

View File

@@ -21,14 +21,34 @@ public:
: TargetAsmBackend(T) {}
};
class DarwinX86AsmBackend : public X86AsmBackend {
public:
DarwinX86AsmBackend(const Target &T)
: X86AsmBackend(T) {}
virtual bool hasAbsolutizedSet() const { return true; }
virtual bool hasScatteredSymbols() const { return true; }
};
}
TargetAsmBackend *llvm::createX86_32AsmBackend(const Target &T,
const std::string &TT) {
return new X86AsmBackend(T);
switch (Triple(TT).getOS()) {
case Triple::Darwin:
return new DarwinX86AsmBackend(T);
default:
return new X86AsmBackend(T);
}
}
TargetAsmBackend *llvm::createX86_64AsmBackend(const Target &T,
const std::string &TT) {
return new X86AsmBackend(T);
switch (Triple(TT).getOS()) {
case Triple::Darwin:
return new DarwinX86AsmBackend(T);
default:
return new X86AsmBackend(T);
}
}