[docs] Add LICENSE.txt to the root of the mono-repo
[llvm-project.git] / llvm / test / Transforms / Inline / ML / Inputs / test-module.ll
blobd01f4bb301a865af00de14544c9d668a757b1ff6
1 target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
2 target triple = "x86_64-grtev4-linux-gnu"
4 declare void @external_fct(i32)
6 define dso_local i32 @top() {
7   %a = call i32 @multiplier(i32 5)
8   %b = call i32 @adder(i32 10)
9   %ret = add nsw i32 %a, %b
10   call void @external_fct(i32 %ret)
11   ret i32 %ret
14 define internal dso_local i32 @adder(i32) {
15   %2 = alloca i32, align 4
16   store i32 %0, i32* %2, align 4
17   %3 = load i32, i32* %2, align 4
18   %4 = call i32 @multiplier(i32 %3)
19   %5 = load i32, i32* %2, align 4
20   %6 = call i32 @switcher(i32 1)
21   %7 = add nsw i32 %4, %6
22   ret i32 %7
25 define internal i32 @multiplier(i32) {
26   %2 = alloca i32, align 4
27   store i32 %0, i32* %2, align 4
28   %3 = load i32, i32* %2, align 4
29   %4 = load i32, i32* %2, align 4
30   %5 = mul nsw i32 %3, %4
31   ret i32 %5
34 define i32 @switcher(i32) {
35   %2 = alloca i32, align 4
36   %3 = alloca i32, align 4
37   store i32 %0, i32* %3, align 4
38   %4 = load i32, i32* %3, align 4
39   switch i32 %4, label %11 [
40     i32 1, label %5
41     i32 2, label %6
42   ]
44 ; <label>:5:                                      ; preds = %1
45   store i32 2, i32* %2, align 4
46   br label %12
48 ; <label>:6:                                      ; preds = %1
49   %7 = load i32, i32* %3, align 4
50   %8 = load i32, i32* %3, align 4
51   %9 = call i32 @multiplier(i32 %8)
52   %10 = add nsw i32 %7, %9
53   store i32 %10, i32* %2, align 4
54   br label %12
56 ; <label>:11:                                     ; preds = %1
57   %adder.result = call i32 @adder(i32 2)
58   store i32 %adder.result, i32* %2, align 4
59   br label %12
61 ; <label>:12:                                     ; preds = %11, %6, %5
62   %13 = load i32, i32* %2, align 4
63   ret i32 %13
66 ; CHECK-NOT: @adder
67 ; DEFAULT-LABEL:        @adder
68 ; DEFAULT-NEXT:         %2 = mul