31 lines · plain
1; RUN: opt -S -passes=mergefunc < %s | FileCheck %s2 3%A = type { i32 }4%B = type { i32 }5 6; CHECK-NOT: @b7 8@x = constant { ptr, ptr }9 { ptr @a,10 ptr @b }11; CHECK: { ptr @a, ptr @a }12 13define internal i32 @a(%A) unnamed_addr {14 extractvalue %A %0, 015 xor i32 %2, 016 ret i32 %317}18 19define internal i32 @b(%B) unnamed_addr {20 extractvalue %B %0, 021 xor i32 %2, 022 ret i32 %323}24 25define i32 @c(i32) {26 insertvalue %B undef, i32 %0, 027 call i32 @b(%B %2)28; CHECK: call i32 @a(%B %2)29 ret i32 %330}31