brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1016 B · 9a2d664 Raw
48 lines · plain
1; RUN: opt -S -passes=mergefunc < %s | FileCheck %s2 3; CHECK-LABEL: define i32 @func14; CHECK: call i32 @func25; CHECK: ret6 7; CHECK-LABEL: define i32 @func28; CHECK: call i32 @unknown9; CHECK: ret10 11; CHECK-LABEL: define i32 @func412; CHECK: call i32 @func213; CHECK: ret14 15; CHECK-LABEL: define weak i32 @func3_weak16; CHECK: call i32 @func117; CHECK: ret18 19define i32 @func1(i32 %x, i32 %y) {20  %sum = add i32 %x, %y21  %sum2 = add i32 %sum, %y22  %sum3 = call i32 @func4(i32 %sum, i32 %sum2)23  ret i32 %sum324}25 26define i32 @func4(i32 %x, i32 %y) {27  %sum = add i32 %x, %y28  %sum2 = add i32 %sum, %y29  %sum3 = call i32 @unknown(i32 %sum, i32 %sum2)30  ret i32 %sum331}32 33define weak i32 @func3_weak(i32 %x, i32 %y) {34  %sum = add i32 %x, %y35  %sum2 = add i32 %sum, %y36  %sum3 = call i32 @func2(i32 %sum, i32 %sum2)37  ret i32 %sum338}39 40define i32 @func2(i32 %x, i32 %y) {41  %sum = add i32 %x, %y42  %sum2 = add i32 %sum, %y43  %sum3 = call i32 @unknown(i32 %sum, i32 %sum2)44  ret i32 %sum345}46 47declare i32 @unknown(i32 %x, i32 %y)48