xref: /freebsd/contrib/llvm-project/llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXMCAsmInfo.h (revision dd41de95a84d979615a2ef11df6850622bf6184e)
1 //===-- NVPTXMCAsmInfo.h - NVPTX asm properties ----------------*- C++ -*--===//
2 //
3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4 // See https://llvm.org/LICENSE.txt for license information.
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6 //
7 //===----------------------------------------------------------------------===//
8 //
9 // This file contains the declaration of the NVPTXMCAsmInfo class.
10 //
11 //===----------------------------------------------------------------------===//
12 
13 #ifndef LLVM_LIB_TARGET_NVPTX_MCTARGETDESC_NVPTXMCASMINFO_H
14 #define LLVM_LIB_TARGET_NVPTX_MCTARGETDESC_NVPTXMCASMINFO_H
15 
16 #include "llvm/MC/MCAsmInfo.h"
17 
18 namespace llvm {
19 class Triple;
20 
21 class NVPTXMCAsmInfo : public MCAsmInfo {
22   virtual void anchor();
23 
24 public:
25   explicit NVPTXMCAsmInfo(const Triple &TheTriple,
26                           const MCTargetOptions &Options);
27 
28   /// Return true if the .section directive should be omitted when
29   /// emitting \p SectionName.  For example:
30   ///
31   /// shouldOmitSectionDirective(".text")
32   ///
33   /// returns false => .section .text,#alloc,#execinstr
34   /// returns true  => .text
35   bool shouldOmitSectionDirective(StringRef SectionName) const override {
36     return true;
37   }
38 };
39 } // namespace llvm
40 
41 #endif
42