brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.4 KiB · ba887f8 Raw
49 lines · plain
1; RUN: opt -S -passes=mergefunc %s | FileCheck %s2 3target triple = "x86_64-unknown-windows-msvc19.42.34436"4 5@symbols = linkonce_odr global <{ ptr, ptr }> <{ ptr @f, ptr @g }>6 7$g = comdat any8$f = comdat any9 10define linkonce_odr hidden i32 @f(i32 %x, i32 %y) comdat {11  %sum = add i32 %x, %y12  %sum2 = add i32 %x, %sum13  %sum3 = add i32 %x, %sum14  ret i32 %sum315}16 17define linkonce_odr hidden i32 @g(i32 %x, i32 %y) comdat {18  %sum = add i32 %x, %y19  %sum2 = add i32 %x, %sum20  %sum3 = add i32 %x, %sum21  ret i32 %sum322}23 24; CHECK: $g = comdat any25; CHECK: $f = comdat any26 27;.28; CHECK: @symbols = linkonce_odr global <{ ptr, ptr }> <{ ptr @f, ptr @g }>29;.30; CHECK-LABEL: define private i32 @0(31; CHECK-SAME: i32 [[X:%.*]], i32 [[Y:%.*]]) {32; CHECK-NEXT:    [[SUM:%.*]] = add i32 [[X]], [[Y]]33; CHECK-NEXT:    [[SUM2:%.*]] = add i32 [[X]], [[SUM]]34; CHECK-NEXT:    [[SUM3:%.*]] = add i32 [[X]], [[SUM]]35; CHECK-NEXT:    ret i32 [[SUM3]]36;37;38; CHECK-LABEL: define linkonce_odr hidden i32 @g(39; CHECK-SAME: i32 [[TMP0:%.*]], i32 [[TMP1:%.*]]) comdat {40; CHECK-NEXT:    [[TMP3:%.*]] = tail call i32 @[[GLOB0:[0-9]+]](i32 [[TMP0]], i32 [[TMP1]])41; CHECK-NEXT:    ret i32 [[TMP3]]42;43;44; CHECK-LABEL: define linkonce_odr hidden i32 @f(45; CHECK-SAME: i32 [[TMP0:%.*]], i32 [[TMP1:%.*]]) comdat {46; CHECK-NEXT:    [[TMP3:%.*]] = tail call i32 @[[GLOB0]](i32 [[TMP0]], i32 [[TMP1]])47; CHECK-NEXT:    ret i32 [[TMP3]]48;49