annotate test/ThinLTO/X86/noinline.ll @ 146:3fc4d5c3e21e

set tail call flag for code segment in CGCAll
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Sun, 23 Dec 2018 19:23:36 +0900
parents 3a76565eade5
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
134
3a76565eade5 update 5.0.1
mir3636
parents:
diff changeset
1 ; This test checks that ThinLTO doesn't try to import noinline function
3a76565eade5 update 5.0.1
mir3636
parents:
diff changeset
2 ; which, when takes place, causes promotion of its callee.
3a76565eade5 update 5.0.1
mir3636
parents:
diff changeset
3 ; RUN: opt -module-summary %s -o %t1.bc
3a76565eade5 update 5.0.1
mir3636
parents:
diff changeset
4 ; RUN: opt -module-summary %p/Inputs/noinline.ll -o %t2.bc
3a76565eade5 update 5.0.1
mir3636
parents:
diff changeset
5 ; RUN: llvm-lto2 run %t1.bc %t2.bc -o %t3.o \
3a76565eade5 update 5.0.1
mir3636
parents:
diff changeset
6 ; RUN: -save-temps \
3a76565eade5 update 5.0.1
mir3636
parents:
diff changeset
7 ; RUN: -r=%t1.bc,main,px \
3a76565eade5 update 5.0.1
mir3636
parents:
diff changeset
8 ; RUN: -r=%t1.bc,foo, \
3a76565eade5 update 5.0.1
mir3636
parents:
diff changeset
9 ; RUN: -r=%t2.bc,foo,p
3a76565eade5 update 5.0.1
mir3636
parents:
diff changeset
10
3a76565eade5 update 5.0.1
mir3636
parents:
diff changeset
11 ; RUN: llvm-dis %t3.o.1.3.import.bc -o - | FileCheck %s
3a76565eade5 update 5.0.1
mir3636
parents:
diff changeset
12
3a76565eade5 update 5.0.1
mir3636
parents:
diff changeset
13 ; CHECK-NOT: define available_externally i32 @foo
3a76565eade5 update 5.0.1
mir3636
parents:
diff changeset
14
3a76565eade5 update 5.0.1
mir3636
parents:
diff changeset
15 target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
3a76565eade5 update 5.0.1
mir3636
parents:
diff changeset
16 target triple = "x86_64-pc-linux-gnu"
3a76565eade5 update 5.0.1
mir3636
parents:
diff changeset
17
3a76565eade5 update 5.0.1
mir3636
parents:
diff changeset
18 ; Function Attrs: nounwind ssp uwtable
3a76565eade5 update 5.0.1
mir3636
parents:
diff changeset
19 define i32 @main(i32, i8** nocapture readnone) local_unnamed_addr #0 {
3a76565eade5 update 5.0.1
mir3636
parents:
diff changeset
20 %3 = tail call i32 @foo(i32 %0) #0
3a76565eade5 update 5.0.1
mir3636
parents:
diff changeset
21 ret i32 %3
3a76565eade5 update 5.0.1
mir3636
parents:
diff changeset
22 }
3a76565eade5 update 5.0.1
mir3636
parents:
diff changeset
23
3a76565eade5 update 5.0.1
mir3636
parents:
diff changeset
24 declare i32 @foo(i32) local_unnamed_addr
3a76565eade5 update 5.0.1
mir3636
parents:
diff changeset
25
3a76565eade5 update 5.0.1
mir3636
parents:
diff changeset
26 attributes #0 = { nounwind }