1ace01605SRiver Riddle// RUN: mlir-opt %s | mlir-opt | FileCheck %s 2ace01605SRiver Riddle// RUN: mlir-opt %s --mlir-print-op-generic | mlir-opt | FileCheck %s 3ace01605SRiver Riddle 4ace01605SRiver Riddle// CHECK-LABEL: @assert 5412b8850SRiver Riddlefunc.func @assert(%arg : i1) { 6ace01605SRiver Riddle cf.assert %arg, "Some message in case this assertion fails." 7ace01605SRiver Riddle return 8ace01605SRiver Riddle} 9ace01605SRiver Riddle 10ace01605SRiver Riddle// CHECK-LABEL: func @switch( 11412b8850SRiver Riddlefunc.func @switch(%flag : i32, %caseOperand : i32) { 12ace01605SRiver Riddle cf.switch %flag : i32, [ 13ace01605SRiver Riddle default: ^bb1(%caseOperand : i32), 14ace01605SRiver Riddle 42: ^bb2(%caseOperand : i32), 15ace01605SRiver Riddle 43: ^bb3(%caseOperand : i32) 16ace01605SRiver Riddle ] 17ace01605SRiver Riddle 18ace01605SRiver Riddle ^bb1(%bb1arg : i32): 19ace01605SRiver Riddle return 20ace01605SRiver Riddle ^bb2(%bb2arg : i32): 21ace01605SRiver Riddle return 22ace01605SRiver Riddle ^bb3(%bb3arg : i32): 23ace01605SRiver Riddle return 24ace01605SRiver Riddle} 25ace01605SRiver Riddle 26ace01605SRiver Riddle// CHECK-LABEL: func @switch_i64( 27412b8850SRiver Riddlefunc.func @switch_i64(%flag : i64, %caseOperand : i32) { 28ace01605SRiver Riddle cf.switch %flag : i64, [ 29ace01605SRiver Riddle default: ^bb1(%caseOperand : i32), 30ace01605SRiver Riddle 42: ^bb2(%caseOperand : i32), 31ace01605SRiver Riddle 43: ^bb3(%caseOperand : i32) 32ace01605SRiver Riddle ] 33ace01605SRiver Riddle 34ace01605SRiver Riddle ^bb1(%bb1arg : i32): 35ace01605SRiver Riddle return 36ace01605SRiver Riddle ^bb2(%bb2arg : i32): 37ace01605SRiver Riddle return 38ace01605SRiver Riddle ^bb3(%bb3arg : i32): 39ace01605SRiver Riddle return 40ace01605SRiver Riddle} 41*7e87d03bSKeyi Zhang 42*7e87d03bSKeyi Zhang// CHECK-LABEL: func @switch_result_number 43*7e87d03bSKeyi Zhangfunc.func @switch_result_number(%arg0: i32) { 44*7e87d03bSKeyi Zhang %0:2 = "test.op_with_two_results"() : () -> (i32, i32) 45*7e87d03bSKeyi Zhang cf.switch %arg0 : i32, [ 46*7e87d03bSKeyi Zhang default: ^bb2, 47*7e87d03bSKeyi Zhang 0: ^bb1(%0#0 : i32) 48*7e87d03bSKeyi Zhang ] 49*7e87d03bSKeyi Zhang ^bb1(%1: i32): 50*7e87d03bSKeyi Zhang return 51*7e87d03bSKeyi Zhang ^bb2: 52*7e87d03bSKeyi Zhang return 53*7e87d03bSKeyi Zhang} 54