aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorasl <asl@91177308-0d34-0410-b5e6-96231b3b80d8>2008-07-19 13:14:46 +0000
committerasl <asl@91177308-0d34-0410-b5e6-96231b3b80d8>2008-07-19 13:14:46 +0000
commitf80e6081fcec250345117ca6594b9c0883b8ca98 (patch)
treeefa1dc05765c864558760ecfe141522e53ab23f1 /include
parente0d0f486879dce4bebfe667bb1d906a313c67123 (diff)
downloadexternal_llvm-f80e6081fcec250345117ca6594b9c0883b8ca98.zip
external_llvm-f80e6081fcec250345117ca6594b9c0883b8ca98.tar.gz
external_llvm-f80e6081fcec250345117ca6594b9c0883b8ca98.tar.bz2
Add TargetAsmInfo stuff for all darwin-based targets
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53787 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include')
-rw-r--r--include/llvm/Target/DarwinTargetAsmInfo.h43
1 files changed, 43 insertions, 0 deletions
diff --git a/include/llvm/Target/DarwinTargetAsmInfo.h b/include/llvm/Target/DarwinTargetAsmInfo.h
new file mode 100644
index 0000000..769273d
--- /dev/null
+++ b/include/llvm/Target/DarwinTargetAsmInfo.h
@@ -0,0 +1,43 @@
+//===---- DarwinTargetAsmInfo.h - Darwin asm properties ---------*- C++ -*-===//
+//
+// The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+//
+// This file defines target asm properties related what form asm statements
+// should take in general on Darwin-based targets
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef LLVM_ELF_TARGET_ASM_INFO_H
+#define LLVM_ELF_TARGET_ASM_INFO_H
+
+#include "llvm/Target/TargetAsmInfo.h"
+#include "llvm/Target/TargetMachine.h"
+
+namespace llvm {
+ class GlobalValue;
+ class GlobalVariable;
+
+ class DarwinTargetAsmInfo: public TargetAsmInfo {
+ const Section* TextCoalSection;
+ const Section* ConstDataCoalSection;
+ const Section* ConstDataSection;
+ const Section* DataCoalSection;
+
+ explicit DarwinTargetAsmInfo(const TargetMachine &TM);
+ virtual const Section* SelectSectionForGlobal(const GlobalValue *GV) const;
+ virtual std::string UniqueSectionForGlobal(const GlobalValue* GV,
+ SectionKind::Kind kind) const;
+ const Section* MergeableConstSection(const GlobalVariable *GV) const;
+ const Section* MergeableStringSection(const GlobalVariable *GV) const;
+ protected:
+ const TargetMachine* ETM;
+ };
+}
+
+
+#endif // LLVM_ELF_TARGET_ASM_INFO_H