Teresa Johnson | 8dd61ae | 2016-09-16 13:54:19 +0000 | [diff] [blame] | 1 | ; Test mixed-mode LTO (mix of regular and thin LTO objects) |
| 2 | ; RUN: opt %s -o %t1.o |
| 3 | ; RUN: opt -module-summary %p/Inputs/mixed_lto.ll -o %t2.o |
| 4 | |
Peter Collingbourne | 7faa60c | 2017-04-11 18:12:00 +0000 | [diff] [blame^] | 5 | ; RUN: llvm-lto2 run -o %t3.o %t2.o %t1.o -r %t2.o,main,px -r %t2.o,g, -r %t1.o,g,px |
Teresa Johnson | 8dd61ae | 2016-09-16 13:54:19 +0000 | [diff] [blame] | 6 | |
| 7 | ; Task 0 is the regular LTO file (this file) |
Teresa Johnson | a8f6520 | 2016-09-16 17:12:48 +0000 | [diff] [blame] | 8 | ; RUN: llvm-nm %t3.o.0 | FileCheck %s --check-prefix=NM0 |
Teresa Johnson | 8dd61ae | 2016-09-16 13:54:19 +0000 | [diff] [blame] | 9 | ; NM0: T g |
| 10 | |
| 11 | ; Task 1 is the (first) ThinLTO file (Inputs/mixed_lto.ll) |
Teresa Johnson | a8f6520 | 2016-09-16 17:12:48 +0000 | [diff] [blame] | 12 | ; RUN: llvm-nm %t3.o.1 | FileCheck %s --check-prefix=NM1 |
Teresa Johnson | 8dd61ae | 2016-09-16 13:54:19 +0000 | [diff] [blame] | 13 | ; NM1-DAG: T main |
| 14 | ; NM1-DAG: U g |
| 15 | |
Peter Collingbourne | 1a0720e | 2016-12-14 01:17:59 +0000 | [diff] [blame] | 16 | ; Do the same test again, but with the regular and thin LTO modules in the same file. |
| 17 | ; RUN: llvm-cat -b -o %t4.o %t2.o %t1.o |
Peter Collingbourne | 7faa60c | 2017-04-11 18:12:00 +0000 | [diff] [blame^] | 18 | ; RUN: llvm-lto2 run -o %t5.o %t4.o -r %t4.o,main,px -r %t4.o,g, -r %t4.o,g,px |
Peter Collingbourne | 1a0720e | 2016-12-14 01:17:59 +0000 | [diff] [blame] | 19 | ; RUN: llvm-nm %t5.o.0 | FileCheck %s --check-prefix=NM0 |
| 20 | ; RUN: llvm-nm %t5.o.1 | FileCheck %s --check-prefix=NM1 |
| 21 | |
Eric Christopher | 0824096 | 2017-02-10 04:35:32 +0000 | [diff] [blame] | 22 | target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" |
Teresa Johnson | 8dd61ae | 2016-09-16 13:54:19 +0000 | [diff] [blame] | 23 | target triple = "x86_64-unknown-linux-gnu" |
| 24 | define i32 @g() { |
| 25 | ret i32 0 |
| 26 | } |