/Users/buildslave/jenkins/workspace/clang-stage2-coverage-R/llvm/lib/Target/NVPTX/NVPTXSection.h
Line | Count | Source (jump to first uncovered line) |
1 | | //===- NVPTXSection.h - NVPTX-specific section representation ---*- C++ -*-===// |
2 | | // |
3 | | // The LLVM Compiler Infrastructure |
4 | | // |
5 | | // This file is distributed under the University of Illinois Open Source |
6 | | // License. See LICENSE.TXT for details. |
7 | | // |
8 | | //===----------------------------------------------------------------------===// |
9 | | // |
10 | | // This file declares the NVPTXSection class. |
11 | | // |
12 | | //===----------------------------------------------------------------------===// |
13 | | |
14 | | #ifndef LLVM_LIB_TARGET_NVPTX_NVPTXSECTION_H |
15 | | #define LLVM_LIB_TARGET_NVPTX_NVPTXSECTION_H |
16 | | |
17 | | #include "llvm/MC/MCSection.h" |
18 | | #include "llvm/MC/SectionKind.h" |
19 | | |
20 | | namespace llvm { |
21 | | |
22 | | /// Represents a section in PTX PTX does not have sections. We create this class |
23 | | /// in order to use the ASMPrint interface. |
24 | | /// |
25 | | class NVPTXSection final : public MCSection { |
26 | | virtual void anchor(); |
27 | | |
28 | | public: |
29 | 4.50k | NVPTXSection(SectionVariant V, SectionKind K) : MCSection(V, K, nullptr) {} |
30 | 4.42k | ~NVPTXSection() = default; |
31 | | |
32 | | /// Override this as NVPTX has its own way of printing switching |
33 | | /// to a section. |
34 | | void PrintSwitchToSection(const MCAsmInfo &MAI, const Triple &T, |
35 | | raw_ostream &OS, |
36 | 195 | const MCExpr *Subsection) const override {} |
37 | | |
38 | | /// Base address of PTX sections is zero. |
39 | 0 | bool UseCodeAlign() const override { return false; } |
40 | 0 | bool isVirtualSection() const override { return false; } |
41 | | }; |
42 | | |
43 | | } // end namespace llvm |
44 | | |
45 | | #endif // LLVM_LIB_TARGET_NVPTX_NVPTXSECTION_H |