brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.3 KiB · 1a5b704 Raw
50 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 62; RUN: opt -passes='require<memoryssa>,gvn' -verify-memoryssa -S %s | FileCheck %s3 4; This is a regression test for a bug in MemorySSA updater.5; Make sure that we don't crash and end up with a valid MemorySSA.6 7define void @test() personality ptr null {8; CHECK-LABEL: define void @test() personality ptr null {9; CHECK-NEXT:    invoke void @bar()10; CHECK-NEXT:            to label %[[BAR_NORMAL:.*]] unwind label %[[EXCEPTIONAL:.*]]11; CHECK:       [[BAR_NORMAL]]:12; CHECK-NEXT:    ret void13; CHECK:       [[DEAD_BLOCK:.*:]]14; CHECK-NEXT:    invoke void @baz()15; CHECK-NEXT:            to label %[[BAZ_NORMAL:.*]] unwind label %[[EXCEPTIONAL]]16; CHECK:       [[BAZ_NORMAL]]:17; CHECK-NEXT:    ret void18; CHECK:       [[EXCEPTIONAL]]:19; CHECK-NEXT:    [[TMP9:%.*]] = landingpad { ptr, i32 }20; CHECK-NEXT:            cleanup21; CHECK-NEXT:    call void @foo()22; CHECK-NEXT:    ret void23;24  invoke void @bar()25  to label %bar.normal unwind label %exceptional26 27bar.normal:28  ret void29 30dead.block:31  br label %baz.invoke32 33baz.invoke:34  invoke void @baz()35  to label %baz.normal unwind label %exceptional36 37baz.normal:38  ret void39 40exceptional:41  %tmp9 = landingpad { ptr, i32 }42  cleanup43  call void @foo()44  ret void45}46 47declare void @foo()48declare void @bar()49declare void @baz()50