xref: /llvm-project/mlir/test/mlir-opt/split-markers.mlir (revision 83da7b6338053ca04cf0afe3c70ef5b8a9f6d300)
1516ccce7SIngo Müller// Check near-miss mechanics:
2516ccce7SIngo Müller// RUN: mlir-opt --split-input-file --verify-diagnostics %s 2> %t \
3*83da7b63SIngo Müller// RUN: && FileCheck --input-file %t --check-prefix=CHECK-DEFAULT %s
4516ccce7SIngo Müller// RUN: cat %t
5516ccce7SIngo Müller
6516ccce7SIngo Müller// Check that (1) custom input splitter and (2) custom output splitters work.
7*83da7b63SIngo Müller// RUN: mlir-opt %s -split-input-file="// CHECK-DEFAULT: ""----" \
8516ccce7SIngo Müller// RUN:   -output-split-marker="// ---- next split ----" \
9*83da7b63SIngo Müller// RUN: | FileCheck --check-prefix=CHECK-CUSTOM %s
10*83da7b63SIngo Müller
11*83da7b63SIngo Müller// Check that (3) the input is not split if `-split-input-file` is not given.
12*83da7b63SIngo Müller// RUN: mlir-opt %s 2> %t \
13*83da7b63SIngo Müller// RUN: || FileCheck --input-file %t --check-prefix=CHECK-NOSPLIT %s
14*83da7b63SIngo Müller// RUN: cat %t
15516ccce7SIngo Müller
16516ccce7SIngo Müllerfunc.func @main() {return}
17516ccce7SIngo Müller
18516ccce7SIngo Müller// -----
19516ccce7SIngo Müller
20516ccce7SIngo Müller// expected-note @+1 {{see existing symbol definition here}}
21516ccce7SIngo Müllerfunc.func @foo() { return }
22*83da7b63SIngo Müller// CHECK-DEFAULT: warning: near miss with file split marker
23*83da7b63SIngo Müller// CHECK-DEFAULT: ----
24516ccce7SIngo Müller// ----
25516ccce7SIngo Müller
26*83da7b63SIngo Müller// CHECK-NOSPLIT: error: redefinition of symbol named 'main'
27*83da7b63SIngo Müllerfunc.func @main() {return}
28*83da7b63SIngo Müller
29516ccce7SIngo Müller// expected-error @+1 {{redefinition of symbol named 'foo'}}
30516ccce7SIngo Müllerfunc.func @foo() { return }
31*83da7b63SIngo Müller// CHECK-DEFAULT: warning: near miss with file split marker
32*83da7b63SIngo Müller// CHECK-DEFAULT: ----
33516ccce7SIngo Müller// ----
34516ccce7SIngo Müllerfunc.func @bar2() {return }
35516ccce7SIngo Müller
36516ccce7SIngo Müller// No error flagged at the end for a near miss.
37516ccce7SIngo Müller// ----
38516ccce7SIngo Müller
39*83da7b63SIngo Müller// CHECK-CUSTOM: module
40*83da7b63SIngo Müller// CHECK-CUSTOM: ---- next split ----
41*83da7b63SIngo Müller// CHECK-CUSTOM: module
42*83da7b63SIngo Müller// CHECK-CUSTOM: ---- next split ----
43*83da7b63SIngo Müller// CHECK-CUSTOM: module
44