xref: /freebsd-src/contrib/llvm-project/llvm/include/llvm/MC/MCSectionSPIRV.h (revision 0fca6ea1d4eea4c934cfff25ac9ee8ad6fe95583)
181ad6265SDimitry Andric //===- MCSectionSPIRV.h - SPIR-V Machine Code Sections ----------*- C++ -*-===//
281ad6265SDimitry Andric //
381ad6265SDimitry Andric // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
481ad6265SDimitry Andric // See https://llvm.org/LICENSE.txt for license information.
581ad6265SDimitry Andric // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
681ad6265SDimitry Andric //
781ad6265SDimitry Andric //===----------------------------------------------------------------------===//
881ad6265SDimitry Andric //
981ad6265SDimitry Andric // This file declares the MCSectionSPIRV class.
1081ad6265SDimitry Andric //
1181ad6265SDimitry Andric //===----------------------------------------------------------------------===//
1281ad6265SDimitry Andric 
1381ad6265SDimitry Andric #ifndef LLVM_MC_MCSECTIONSPIRV_H
1481ad6265SDimitry Andric #define LLVM_MC_MCSECTIONSPIRV_H
1581ad6265SDimitry Andric 
1681ad6265SDimitry Andric #include "llvm/MC/MCSection.h"
1781ad6265SDimitry Andric #include "llvm/MC/SectionKind.h"
1881ad6265SDimitry Andric 
1981ad6265SDimitry Andric namespace llvm {
2081ad6265SDimitry Andric 
2181ad6265SDimitry Andric class MCSymbol;
2281ad6265SDimitry Andric 
2381ad6265SDimitry Andric class MCSectionSPIRV final : public MCSection {
2481ad6265SDimitry Andric   friend class MCContext;
2581ad6265SDimitry Andric 
26*0fca6ea1SDimitry Andric   MCSectionSPIRV()
27*0fca6ea1SDimitry Andric       : MCSection(SV_SPIRV, "", /*IsText=*/true, /*IsVirtual=*/false,
28*0fca6ea1SDimitry Andric                   /*Begin=*/nullptr) {}
2981ad6265SDimitry Andric   // TODO: Add StringRef Name to MCSectionSPIRV.
3081ad6265SDimitry Andric 
3181ad6265SDimitry Andric public:
3281ad6265SDimitry Andric   ~MCSectionSPIRV() = default;
3381ad6265SDimitry Andric   void printSwitchToSection(const MCAsmInfo &MAI, const Triple &T,
3481ad6265SDimitry Andric                             raw_ostream &OS,
35*0fca6ea1SDimitry Andric                             uint32_t Subsection) const override {}
3681ad6265SDimitry Andric   bool useCodeAlign() const override { return false; }
3781ad6265SDimitry Andric };
3881ad6265SDimitry Andric 
3981ad6265SDimitry Andric } // end namespace llvm
4081ad6265SDimitry Andric 
4181ad6265SDimitry Andric #endif // LLVM_MC_MCSECTIONSPIRV_H
42