llvm-project/llvm/test/Verifier/gc_none_token.ll
Danila Malyutin 44af5924b1
[Statepoint] Return undef value for the statepoint of the none token (#72552)
Helps avoid the crash in verifier when it tries to print the error.
`none` token might be produced by llvm-reduce, since it's a default
value, so by extension this also fixes llvm-reduce crash, allowing it to
just discard invalid IR.

---------

Co-authored-by: arpilipe <apilipenko@azul.com>
2023-11-17 18:32:52 +04:00

19 lines
553 B
LLVM

; RUN: not opt -passes=verify -S %s 2>&1 | FileCheck %s
; Check that verifier doesn't crash on relocate with none token
target triple = "x86_64-unknown-linux-gnu"
define i32 @check_verify_none_token() gc "statepoint-example" {
entry:
ret i32 0
unreach:
; CHECK: gc relocate is incorrectly tied to the statepoint
; CHECK: (undef, undef)
%token_call = call i32 addrspace(1)* @llvm.experimental.gc.relocate.p1i32(token none, i32 0, i32 0)
ret i32 1
}
declare i32 addrspace(1)* @llvm.experimental.gc.relocate.p1i32(token, i32, i32)