llvm-project/llvm/test/Transforms/MergeFunc/mismatching-attr-crash.ll

22 lines
512 B
LLVM

; RUN: opt -S -mergefunc %s | FileCheck %s
; CHECK-LABEL: define void @foo
; CHECK: call void %bc
define void @foo(i8* byval(i8) %a0, i8* swiftself %a4) {
entry:
%bc = bitcast i8* %a0 to void (i8*, i8*)*
call void %bc(i8* byval(i8) %a0, i8* swiftself %a4)
ret void
}
; CHECK-LABEL: define void @bar
; CHECK: call void %bc
define void @bar(i8* byval(i8) %a0, i8** swifterror %a4) {
entry:
%bc = bitcast i8* %a0 to void (i8*, i8**)*
call void %bc(i8* byval(i8) %a0, i8** swifterror %a4)
ret void
}