blob: 2d27ba2b0f42c273d0d29c4c64a8293fff7f143b [file] [log] [blame] [edit]
; RUN: opt %s -o - -S -passes=always-inliner-wrapper | FileCheck %s
; RUN: opt %s -o - -S -passes='default<O2>' | FileCheck %s
; RUN: opt %s -o - -S -passes=inliner-wrapper | FileCheck %s -check-prefix=BASELINE
; In the baseline case, a will be first inlined into b, which makes c recursive,
; and, thus, un-inlinable. We need a baseline case to make sure intra-SCC order
; is as expected: b first, then a.
; BASELINE: call void @b()
; CHECK-NOT: call void @b()
define void @b() alwaysinline {
entry:
br label %for.cond
for.cond:
call void @a()
br label %for.cond
}
define void @a() {
entry:
call void @b()
ret void
}