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
21 lines
469 B
LLVM
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
|
|
}
|