xref: /llvm-project/llvm/test/Transforms/MergeFunc/comdat.ll (revision ee2789001b8558656a13502f0de2c81dcb419430)
1f38f99bdSRoman Lebedev; RUN: opt -S -passes=mergefunc %s | FileCheck %s
2b96d9b34SSaleem Abdulrasool
3*ee278900SNikita Popov@symbols = linkonce_odr global <{ ptr, ptr }> <{ ptr @f, ptr @g }>
4b96d9b34SSaleem Abdulrasool
5b96d9b34SSaleem Abdulrasool$f = comdat any
6b96d9b34SSaleem Abdulrasool$g = comdat any
7b96d9b34SSaleem Abdulrasool
8b96d9b34SSaleem Abdulrasooldefine linkonce_odr hidden i32 @f(i32 %x, i32 %y) comdat {
9b96d9b34SSaleem Abdulrasool  %sum = add i32 %x, %y
10b96d9b34SSaleem Abdulrasool  %sum2 = add i32 %x, %sum
11b96d9b34SSaleem Abdulrasool  %sum3 = add i32 %x, %sum
12b96d9b34SSaleem Abdulrasool  ret i32 %sum3
13b96d9b34SSaleem Abdulrasool}
14b96d9b34SSaleem Abdulrasool
15b96d9b34SSaleem Abdulrasooldefine linkonce_odr hidden i32 @g(i32 %x, i32 %y) comdat {
16b96d9b34SSaleem Abdulrasool  %sum = add i32 %x, %y
17b96d9b34SSaleem Abdulrasool  %sum2 = add i32 %x, %sum
18b96d9b34SSaleem Abdulrasool  %sum3 = add i32 %x, %sum
19b96d9b34SSaleem Abdulrasool  ret i32 %sum3
20b96d9b34SSaleem Abdulrasool}
21b96d9b34SSaleem Abdulrasool
22b96d9b34SSaleem Abdulrasool; CHECK-DAG: define linkonce_odr hidden i32 @f(i32 %x, i32 %y) comdat
23a009a60aSTim Northover; CHECK-DAG: define linkonce_odr hidden i32 @g(i32 %0, i32 %1) comdat
24b96d9b34SSaleem Abdulrasool
25