49 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			C++
		
	
	
	
			
		
		
	
	
			49 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			C++
		
	
	
	
| //===- NVPTXSection.h - NVPTX-specific section representation -*- C++ -*-===//
 | |
| //
 | |
| //                     The LLVM Compiler Infrastructure
 | |
| //
 | |
| // This file is distributed under the University of Illinois Open Source
 | |
| // License. See LICENSE.TXT for details.
 | |
| //
 | |
| //===----------------------------------------------------------------------===//
 | |
| //
 | |
| // This file declares the NVPTXSection class.
 | |
| //
 | |
| //===----------------------------------------------------------------------===//
 | |
| 
 | |
| #ifndef LLVM_NVPTXSECTION_H
 | |
| #define LLVM_NVPTXSECTION_H
 | |
| 
 | |
| #include "llvm/IR/GlobalVariable.h"
 | |
| #include "llvm/MC/MCSection.h"
 | |
| #include <vector>
 | |
| 
 | |
| namespace llvm {
 | |
| /// NVPTXSection - Represents a section in PTX
 | |
| /// PTX does not have sections. We create this class in order to use
 | |
| /// the ASMPrint interface.
 | |
| ///
 | |
| class NVPTXSection : public MCSection {
 | |
| 
 | |
| public:
 | |
|   NVPTXSection(SectionVariant V, SectionKind K) : MCSection(V, K) {}
 | |
|   ~NVPTXSection() {}
 | |
| 
 | |
|   /// Override this as NVPTX has its own way of printing switching
 | |
|   /// to a section.
 | |
|   virtual void PrintSwitchToSection(const MCAsmInfo &MAI,
 | |
|                                     raw_ostream &OS,
 | |
|                                     const MCExpr *Subsection) const {}
 | |
| 
 | |
|   /// Base address of PTX sections is zero.
 | |
|   virtual bool isBaseAddressKnownZero() const { return true; }
 | |
|   virtual bool UseCodeAlign() const { return false; }
 | |
|   virtual bool isVirtualSection() const { return false; }
 | |
|   virtual std::string getLabelBeginName() const { return ""; }
 | |
|   virtual std::string getLabelEndName() const { return ""; }
 | |
| };
 | |
| 
 | |
| } // end namespace llvm
 | |
| 
 | |
| #endif
 |