1 ; RUN: opt -passes="ipsccp<func-spec>" -force-specialization -S < %s | FileCheck %s
3 ; Check that we don't crash and specialise on a function call with byval attribute.
5 ; CHECK-NOT: wombat.specialized.{{[0-9]+}}
12 ; CHECK-NEXT: tail call void @wombat(ptr undef, i64 undef, i64 undef, ptr byval(i32) @quux)
13 ; CHECK-NEXT: tail call void @wombat(ptr undef, i64 undef, i64 undef, ptr byval(i32) @eggs)
14 ; CHECK-NEXT: ret i32 undef
17 tail call void @wombat(ptr undef, i64 undef, i64 undef, ptr byval(i32) @quux)
18 tail call void @wombat(ptr undef, i64 undef, i64 undef, ptr byval(i32) @eggs)
22 define internal void @wombat(ptr %arg, i64 %arg1, i64 %arg2, ptr byval(i32) %func) {
24 ; CHECK-NEXT: [[TMP:%.*]] = tail call ptr %func(ptr undef, ptr undef)
25 ; CHECK-NEXT: ret void
28 %tmp = tail call ptr %func(ptr undef, ptr undef)