forked from OSchip/llvm-project
65 lines
1.4 KiB
MLIR
65 lines
1.4 KiB
MLIR
// RUN: mlir-opt -allow-unregistered-dialect %s -split-input-file -mlir-print-debuginfo -mlir-print-local-scope | FileCheck %s
|
|
|
|
// CHECK: module {
|
|
module {
|
|
}
|
|
|
|
// -----
|
|
|
|
// CHECK: module attributes {foo.attr = true} {
|
|
module attributes {foo.attr = true} {
|
|
}
|
|
|
|
// -----
|
|
|
|
// CHECK: module {
|
|
module {
|
|
// CHECK-NEXT: "foo.result_op"() : () -> i32
|
|
%result = "foo.result_op"() : () -> i32
|
|
}
|
|
|
|
// -----
|
|
|
|
// Check that a top-level module is always created, with location info.
|
|
// CHECK: module {
|
|
// CHECK-NEXT: } loc({{.*}}module-op.mlir{{.*}})
|
|
|
|
// -----
|
|
|
|
// Check that the top-level module can be defined via a single module operation.
|
|
// CHECK: module {
|
|
// CHECK-NOT: module {
|
|
module {
|
|
}
|
|
|
|
// -----
|
|
|
|
// Check that the implicit top-level module is also a name scope for SSA
|
|
// values. This should not crash.
|
|
// CHECK: module {
|
|
// CHECK: %{{.*}} = "op"
|
|
// CHECK: }
|
|
%0 = "op"() : () -> i32
|
|
|
|
// -----
|
|
|
|
// CHECK-LABEL: module @foo
|
|
// CHECK-NOT: attributes
|
|
module @foo {
|
|
// CHECK: module
|
|
module {
|
|
// CHECK: module @bar attributes
|
|
module @bar attributes {foo.bar} {
|
|
}
|
|
}
|
|
}
|
|
|
|
// -----
|
|
|
|
// expected-error@below {{expects at most one data layout attribute}}
|
|
// expected-note@below {{'test.another_attribute' is a data layout attribute}}
|
|
// expected-note@below {{'test.random_attribute' is a data layout attribute}}
|
|
module attributes { test.random_attribute = #dlti.dl_spec<>,
|
|
test.another_attribute = #dlti.dl_spec<>} {
|
|
}
|