brintos

brintos / llvm-project-archived public Read only

0
0
Text · 503 B · dab9e45 Raw
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