| //===-- NVPTXBaseInfo.h - Top-level definitions for NVPTX -------*- C++ -*-===// |
| // |
| // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. |
| // See https://llvm.org/LICENSE.txt for license information. |
| // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception |
| // |
| //===----------------------------------------------------------------------===// |
| // |
| // This file contains small standalone helper functions and enum definitions for |
| // the NVPTX target useful for the compiler back-end and the MC libraries. |
| // As such, it deliberately does not include references to LLVM core |
| // code gen types, passes, etc.. |
| // |
| //===----------------------------------------------------------------------===// |
| |
| #ifndef LLVM_LIB_TARGET_NVPTX_MCTARGETDESC_NVPTXBASEINFO_H |
| #define LLVM_LIB_TARGET_NVPTX_MCTARGETDESC_NVPTXBASEINFO_H |
| |
| namespace llvm { |
| |
| enum AddressSpace { |
| ADDRESS_SPACE_GENERIC = 0, |
| ADDRESS_SPACE_GLOBAL = 1, |
| ADDRESS_SPACE_SHARED = 3, |
| ADDRESS_SPACE_CONST = 4, |
| ADDRESS_SPACE_LOCAL = 5, |
| |
| // NVVM Internal |
| ADDRESS_SPACE_PARAM = 101 |
| }; |
| |
| namespace NVPTXII { |
| enum { |
| // These must be kept in sync with TSFlags in NVPTXInstrFormats.td |
| IsTexFlag = 0x80, |
| IsSuldMask = 0x300, |
| IsSuldShift = 8, |
| IsSustFlag = 0x400, |
| IsSurfTexQueryFlag = 0x800, |
| IsTexModeUnifiedFlag = 0x1000 |
| }; |
| } // namespace NVPTXII |
| |
| } // namespace llvm |
| #endif |