[docs] Add LICENSE.txt to the root of the mono-repo
[llvm-project.git] / llvm / test / Transforms / MergeFunc / merge-used.ll
bloba86e66eee3f90f245bdc7a1153a51b0ad7ea003c
1 ; RUN: opt -S -mergefunc < %s | FileCheck %s
3 @llvm.compiler.used = appending global [1 x i8*] [i8* bitcast (i32 (i32)* @a to i8*)], section "llvm.metadata"
5 define internal i32 @a(i32 %a) unnamed_addr {
6   %b = xor i32 %a, 0
7   %c = xor i32 %b, 0
8   ret i32 %c
11 define i32 @b(i32 %a) unnamed_addr {
12   %b = xor i32 %a, 0
13   %c = xor i32 %b, 0
14   ret i32 %c
17 define i32 @c(i32 %a) unnamed_addr {
18   %b = tail call i32 @a(i32 %a)
19   ret i32 %b
22 ; CHECK-LABEL: @llvm.compiler.used = appending global [1 x i8*] [i8* bitcast (i32 (i32)* @a to i8*)], section "llvm.metadata"
24 ; CHECK-LABEL: define i32 @b(i32 %a) unnamed_addr
25 ; CHECK-NEXT:    xor
26 ; CHECK-NEXT:    xor
27 ; CHECK-NEXT:    ret
29 ; CHECK-LABEL: define i32 @c(i32 %a) unnamed_addr
30 ; CHECK-NEXT:    tail call i32 @b(i32 %a)
31 ; CHECK-NEXT:    ret
33 ; CHECK-LABEL: define internal i32 @a(i32 %0) unnamed_addr
34 ; CHECK-NEXT:    tail call i32 @b(i32 %0)
35 ; CHECK-NEXT:    ret