NVPTXBaseInfo.h revision 355940
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 19namespace llvm { 20 21enum 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 32namespace NVPTXII { 33enum { 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