brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.2 KiB · 5705fe0 Raw
36 lines · plain
1! Test that the output is LLVM bitcode for LTO and not a native objectfile by2! disassembling it to LLVM IR. Also tests that module summaries are emitted for LTO3 4! RUN: %flang %s -c -o - | not llvm-dis -o %t5! RUN: %flang_fc1 %s -emit-llvm-bc -o - | llvm-dis -o - | FileCheck %s6! CHECK: define void @_QQmain()7! CHECK-NEXT:  ret void8! CHECK-NEXT: }9! CHECK-NOT: !{{.*}} = !{i32 1, !"ThinLTO", i32 0}10! CHECK-NOT: ^{{.*}} = module:11! CHECK-NOT: ^{{.*}} = gv: (name:12! CHECK-NOT: ^{{.*}} = blockcount:13 14! RUN: %flang -flto=thin %s -c -o - | llvm-dis -o - | FileCheck %s --check-prefix=THIN15! THIN: define void @_QQmain()16! THIN-NEXT:  ret void17! THIN-NEXT: }18! THIN-NOT: !{{.*}} = !{i32 1, !"ThinLTO", i32 0}19! THIN-NOT: ^{{.*}} = module:20! THIN-NOT: ^{{.*}} = gv: (name:21! THIN-NOT: ^{{.*}} = blockcount:22 23! RUN: %flang -flto %s -c -o - | llvm-dis -o - | FileCheck %s --check-prefix=FULL24! FULL: define void @_QQmain()25! FULL-NEXT:  ret void26! FULL-NEXT: }27! FULL: !{{.*}} = !{i32 1, !"ThinLTO", i32 0}28! FULL: ^{{.*}} = module:29! FULL: ^{{.*}} = gv: (name:30! FULL: ^{{.*}} = blockcount:31 32! RUN: %flang_fc1 -flto -emit-llvm-bc %s -o - | llvm-bcanalyzer -dump| FileCheck --check-prefix=MOD-SUMM %s33! MOD-SUMM: FULL_LTO_GLOBALVAL_SUMMARY_BLOCK34program main35end program36