; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
; RUN: opt -S -verify -iroutliner -no-ir-sim-branch-matching -ir-outlining-no-cost < %s | FileCheck %s

; This test checks that catchpad instructions are not outlined even if they
; in a similar section.  Dealing with exception handling inside of an outlined
; function would require a lot of handling that is not implemented yet.

declare void @llvm.donothing() nounwind readnone

define void @function1() personality i8 3 {
; CHECK-LABEL: @function1(
; CHECK-NEXT:  entry:
; CHECK-NEXT:    [[A:%.*]] = alloca i32, align 4
; CHECK-NEXT:    [[B:%.*]] = alloca i32, align 4
; CHECK-NEXT:    invoke void @llvm.donothing()
; CHECK-NEXT:    to label [[NORMAL:%.*]] unwind label [[EXCEPTION:%.*]]
; CHECK:       exception:
; CHECK-NEXT:    [[CS1:%.*]] = catchswitch within none [label %catchpad1] unwind to caller
; CHECK:       catchpad1:
; CHECK-NEXT:    [[TMP0:%.*]] = catchpad within [[CS1]] []
; CHECK-NEXT:    call void @outlined_ir_func_0(i32* [[A]], i32* [[B]])
; CHECK-NEXT:    br label [[NORMAL]]
; CHECK:       normal:
; CHECK-NEXT:    ret void
;
entry:
  %a = alloca i32, align 4
  %b = alloca i32, align 4
  invoke void @llvm.donothing() to label %normal unwind label %exception
exception:
  %cs1 = catchswitch within none [label %catchpad1] unwind to caller
catchpad1:
  catchpad within %cs1 []
  store i32 2, i32* %a, align 4
  store i32 3, i32* %b, align 4
  br label %normal
normal:
  ret void
}

define void @function2() personality i8 3 {
; CHECK-LABEL: @function2(
; CHECK-NEXT:  entry:
; CHECK-NEXT:    [[A:%.*]] = alloca i32, align 4
; CHECK-NEXT:    [[B:%.*]] = alloca i32, align 4
; CHECK-NEXT:    invoke void @llvm.donothing()
; CHECK-NEXT:    to label [[NORMAL:%.*]] unwind label [[EXCEPTION:%.*]]
; CHECK:       exception:
; CHECK-NEXT:    [[CS1:%.*]] = catchswitch within none [label %catchpad1] unwind to caller
; CHECK:       catchpad1:
; CHECK-NEXT:    [[TMP0:%.*]] = catchpad within [[CS1]] []
; CHECK-NEXT:    call void @outlined_ir_func_0(i32* [[A]], i32* [[B]])
; CHECK-NEXT:    br label [[NORMAL]]
; CHECK:       normal:
; CHECK-NEXT:    ret void
;
entry:
  %a = alloca i32, align 4
  %b = alloca i32, align 4
  invoke void @llvm.donothing() to label %normal unwind label %exception
exception:
  %cs1 = catchswitch within none [label %catchpad1] unwind to caller
catchpad1:
  catchpad within %cs1 []
  store i32 2, i32* %a, align 4
  store i32 3, i32* %b, align 4
  br label %normal
normal:
  ret void
}
