xref: /llvm-project/llvm/test/Transforms/Inline/ML/Inputs/size-estimator.ll (revision 9870f77441c58d4a2dfefe69c6c103b0a03d940a)
1target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
2target triple = "x86_64-pc-linux-gnu"
3
4declare i32 @f1(i32)
5declare i32 @f2(i32)
6
7define i32 @branches(i32) {
8  %cond = icmp slt i32 %0, 3
9  br i1 %cond, label %then, label %else
10
11then:
12  %ret.1 = call i32 @f1(i32 %0)
13  br label %last.block
14
15else:
16  %ret.2 = call i32 @f2(i32 %0)
17  br label %last.block
18
19last.block:
20  %ret = phi i32 [%ret.1, %then], [%ret.2, %else]
21  ret i32 %ret
22}
23
24define internal i32 @top() {
25  %1 = call i32 @branches(i32 2)
26  %2 = call i32 @f1(i32 %1)
27  ret i32 %2
28}