1*4fed3d37SChristian Ulmann// RUN: mlir-opt %s -convert-cf-to-llvm | FileCheck %s 2cbd7aaacSMarkus Böck 3c4769ef5SMatthias Springer// Same below, but using the `ConvertToLLVMPatternInterface` entry point 4c4769ef5SMatthias Springer// and the generic `convert-to-llvm` pass. 51fdbbd15SMatthias Springer// RUN: mlir-opt --convert-to-llvm="filter-dialects=cf" --split-input-file %s | FileCheck %s 6c4769ef5SMatthias Springer 7cbd7aaacSMarkus Böckfunc.func @main() { 8cbd7aaacSMarkus Böck %a = arith.constant 0 : i1 9cbd7aaacSMarkus Böck cf.assert %a, "assertion foo" 10cbd7aaacSMarkus Böck return 11cbd7aaacSMarkus Böck} 12cbd7aaacSMarkus Böck 13cbd7aaacSMarkus Böck// CHECK: llvm.func @puts(!llvm.ptr) 14cbd7aaacSMarkus Böck 15cbd7aaacSMarkus Böck// CHECK-LABEL: @main 16cbd7aaacSMarkus Böck// CHECK: llvm.cond_br %{{.*}}, ^{{.*}}, ^[[FALSE_BRANCH:[[:alnum:]]+]] 17cbd7aaacSMarkus Böck 18cbd7aaacSMarkus Böck// CHECK: ^[[FALSE_BRANCH]]: 19cbd7aaacSMarkus Böck// CHECK: %[[ADDRESS_OF:.*]] = llvm.mlir.addressof @{{.*}} : !llvm.ptr{{$}} 20cbd7aaacSMarkus Böck// CHECK: %[[GEP:.*]] = llvm.getelementptr %[[ADDRESS_OF]][0] : (!llvm.ptr) -> !llvm.ptr, !llvm.array<{{[0-9]+}} x i8> 21cbd7aaacSMarkus Böck// CHECK: llvm.call @puts(%[[GEP]]) : (!llvm.ptr) -> () 22