// RUN: cir-opt %s --verify-roundtrip | FileCheck %s !s32i = !cir.int module { // ---- PointerType with address space ---- cir.func @target_address_space_ptr(%p: !cir.ptr) { cir.return } cir.func @lang_address_space_offload_local(%p: !cir.ptr) { cir.return } cir.func @lang_address_space_offload_global(%p: !cir.ptr) { cir.return } cir.func @lang_address_space_offload_constant(%p: !cir.ptr) { cir.return } cir.func @lang_address_space_offload_private(%p: !cir.ptr) { cir.return } cir.func @lang_address_space_offload_generic(%p: !cir.ptr) { cir.return } cir.func @default_address_space(%p: !cir.ptr) { cir.return } // ---- GlobalOp with address space ---- cir.global external target_address_space(1) @global_target_as = #cir.int<42> : !s32i cir.global "private" internal lang_address_space(offload_local) @global_lang_local : !s32i cir.global external lang_address_space(offload_global) @global_lang_global = #cir.int<1> : !s32i cir.global external lang_address_space(offload_constant) @global_lang_constant = #cir.int<2> : !s32i cir.global external @global_default_as = #cir.int<0> : !s32i // ---- GetGlobalOp with address space ---- cir.func @get_global_with_address_space() { %0 = cir.get_global @global_target_as : !cir.ptr %1 = cir.get_global @global_lang_global : !cir.ptr %2 = cir.get_global @global_default_as : !cir.ptr cir.return } } // CHECK: cir.func @target_address_space_ptr(%arg0: !cir.ptr) // CHECK: cir.func @lang_address_space_offload_local(%arg0: !cir.ptr) // CHECK: cir.func @lang_address_space_offload_global(%arg0: !cir.ptr) // CHECK: cir.func @lang_address_space_offload_constant(%arg0: !cir.ptr) // CHECK: cir.func @lang_address_space_offload_private(%arg0: !cir.ptr) // CHECK: cir.func @lang_address_space_offload_generic(%arg0: !cir.ptr) // CHECK: cir.func @default_address_space(%arg0: !cir.ptr) // CHECK: cir.global external target_address_space(1) @global_target_as = #cir.int<42> : !s32i // CHECK: cir.global "private" internal lang_address_space(offload_local) @global_lang_local : !s32i // CHECK: cir.global external lang_address_space(offload_global) @global_lang_global = #cir.int<1> : !s32i // CHECK: cir.global external lang_address_space(offload_constant) @global_lang_constant = #cir.int<2> : !s32i // CHECK: cir.global external @global_default_as = #cir.int<0> : !s32i // CHECK: cir.func @get_global_with_address_space() // CHECK: cir.get_global @global_target_as : !cir.ptr // CHECK: cir.get_global @global_lang_global : !cir.ptr // CHECK: cir.get_global @global_default_as : !cir.ptr