Changeset View
Changeset View
Standalone View
Standalone View
mlir/test/Dialect/LLVMIR/global.mlir
// RUN: mlir-opt -split-input-file -verify-diagnostics %s | FileCheck %s | // RUN: mlir-opt -split-input-file -verify-diagnostics %s | FileCheck %s | ||||
// CHECK: llvm.mlir.global external @default_external | // CHECK: llvm.mlir.global external @default_external | ||||
llvm.mlir.global @default_external() : i64 | llvm.mlir.global @default_external() : i64 | ||||
// CHECK: llvm.mlir.global external constant @default_external_constant | // CHECK: llvm.mlir.global external constant @default_external_constant | ||||
llvm.mlir.global constant @default_external_constant(42) : i64 | llvm.mlir.global constant @default_external_constant(42) : i64 | ||||
// CHECK: llvm.mlir.global internal @global(42 : i64) : i64 | // CHECK: llvm.mlir.global internal @global(42 : i64) {addr_space = 0 : i32} : i64 | ||||
llvm.mlir.global internal @global(42 : i64) : i64 | llvm.mlir.global internal @global(42 : i64) : i64 | ||||
// CHECK: llvm.mlir.global private @aligned_global(42 : i64) {aligned = 64 : i64} : i64 | // CHECK: llvm.mlir.global private @aligned_global(42 : i64) {addr_space = 0 : i32, aligned = 64 : i64} : i64 | ||||
llvm.mlir.global private @aligned_global(42 : i64) {aligned = 64} : i64 | llvm.mlir.global private @aligned_global(42 : i64) {aligned = 64} : i64 | ||||
// CHECK: llvm.mlir.global private constant @aligned_global_const(42 : i64) {aligned = 32 : i64} : i64 | // CHECK: llvm.mlir.global private constant @aligned_global_const(42 : i64) {addr_space = 0 : i32, aligned = 32 : i64} : i64 | ||||
llvm.mlir.global private constant @aligned_global_const(42 : i64) {aligned = 32} : i64 | llvm.mlir.global private constant @aligned_global_const(42 : i64) {aligned = 32} : i64 | ||||
// CHECK: llvm.mlir.global internal constant @constant(3.700000e+01 : f64) : f32 | // CHECK: llvm.mlir.global internal constant @constant(3.700000e+01 : f64) {addr_space = 0 : i32} : f32 | ||||
llvm.mlir.global internal constant @constant(37.0) : f32 | llvm.mlir.global internal constant @constant(37.0) : f32 | ||||
// CHECK: llvm.mlir.global internal constant @".string"("foobar") | // CHECK: llvm.mlir.global internal constant @".string"("foobar") | ||||
llvm.mlir.global internal constant @".string"("foobar") : !llvm.array<6 x i8> | llvm.mlir.global internal constant @".string"("foobar") : !llvm.array<6 x i8> | ||||
// CHECK: llvm.mlir.global internal @string_notype("1234567") | // CHECK: llvm.mlir.global internal @string_notype("1234567") | ||||
llvm.mlir.global internal @string_notype("1234567") | llvm.mlir.global internal @string_notype("1234567") | ||||
// CHECK: llvm.mlir.global internal @global_undef() | // CHECK: llvm.mlir.global internal @global_undef() | ||||
llvm.mlir.global internal @global_undef() : i64 | llvm.mlir.global internal @global_undef() : i64 | ||||
// CHECK: llvm.mlir.global internal @global_mega_initializer() : i64 { | // CHECK: llvm.mlir.global internal @global_mega_initializer() {addr_space = 0 : i32} : i64 { | ||||
// CHECK-NEXT: %[[c:[0-9]+]] = llvm.mlir.constant(42 : i64) : i64 | // CHECK-NEXT: %[[c:[0-9]+]] = llvm.mlir.constant(42 : i64) : i64 | ||||
// CHECK-NEXT: llvm.return %[[c]] : i64 | // CHECK-NEXT: llvm.return %[[c]] : i64 | ||||
// CHECK-NEXT: } | // CHECK-NEXT: } | ||||
llvm.mlir.global internal @global_mega_initializer() : i64 { | llvm.mlir.global internal @global_mega_initializer() : i64 { | ||||
%c = llvm.mlir.constant(42 : i64) : i64 | %c = llvm.mlir.constant(42 : i64) : i64 | ||||
llvm.return %c : i64 | llvm.return %c : i64 | ||||
} | } | ||||
Show All 13 Lines | |||||
// CHECK: llvm.mlir.global appending | // CHECK: llvm.mlir.global appending | ||||
llvm.mlir.global appending @appending() : !llvm.array<2 x i64> | llvm.mlir.global appending @appending() : !llvm.array<2 x i64> | ||||
// CHECK: llvm.mlir.global extern_weak | // CHECK: llvm.mlir.global extern_weak | ||||
llvm.mlir.global extern_weak @extern_weak() : i64 | llvm.mlir.global extern_weak @extern_weak() : i64 | ||||
// CHECK: llvm.mlir.global linkonce_odr | // CHECK: llvm.mlir.global linkonce_odr | ||||
llvm.mlir.global linkonce_odr @linkonce_odr() : i64 | llvm.mlir.global linkonce_odr @linkonce_odr() : i64 | ||||
// CHECK: llvm.mlir.global weak_odr | // CHECK: llvm.mlir.global weak_odr | ||||
llvm.mlir.global weak_odr @weak_odr() : i64 | llvm.mlir.global weak_odr @weak_odr() : i64 | ||||
// CHECK: llvm.mlir.global external @has_thr_local(42 : i64) {thr_local} : i64 | // CHECK: llvm.mlir.global external @has_thr_local(42 : i64) {addr_space = 0 : i32, thr_local} : i64 | ||||
llvm.mlir.global external @has_thr_local(42 : i64) {thr_local} : i64 | llvm.mlir.global external @has_thr_local(42 : i64) {thr_local} : i64 | ||||
// CHECK: llvm.mlir.global external @has_dso_local(42 : i64) {dso_local} : i64 | // CHECK: llvm.mlir.global external @has_dso_local(42 : i64) {addr_space = 0 : i32, dso_local} : i64 | ||||
llvm.mlir.global external @has_dso_local(42 : i64) {dso_local} : i64 | llvm.mlir.global external @has_dso_local(42 : i64) {dso_local} : i64 | ||||
// CHECK: llvm.mlir.global external @has_addr_space(32 : i64) {addr_space = 3 : i32} : i64 | // CHECK: llvm.mlir.global external @has_addr_space(32 : i64) {addr_space = 3 : i32} : i64 | ||||
llvm.mlir.global external @has_addr_space(32 : i64) {addr_space = 3: i32} : i64 | llvm.mlir.global external @has_addr_space(32 : i64) {addr_space = 3: i32} : i64 | ||||
// CHECK-LABEL: references | // CHECK-LABEL: references | ||||
func.func @references() { | func.func @references() { | ||||
// CHECK: llvm.mlir.addressof @global : !llvm.ptr<i64> | // CHECK: llvm.mlir.addressof @global : !llvm.ptr<i64> | ||||
%0 = llvm.mlir.addressof @global : !llvm.ptr<i64> | %0 = llvm.mlir.addressof @global : !llvm.ptr<i64> | ||||
// CHECK: llvm.mlir.addressof @".string" : !llvm.ptr<array<6 x i8>> | // CHECK: llvm.mlir.addressof @".string" : !llvm.ptr<array<6 x i8>> | ||||
%1 = llvm.mlir.addressof @".string" : !llvm.ptr<array<6 x i8>> | %1 = llvm.mlir.addressof @".string" : !llvm.ptr<array<6 x i8>> | ||||
// CHECK: llvm.mlir.addressof @global : !llvm.ptr | // CHECK: llvm.mlir.addressof @global : !llvm.ptr | ||||
%2 = llvm.mlir.addressof @global : !llvm.ptr | %2 = llvm.mlir.addressof @global : !llvm.ptr | ||||
// CHECK: llvm.mlir.addressof @has_addr_space : !llvm.ptr<3> | // CHECK: llvm.mlir.addressof @has_addr_space : !llvm.ptr<3> | ||||
%3 = llvm.mlir.addressof @has_addr_space : !llvm.ptr<3> | %3 = llvm.mlir.addressof @has_addr_space : !llvm.ptr<3> | ||||
llvm.return | llvm.return | ||||
} | } | ||||
// CHECK: llvm.mlir.global private local_unnamed_addr constant @local(42 : i64) : i64 | // CHECK: llvm.mlir.global private local_unnamed_addr constant @local(42 : i64) {addr_space = 0 : i32} : i64 | ||||
llvm.mlir.global private local_unnamed_addr constant @local(42 : i64) : i64 | llvm.mlir.global private local_unnamed_addr constant @local(42 : i64) : i64 | ||||
// CHECK: llvm.mlir.global private unnamed_addr constant @foo(42 : i64) : i64 | // CHECK: llvm.mlir.global private unnamed_addr constant @foo(42 : i64) {addr_space = 0 : i32} : i64 | ||||
llvm.mlir.global private unnamed_addr constant @foo(42 : i64) : i64 | llvm.mlir.global private unnamed_addr constant @foo(42 : i64) : i64 | ||||
// CHECK: llvm.mlir.global internal constant @sectionvar("teststring") {section = ".mysection"} | // CHECK: llvm.mlir.global internal constant @sectionvar("teststring") {addr_space = 0 : i32, section = ".mysection"} | ||||
llvm.mlir.global internal constant @sectionvar("teststring") {section = ".mysection"}: !llvm.array<10 x i8> | llvm.mlir.global internal constant @sectionvar("teststring") {section = ".mysection"}: !llvm.array<10 x i8> | ||||
// ----- | // ----- | ||||
// expected-error @+1 {{op requires attribute 'sym_name'}} | // expected-error @+1 {{op requires attribute 'sym_name'}} | ||||
"llvm.mlir.global"() ({}) {linkage = "private", type = i64, constant, global_type = i64, value = 42 : i64} : () -> () | "llvm.mlir.global"() ({}) {linkage = "private", type = i64, constant, global_type = i64, value = 42 : i64} : () -> () | ||||
// ----- | // ----- | ||||
▲ Show 20 Lines • Show All 150 Lines • Show Last 20 Lines |