summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/AMDGPU/AMDGPUHSATargetObjectFile.h
diff options
context:
space:
mode:
authorTom Stellard <thomas.stellard@amd.com>2015-09-25 21:41:28 +0000
committerTom Stellard <thomas.stellard@amd.com>2015-09-25 21:41:28 +0000
commite135ffd55416a98a634621b99584ece0c19e8003 (patch)
tree0e2c114958a67e9acc48b9181754d44e497bf51f /llvm/lib/Target/AMDGPU/AMDGPUHSATargetObjectFile.h
parent8e0257625dbe290acd1824cb7bd1224991edf132 (diff)
downloadbcm5719-llvm-e135ffd55416a98a634621b99584ece0c19e8003.tar.gz
bcm5719-llvm-e135ffd55416a98a634621b99584ece0c19e8003.zip
AMDGPU/SI: Use .hsatext section instead of .text for HSA
Reviewers: arsenm, grosbach, rafael Subscribers: arsenm, llvm-commits Differential Revision: http://reviews.llvm.org/D12424 llvm-svn: 248619
Diffstat (limited to 'llvm/lib/Target/AMDGPU/AMDGPUHSATargetObjectFile.h')
-rw-r--r--llvm/lib/Target/AMDGPU/AMDGPUHSATargetObjectFile.h35
1 files changed, 35 insertions, 0 deletions
diff --git a/llvm/lib/Target/AMDGPU/AMDGPUHSATargetObjectFile.h b/llvm/lib/Target/AMDGPU/AMDGPUHSATargetObjectFile.h
new file mode 100644
index 00000000000..d13aba56cdd
--- /dev/null
+++ b/llvm/lib/Target/AMDGPU/AMDGPUHSATargetObjectFile.h
@@ -0,0 +1,35 @@
+//===-- AMDGPUHSATargetObjectFile.h - AMDGPU HSA Object Info ----*- C++ -*-===//
+//
+// The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+///
+/// \file
+/// \brief This file declares the AMDGPU-specific subclass of
+/// TargetLoweringObjectFile use for targeting the HSA-runtime.
+///
+//===----------------------------------------------------------------------===//
+
+#ifndef LLVM_LIB_TARGET_AMDGPU_AMDGPUHSATARGETOBJECTFILE_H
+#define LLVM_LIB_TARGET_AMDGPU_AMDGPUHSATARGETOBJECTFILE_H
+
+#include "llvm/CodeGen/TargetLoweringObjectFileImpl.h"
+#include "llvm/Target/TargetMachine.h"
+
+namespace llvm {
+
+class AMDGPUHSATargetObjectFile final : public TargetLoweringObjectFileELF {
+public:
+ void Initialize(MCContext &Ctx, const TargetMachine &TM);
+
+ MCSection *SelectSectionForGlobal(const GlobalValue *GV, SectionKind Kind,
+ Mangler &Mang,
+ const TargetMachine &TM) const override;
+};
+
+} // end namespace llvm
+
+#endif
OpenPOWER on IntegriCloud