-
Notifications
You must be signed in to change notification settings - Fork 15.3k
Closed
Closed
Copy link
Labels
crashPrefer [crash-on-valid] or [crash-on-invalid]Prefer [crash-on-valid] or [crash-on-invalid]llvm:SelectionDAGSelectionDAGISel as wellSelectionDAGISel as well
Description
https://godbolt.org/z/1Pxe4dqzd
Run llc with Test.ll
Test.ll
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128-ni:1-p2:32:8:8:32-ni:2"
target triple = "x86_64-unknown-linux-gnu"
; Function Attrs: uwtable
define void @foo() gc "statepoint-example" {
bb:
%icmp = icmp eq i32 0, 0
br i1 %icmp, label %bb3, label %bb1
bb1: ; preds = %bb
%call = call token (i64, i32, ptr, i32, i32, ...) @llvm.experimental.gc.statepoint.p0(i64 0, i32 0, ptr nonnull elementtype(void ()) null, i32 0, i32 0, i32 0, i32 0) [ "deopt"(i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, ptr addrspace(1) null, i32 0, ptr null, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, double 0.000000e+00, i32 0, ptr null, i32 0, ptr addrspace(1) null, i32 0, ptr addrspace(1) null, i32 0, ptr addrspace(1) null, i32 0, ptr addrspace(1) null), "gc-live"(ptr addrspace(1) null, ptr addrspace(1) null, ptr addrspace(1) null, ptr addrspace(1) null, ptr addrspace(1) null, ptr addrspace(1) undef, ptr addrspace(1) null) ]
%call2 = call coldcc ptr addrspace(1) @llvm.experimental.gc.relocate.p1(token %call, i32 0, i32 5) ; (null, undef)
br label %bb3
bb3: ; preds = %bb1, %bb
%phi = phi ptr addrspace(1) [ null, %bb ], [ %call2, %bb1 ]
store atomic i32 0, ptr addrspace(1) %phi unordered, align 4
ret void
}
declare token @llvm.experimental.gc.statepoint.p0(i64 immarg, i32 immarg, ptr, i32 immarg, i32 immarg, ...)
declare ptr addrspace(1) @llvm.experimental.gc.relocate.p1(token, i32 immarg, i32 immarg)
Metadata
Metadata
Assignees
Labels
crashPrefer [crash-on-valid] or [crash-on-invalid]Prefer [crash-on-valid] or [crash-on-invalid]llvm:SelectionDAGSelectionDAGISel as wellSelectionDAGISel as well