Path: blob/main/contrib/llvm-project/llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXBaseInfo.h
35295 views
//===-- NVPTXBaseInfo.h - Top-level definitions for NVPTX -------*- C++ -*-===//1//2// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.3// See https://llvm.org/LICENSE.txt for license information.4// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception5//6//===----------------------------------------------------------------------===//7//8// This file contains small standalone helper functions and enum definitions for9// the NVPTX target useful for the compiler back-end and the MC libraries.10// As such, it deliberately does not include references to LLVM core11// code gen types, passes, etc..12//13//===----------------------------------------------------------------------===//1415#ifndef LLVM_LIB_TARGET_NVPTX_MCTARGETDESC_NVPTXBASEINFO_H16#define LLVM_LIB_TARGET_NVPTX_MCTARGETDESC_NVPTXBASEINFO_H1718namespace llvm {1920enum AddressSpace {21ADDRESS_SPACE_GENERIC = 0,22ADDRESS_SPACE_GLOBAL = 1,23ADDRESS_SPACE_SHARED = 3,24ADDRESS_SPACE_CONST = 4,25ADDRESS_SPACE_LOCAL = 5,2627// NVVM Internal28ADDRESS_SPACE_PARAM = 10129};3031namespace NVPTXII {32enum {33// These must be kept in sync with TSFlags in NVPTXInstrFormats.td34IsTexFlag = 0x80,35IsSuldMask = 0x300,36IsSuldShift = 8,37IsSustFlag = 0x400,38IsSurfTexQueryFlag = 0x800,39IsTexModeUnifiedFlag = 0x100040};41} // namespace NVPTXII4243} // namespace llvm44#endif454647