Fix GCC build problem with 288f05f related to SmallVector. (#116958)
[llvm-project.git] / mlir / test / IR / module-op.mlir
blobd99806c92a902be9bcaf50263920a4348fe79247
1 // RUN: mlir-opt -allow-unregistered-dialect %s -split-input-file -mlir-print-debuginfo -mlir-print-local-scope  | FileCheck %s
3 // CHECK: module {
4 module {
7 // -----
9 // CHECK: module attributes {foo.attr = true} {
10 module attributes {foo.attr = true} {
13 // -----
15 // CHECK: module {
16 module {
17   // CHECK-NEXT: "foo.result_op"() : () -> i32
18   %result = "foo.result_op"() : () -> i32
21 // -----
23 // Check that a top-level module is always created, with location info.
24 // CHECK: module {
25 // CHECK-NEXT: } loc({{.*}}module-op.mlir{{.*}})
27 // -----
29 // Check that the top-level module can be defined via a single module operation.
30 // CHECK: module {
31 // CHECK-NOT: module {
32 module {
35 // -----
37 // Check that the implicit top-level module is also a name scope for SSA
38 // values.  This should not crash.
39 // CHECK: module {
40 // CHECK: %{{.*}} = "op"
41 // CHECK: }
42 %0 = "op"() : () -> i32
44 // -----
46 // CHECK-LABEL: module @foo
47 // CHECK-NOT: attributes
48 module @foo {
49   // CHECK: module
50   module {
51     // CHECK: module @bar attributes
52     module @bar attributes {foo.bar} {
53     }
54   }
57 // -----
59 // expected-error@below {{expects at most one data layout attribute}}
60 // expected-note@below {{'test.another_attribute' is a data layout attribute}}
61 // expected-note@below {{'test.random_attribute' is a data layout attribute}}
62 module attributes { test.random_attribute = #dlti.dl_spec<>,
63                     test.another_attribute = #dlti.dl_spec<>} {