aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Target/X86/X86TargetObjectFile.h
diff options
context:
space:
mode:
authorRafael Espindola <rafael.espindola@gmail.com>2012-06-19 00:48:28 +0000
committerRafael Espindola <rafael.espindola@gmail.com>2012-06-19 00:48:28 +0000
commitca3e0ee8b3843c1c558e3ae824570d1b623fda9d (patch)
treee3ab9fc8ddeb64b71d16ec1d3ba1e0315699bd41 /llvm/lib/Target/X86/X86TargetObjectFile.h
parent9ea8f7e6c53fa6b6fbfab811578ec0e16153707f (diff)
downloadllvm-ca3e0ee8b3843c1c558e3ae824570d1b623fda9d.zip
llvm-ca3e0ee8b3843c1c558e3ae824570d1b623fda9d.tar.gz
llvm-ca3e0ee8b3843c1c558e3ae824570d1b623fda9d.tar.bz2
Move the support for using .init_array from ARM to the generic
TargetLoweringObjectFileELF. Use this to support it on X86. Unlike ARM, on X86 it is not easy to find out if .init_array should be used or not, so the decision is made via TargetOptions and defaults to off. Add a command line option to llc that enables it. llvm-svn: 158692
Diffstat (limited to 'llvm/lib/Target/X86/X86TargetObjectFile.h')
-rw-r--r--llvm/lib/Target/X86/X86TargetObjectFile.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/llvm/lib/Target/X86/X86TargetObjectFile.h b/llvm/lib/Target/X86/X86TargetObjectFile.h
index a02a368..7698b59 100644
--- a/llvm/lib/Target/X86/X86TargetObjectFile.h
+++ b/llvm/lib/Target/X86/X86TargetObjectFile.h
@@ -32,6 +32,12 @@ namespace llvm {
MachineModuleInfo *MMI) const;
};
+ /// X86LinuxTargetObjectFile - This implementation is used for linux x86
+ /// and x86-64.
+ class X86LinuxTargetObjectFile : public TargetLoweringObjectFileELF {
+ virtual void Initialize(MCContext &Ctx, const TargetMachine &TM);
+ };
+
} // end namespace llvm
#endif