[clang][modules] Don't prevent translation of FW_Private includes when explicitly...
[llvm-project.git] / llvm / test / Transforms / Inline / devirtualize-5.ll
blobdbfe445e898c751049624bc4620caf8eb5b82b43
1 ; RUN: opt -abort-on-max-devirt-iterations-reached -passes='cgscc(devirt<1>(inline,instcombine))' -S < %s | FileCheck %s
2 ; RUN: opt -abort-on-max-devirt-iterations-reached -passes='default<O2>' -S < %s | FileCheck %s
4 define i32 @i() alwaysinline {
5   ret i32 45
8 ; CHECK-LABEL: define i32 @main
9 ; CHECK-NEXT: ret i32 45
11 define i32 @main() {
12   %a = alloca ptr
13   store ptr @i, ptr %a
14   %r = call i32 @call(ptr %a)
15   ret i32 %r
18 define i32 @call(ptr %a) alwaysinline {
19   %c = load ptr, ptr %a
20   %r = call i32 %c()
21   ret i32 %r