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

21 lines
469 B
LLVM

; RUN: opt < %s -inline -S | FileCheck %s
; RUN: opt < %s -passes='cgscc(inline)' -S | FileCheck %s
; RUN: opt < %s -passes='module-inline' -S | FileCheck %s
$c = comdat any
; CHECK: $c = comdat any
define linkonce_odr void @foo() comdat($c) {
ret void
}
; CHECK: define linkonce_odr void @foo() comdat($c)
define linkonce_odr void @bar() comdat($c) {
ret void
}
; CHECK: define linkonce_odr void @bar() comdat($c)
define void()* @zed() {
ret void()* @foo
}