diff options
author | Sanjoy Das <sanjoy@playingwithpointers.com> | 2016-01-20 19:50:25 +0000 |
---|---|---|
committer | Sanjoy Das <sanjoy@playingwithpointers.com> | 2016-01-20 19:50:25 +0000 |
commit | a34ce95b60f14f5c53d3f01a4c90d225477bd5e0 (patch) | |
tree | 3524b3e6ac3cb9eebb6b0bcb0388374e00913fff /llvm/test/Transforms/RewriteStatepointsForGC | |
parent | af69f1c690ced497cfef5869e987e584b8d3eb24 (diff) | |
download | bcm5719-llvm-a34ce95b60f14f5c53d3f01a4c90d225477bd5e0.tar.gz bcm5719-llvm-a34ce95b60f14f5c53d3f01a4c90d225477bd5e0.zip |
Add a "gc-transition" operand bundle
Summary:
This adds a new kind of operand bundle to LLVM denoted by the
`"gc-transition"` tag. Inputs to `"gc-transition"` operand bundle are
lowered into the "transition args" section of `gc.statepoint` by
`RewriteStatepointsForGC`.
This removes the last bit of functionality that was unsupported in the
deopt bundle based code path in `RewriteStatepointsForGC`.
Reviewers: pgavlin, JosephTremoulet, reames
Subscribers: sanjoy, mcrosier, llvm-commits
Differential Revision: http://reviews.llvm.org/D16342
llvm-svn: 258338
Diffstat (limited to 'llvm/test/Transforms/RewriteStatepointsForGC')
-rw-r--r-- | llvm/test/Transforms/RewriteStatepointsForGC/deopt-bundles/basic.ll | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/llvm/test/Transforms/RewriteStatepointsForGC/deopt-bundles/basic.ll b/llvm/test/Transforms/RewriteStatepointsForGC/deopt-bundles/basic.ll index c0dc6940e5d..1881897d7d4 100644 --- a/llvm/test/Transforms/RewriteStatepointsForGC/deopt-bundles/basic.ll +++ b/llvm/test/Transforms/RewriteStatepointsForGC/deopt-bundles/basic.ll @@ -63,3 +63,11 @@ define i32 addrspace(1)* @f3(i32 addrspace(1)* %arg) gc "statepoint-example" pe %lpad = landingpad token cleanup resume token undef } + +define i32 addrspace(1)* @f4(i32 addrspace(1)* %arg) gc "statepoint-example" { +; CHECK-LABEL: @f4( + entry: +; CHECK: @llvm.experimental.gc.statepoint.p0f_isVoidf(i64 2882400000, i32 0, void ()* @g, i32 0, i32 1, i32 2, i32 400, i8 90, + call void @g() [ "gc-transition"(i32 400, i8 90) ] + ret i32 addrspace(1)* %arg +} |