• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1; RUN: opt -module-summary -o %t %s
2; RUN: opt -module-summary -o %t2 %S/Inputs/dead-strip-fulllto.ll
3
4; Adding '--pass-remarks-with-hotness' should not cause crash.
5; RUN: llvm-lto2 run --pass-remarks-output=%t4.yaml --pass-remarks-filter=. --pass-remarks-with-hotness \
6; RUN:               %t -r %t,main,px -r %t,live1, -r %t,live2,p -r %t,dead2,p \
7; RUN:               %t2 -r %t2,live1,p -r %t2,live2, -r %t2,dead1,p -r %t2,dead2, -r %t2,odr, \
8; RUN:               -save-temps -o %t3
9
10; RUN: cat %t4.yaml | FileCheck %s -check-prefix=REMARK
11; RUN: llvm-nm %t3.0 | FileCheck --check-prefix=FULL %s
12; RUN: llvm-nm %t3.1 | FileCheck --check-prefix=THIN %s
13
14; RUN: llvm-lto2 run %t -r %t,main,px -r %t,live1, -r %t,live2,p -r %t,dead2,p \
15; RUN:               %t2 -r %t2,live1,p -r %t2,live2, -r %t2,dead1,p -r %t2,dead2, -r %t2,odr, \
16; RUN:               -save-temps -o %t3 -O0
17; RUN: llvm-nm %t3.0 | FileCheck --check-prefix=FULL %s
18; RUN: llvm-nm %t3.1 | FileCheck --check-prefix=THIN %s
19
20; REMARK:      Pass:            lto
21; REMARK-NEXT: Name:            deadfunction
22; REMARK-NEXT: Function:        dead2
23; REMARK-NEXT: Args:
24; REMARK-NEXT:   - Function:        dead2
25; REMARK-NEXT:   - String:          ' not added to the combined module '
26
27; FULL-NOT: dead
28; FULL: U live1
29; FULL: T live2
30; FULL: T main
31
32; THIN-NOT: dead
33; THIN: T live1
34; THIN: U live2
35; THIN-NOT: odr
36
37target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"
38target triple = "x86_64-unknown-linux-gnu"
39
40define void @main() {
41  call void @live1()
42  ret void
43}
44
45declare void @live1()
46
47define void @live2() {
48  ret void
49}
50
51define void @dead2() {
52  ret void
53}
54
55!0 = !{i32 1, !"ThinLTO", i32 0}
56!llvm.module.flags = !{ !0 }
57