Run DCE after a LoopFlatten test to reduce spurious output [nfc]
[llvm-project.git] / lld / test / MachO / thinlto-obj-path.ll
blob16545a1beea6aa2cbd1eb424aa992b26375d645e
1 ; REQUIRES: x86
2 ; RUN: rm -rf %t; split-file %s %t
4 ; RUN: opt -module-summary %t/f.ll -o %t1.o
5 ; RUN: opt -module-summary %t/g.ll -o %t2.o
7 ;; Test to ensure that thinlto-index-only with obj-path creates the file.
8 ; RUN: rm -rf %t4
9 ; RUN: %lld --thinlto-index-only -object_path_lto %t4 -dylib %t1.o %t2.o -o /dev/null
10 ; RUN: llvm-readobj -h %t4/0.x86_64.lto.o | FileCheck %s
11 ; RUN: llvm-nm %t4/0.x86_64.lto.o 2>&1 | FileCheck --check-prefix=NM %s
12 ; RUN: llvm-readobj -h %t4/0.x86_64.lto.o | FileCheck %s
14 ;; Ensure lld emits empty combined module if specific obj-path.
15 ; RUN: rm -fr %t.dir/objpath && mkdir -p %t.dir/objpath
16 ; RUN: %lld -object_path_lto %t4.o -dylib %t1.o %t2.o -o %t.dir/objpath/a.out -save-temps
17 ; RUN: ls %t.dir/objpath/a.out*.lto.* | count 3
19 ;; Ensure lld does not emit empty combined module in default.
20 ; RUN: rm -fr %t.dir/objpath && mkdir -p %t.dir/objpath
21 ; RUN: %lld -dylib %t1.o %t2.o -o %t.dir/objpath/a.out -save-temps
22 ; RUN: ls %t.dir/objpath/a.out*.lto.* | count 2
24 ; NM: no symbols
25 ; CHECK: Format: Mach-O 64-bit x86-64
27 ;--- f.ll
28 target datalayout = "e-m:o-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"
29 target triple = "x86_64-apple-darwin"
31 declare void @g(...)
33 define void @f() {
34 entry:
35   call void (...) @g()
36   ret void
39 ;--- g.ll
40 target datalayout = "e-m:o-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"
41 target triple = "x86_64-apple-darwin"
43 define void @g() {
44 entry:
45   ret void