LLVM 22.0.0git
NVPTXAddrSpace.h
Go to the documentation of this file.
1//===---------------- NVPTXAddrSpace.h -------------------------*- 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/// \file
10/// NVPTX address space definition
11///
12//
13//===----------------------------------------------------------------------===//
14
15#ifndef LLVM_SUPPORT_NVPTXADDRSPACE_H
16#define LLVM_SUPPORT_NVPTXADDRSPACE_H
17
18namespace llvm {
19namespace NVPTXAS {
20
21enum AddressSpace : unsigned {
29
31};
32
33// According to official PTX Writer's Guide, DWARF debug information should
34// contain DW_AT_address_class attribute for all variables and parameters.
35// It's required for cuda-gdb to be able to properly reflect the memory space
36// of variable address. Acceptable address class codes are listed in this enum.
37//
38// More detailed information:
39// https://docs.nvidia.com/cuda/ptx-writers-guide-to-interoperability/index.html#cuda-specific-dwarf-definitions
40enum DWARF_AddressSpace : unsigned {
53};
54
55} // end namespace NVPTXAS
56} // end namespace llvm
57
58#endif // LLVM_SUPPORT_NVPTXADDRSPACE_H
@ DWARF_ADDR_tex_sampler_space
@ ADDRESS_SPACE_SHARED_CLUSTER
This is an optimization pass for GlobalISel generic memory operations.
Definition: AddressRanges.h:18