Files
clang-p2996/llvm/test/Transforms/Inline/casts.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

20 lines
427 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
define i32 @testByte(i8 %X) {
entry:
%tmp = icmp ne i8 %X, 0
%tmp.i = zext i1 %tmp to i32
ret i32 %tmp.i
}
define i32 @main() {
; CHECK-LABEL: define i32 @main()
entry:
%rslt = call i32 @testByte(i8 123)
; CHECK-NOT: call
ret i32 %rslt
; CHECK: ret i32 1
}