1304d0d55SRumeet Dhindsa; REQUIRES: x86 2304d0d55SRumeet Dhindsa 3304d0d55SRumeet Dhindsa; RUN: opt -module-summary %s -o %t1.o 4304d0d55SRumeet Dhindsa; RUN: opt -module-summary %p/Inputs/thinlto.ll -o %t2.o 5304d0d55SRumeet Dhindsa 6304d0d55SRumeet Dhindsa; Test to ensure that thinlto-index-only with obj-path creates the file. 7304d0d55SRumeet Dhindsa; RUN: rm -f %t4.o 89f0f36e0SBob Haarman; RUN: ld.lld --plugin-opt=thinlto-index-only --plugin-opt=obj-path=%t4.o -shared %t1.o %t2.o -o /dev/null 9304d0d55SRumeet Dhindsa; RUN: llvm-readobj -h %t4.o | FileCheck %s 1008f2b67dSFangrui Song; RUN: llvm-nm %t4.o 2>&1 | count 0 11304d0d55SRumeet Dhindsa 129f0f36e0SBob Haarman; Check that this also works without the --plugin-opt= prefix. 139f0f36e0SBob Haarman; RUN: rm -f %t4.o 14*e20a2159SFangrui Song; RUN: ld.lld --thinlto-index-only --lto-obj-path=%t4.o -shared %t1.o %t2.o -o /dev/null 159f0f36e0SBob Haarman; RUN: llvm-readobj -h %t4.o | FileCheck %s 169f0f36e0SBob Haarman 17ad5fad0aSZakk Chen;; Ensure lld emits empty combined module if specific obj-path. 18ad5fad0aSZakk Chen; RUN: rm -fr %t.dir/objpath && mkdir -p %t.dir/objpath 19ad5fad0aSZakk Chen; RUN: ld.lld --plugin-opt=obj-path=%t4.o -shared %t1.o %t2.o -o %t.dir/objpath/a.out --save-temps 20ad5fad0aSZakk Chen; RUN: ls %t.dir/objpath/a.out*.lto.* | count 3 21ad5fad0aSZakk Chen 22ad5fad0aSZakk Chen;; Ensure lld does not emit empty combined module in default. 23ad5fad0aSZakk Chen; RUN: rm -fr %t.dir/objpath && mkdir -p %t.dir/objpath 24ad5fad0aSZakk Chen; RUN: ld.lld %t1.o %t2.o -o %t.dir/objpath/a.out --save-temps 25ad5fad0aSZakk Chen; RUN: ls %t.dir/objpath/a.out*.lto.* | count 2 26ad5fad0aSZakk Chen 27536ba637SFangrui Song; CHECK: Format: elf64-x86-64 28304d0d55SRumeet Dhindsa 297b1d7937SAmy Huangtarget datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128" 30304d0d55SRumeet Dhindsatarget triple = "x86_64-unknown-linux-gnu" 31304d0d55SRumeet Dhindsa 32304d0d55SRumeet Dhindsadeclare void @g(...) 33304d0d55SRumeet Dhindsa 34304d0d55SRumeet Dhindsadefine void @f() { 35304d0d55SRumeet Dhindsaentry: 36304d0d55SRumeet Dhindsa call void (...) @g() 37304d0d55SRumeet Dhindsa ret void 38304d0d55SRumeet Dhindsa} 39