summaryrefslogtreecommitdiffstats
path: root/llvm/test/Transforms/RewriteStatepointsForGC/unreachable-regression.ll
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/test/Transforms/RewriteStatepointsForGC/unreachable-regression.ll')
-rw-r--r--llvm/test/Transforms/RewriteStatepointsForGC/unreachable-regression.ll34
1 files changed, 0 insertions, 34 deletions
diff --git a/llvm/test/Transforms/RewriteStatepointsForGC/unreachable-regression.ll b/llvm/test/Transforms/RewriteStatepointsForGC/unreachable-regression.ll
deleted file mode 100644
index 1f781a4ce19..00000000000
--- a/llvm/test/Transforms/RewriteStatepointsForGC/unreachable-regression.ll
+++ /dev/null
@@ -1,34 +0,0 @@
-; RUN: opt -S -rewrite-statepoints-for-gc < %s | FileCheck %s
-; RUN: opt -S -passes=rewrite-statepoints-for-gc < %s | FileCheck %s
-;
-; Regression test:
-; After the rewritable callsite collection if any callsite was found
-; in a block that was reported unreachable by DominanceTree then
-; removeUnreachableBlocks() was called. But it is stronger than
-; DominatorTree::isReachableFromEntry(), i.e. removeUnreachableBlocks
-; can remove some blocks for which isReachableFromEntry() returns true.
-; This resulted in stale pointers to the collected but removed
-; callsites. Such stale pointers caused crash when accessed.
-declare void @f(i8 addrspace(1)* %obj)
-
-define void @test(i8 addrspace(1)* %arg) gc "statepoint-example" {
-; CHECK-LABEL: test(
-; CHECK-NEXT: @f
- call void @f(i8 addrspace(1)* %arg) #1
- br i1 true, label %not_zero, label %zero
-
-not_zero:
- ret void
-
-; This block is reachable but removed by removeUnreachableBlocks()
-zero:
-; CHECK-NOT: @f
- call void @f(i8 addrspace(1)* %arg) #1
- ret void
-
-unreach:
- call void @f(i8 addrspace(1)* %arg) #1
- ret void
-}
-
-attributes #1 = { norecurse noimplicitfloat }
OpenPOWER on IntegriCloud