Home | History | Annotate | Line # | Download | only in MCTargetDesc
      1 //===-- NVPTXBaseInfo.h - Top-level definitions for NVPTX -------*- 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 small standalone helper functions and enum definitions for
     10 // the NVPTX target useful for the compiler back-end and the MC libraries.
     11 // As such, it deliberately does not include references to LLVM core
     12 // code gen types, passes, etc..
     13 //
     14 //===----------------------------------------------------------------------===//
     15 
     16 #ifndef LLVM_LIB_TARGET_NVPTX_MCTARGETDESC_NVPTXBASEINFO_H
     17 #define LLVM_LIB_TARGET_NVPTX_MCTARGETDESC_NVPTXBASEINFO_H
     18 
     19 namespace llvm {
     20 
     21 enum AddressSpace {
     22   ADDRESS_SPACE_GENERIC = 0,
     23   ADDRESS_SPACE_GLOBAL = 1,
     24   ADDRESS_SPACE_SHARED = 3,
     25   ADDRESS_SPACE_CONST = 4,
     26   ADDRESS_SPACE_LOCAL = 5,
     27 
     28   // NVVM Internal
     29   ADDRESS_SPACE_PARAM = 101
     30 };
     31 
     32 namespace NVPTXII {
     33 enum {
     34   // These must be kept in sync with TSFlags in NVPTXInstrFormats.td
     35   IsTexFlag = 0x80,
     36   IsSuldMask = 0x300,
     37   IsSuldShift = 8,
     38   IsSustFlag = 0x400,
     39   IsSurfTexQueryFlag = 0x800,
     40   IsTexModeUnifiedFlag = 0x1000
     41 };
     42 } // namespace NVPTXII
     43 
     44 } // namespace llvm
     45 #endif
     46