Files
clang-p2996/llvm/test/Transforms/Inline/comdat-ipo.ll
Liqiang Tao 6cad45d5c6 [llvm][Inline] Add a module level inliner
Add module level inliner, which is a minimum viable product at this point.
Also add some tests for it.

RFC: https://lists.llvm.org/pipermail/llvm-dev/2021-August/152297.html

Reviewed By: kazu

Differential Revision: https://reviews.llvm.org/D106448
2021-11-09 11:03:29 +08:00

22 lines
513 B
LLVM

; RUN: opt -inline -S < %s | FileCheck %s
; RUN: opt -passes='cgscc(inline)' -S < %s | FileCheck %s
; RUN: opt -passes='module-inline' -S < %s | FileCheck %s
define i32 @caller() {
; CHECK-LABEL: @caller(
; CHECK-NEXT: %val2 = call i32 @linkonce_callee(i32 42)
; CHECK-NEXT: ret i32 %val2
%val = call i32 @odr_callee()
%val2 = call i32 @linkonce_callee(i32 %val);
ret i32 %val2
}
define linkonce_odr i32 @odr_callee() {
ret i32 42
}
define linkonce i32 @linkonce_callee(i32 %val) {
ret i32 %val
}