xref: /llvm-project/llvm/test/Transforms/Inline/pr64804.ll (revision 4ba50a783b4d6cbfc93d989e4d2bdfe4e4726e4a)
1; RUN: opt -S -passes=inline < %s | FileCheck %s
2
3declare ptr @llvm.experimental.deoptimize.p0(...)
4
5; Make sure we do not add incompatible attributes (noalias, align) to the deoptimize call.
6
7define ptr @callee_noalias(ptr %c) {
8  %v2 = call ptr (...) @llvm.experimental.deoptimize.p0(i32 42 ) [ "deopt"(i32 1) ]
9  ret ptr %v2
10}
11
12; CHECK-LABEL: caller_noalias
13; CHECK: call void (...) @llvm.experimental.deoptimize.isVoid(i32 42) [ "deopt"(i32 2, i32 1) ]
14define void @caller_noalias(ptr %c) {
15entry:
16  %v = call noalias align 8 ptr @callee_noalias(ptr %c)  [ "deopt"(i32 2) ]
17  ret void
18}
19