33 lines · plain
1// # RUN: mlir-opt -test-print-invalid %s | FileCheck %s2// # RUN: mlir-opt -test-print-invalid %s --mlir-print-assume-verified | FileCheck %s --check-prefix=ASSUME-VERIFIED3 4// The pass creates some ops and prints them to stdout, the input is just an5// empty module.6module {}7 8// The operation is invalid because the body does not have a terminator, print9// the generic form.10// CHECK: Invalid operation:11// CHECK-NEXT: "func.func"() <{function_type = () -> (), sym_name = "test"}> ({12// CHECK-NEXT: ^bb0:13// CHECK-NEXT: })14 15// The operation is valid because the body has a terminator, print the custom16// form.17// CHECK: Valid operation:18// CHECK-NEXT: func @test() {19// CHECK-NEXT: return20// CHECK-NEXT: }21 22// With --mlir-print-assume-verified the custom form is printed in both cases.23// This works in this particular case, but may crash in general.24 25// ASSUME-VERIFIED: Invalid operation:26// ASSUME-VERIFIED-NEXT: func @test() {27// ASSUME-VERIFIED-NEXT: }28 29// ASSUME-VERIFIED: Valid operation:30// ASSUME-VERIFIED-NEXT: func @test() {31// ASSUME-VERIFIED-NEXT: return32// ASSUME-VERIFIED-NEXT: }33