27 lines · plain
1; RUN: mlir-translate -import-llvm %s | FileCheck %s2 3; CHECK-LABEL: llvm.func @test(4; CHECK-SAME: %[[VAL_0:.*]]: i16 {llvm.noundef, llvm.signext}) -> (i16 {llvm.signext}) attributes {personality = @__gxx_personality_v0} {5define signext i16 @test(i16 noundef signext %0) personality ptr @__gxx_personality_v0 {6 ; CHECK: %[[VAL_3:.*]] = llvm.invoke @somefunc(%[[VAL_0]]) to ^bb2 unwind ^bb1 : (i16 {llvm.noundef, llvm.signext}) -> (i16 {llvm.signext})7 %2 = invoke signext i16 @somefunc(i16 noundef signext %0)8 to label %7 unwind label %39 103: ; preds = %111 %4 = landingpad { ptr, i32 }12 catch ptr null13 %5 = extractvalue { ptr, i32 } %4, 014 %6 = tail call ptr @__cxa_begin_catch(ptr %5) #215 tail call void @__cxa_end_catch()16 br label %717 187: ; preds = %1, %319 %8 = phi i16 [ 0, %3 ], [ %2, %1 ]20 ret i16 %821}22 23declare noundef signext i16 @somefunc(i16 noundef signext)24declare i32 @__gxx_personality_v0(...)25declare ptr @__cxa_begin_catch(ptr)26declare void @__cxa_end_catch()27