Coverage Report

Created: 2017-10-03 07:32

/Users/buildslave/jenkins/sharedspace/clang-stage2-coverage-R@2/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.33k
  NVPTXSection(SectionVariant V, SectionKind K) : MCSection(V, K, nullptr) {}
30
4.25k
  ~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
186
                            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