xref: /llvm-project/llvm/test/CodeGen/SystemZ/stackmap-args.ll (revision a1ee1a9126678aabd3b02ef1367df8879d2536fa)
1*a1ee1a91SGuillaume DI FATTA; RUN: not llc -mtriple=s390x-linux-gnu < %s 2>&1 | FileCheck %s
2*a1ee1a91SGuillaume DI FATTA; Tests error when we pass non-immediate parameters to @llvm.experiment.stackmap
3*a1ee1a91SGuillaume DI FATTA
4*a1ee1a91SGuillaume DI FATTAdefine void @first_arg() {
5*a1ee1a91SGuillaume DI FATTA; CHECK: immarg operand has non-immediate parameter
6*a1ee1a91SGuillaume DI FATTAentry:
7*a1ee1a91SGuillaume DI FATTA  ; First operand should be immediate
8*a1ee1a91SGuillaume DI FATTA  %id = add i64 0, 0
9*a1ee1a91SGuillaume DI FATTA  call void (i64, i32, ...) @llvm.experimental.stackmap(i64 %id, i32 0)
10*a1ee1a91SGuillaume DI FATTA  ret void
11*a1ee1a91SGuillaume DI FATTA}
12*a1ee1a91SGuillaume DI FATTA
13*a1ee1a91SGuillaume DI FATTAdefine void @second_arg() {
14*a1ee1a91SGuillaume DI FATTA; CHECK: immarg operand has non-immediate parameter
15*a1ee1a91SGuillaume DI FATTAentry:
16*a1ee1a91SGuillaume DI FATTA  ; Second operand should be immediate
17*a1ee1a91SGuillaume DI FATTA  %numShadowByte = add i32 0, 0
18*a1ee1a91SGuillaume DI FATTA  call void (i64, i32, ...) @llvm.experimental.stackmap(i64 1, i32 %numShadowByte)
19*a1ee1a91SGuillaume DI FATTA  ret void
20*a1ee1a91SGuillaume DI FATTA}
21*a1ee1a91SGuillaume DI FATTA
22*a1ee1a91SGuillaume DI FATTAdeclare void @llvm.experimental.stackmap(i64, i32, ...)
23