[clang] Implement lifetime analysis for lifetime_capture_by(X) (#115921)
[llvm-project.git] / clang / test / CodeGen / thinlto-distributed-newpm.ll
blob9967586fea9bc74f4383952189e6615f916306be
1 ; FIXME: This test should use CHECK-NEXT to keep up-to-date.
2 ; REQUIRES: x86-registered-target
4 ;; Validate that we set up the ThinLTO post link pipeline at O2 and O3
5 ;; for a ThinLTO distributed backend invoked via clang.
6 ;; Since LLVM tests already more thoroughly test this pipeline, and to
7 ;; avoid making this clang test too sensitive to LLVM pipeline changes,
8 ;; here we simply confirm that an LTO backend-specific pass is getting
9 ;; invoked (WPD).
11 ; RUN: opt -thinlto-bc -o %t.o %s
13 ; RUN: llvm-lto2 run -thinlto-distributed-indexes %t.o \
14 ; RUN:   -o %t2.index \
15 ; RUN:   -r=%t.o,main,px
17 ; RUN: %clang -target x86_64-grtev4-linux-gnu \
18 ; RUN:   -O2 -Xclang -fdebug-pass-manager \
19 ; RUN:   -c -fthinlto-index=%t.o.thinlto.bc \
20 ; RUN:   -o %t.native.o -x ir %t.o 2>&1 | FileCheck -check-prefix=CHECK-O %s --dump-input=fail
22 ; RUN: %clang -target x86_64-grtev4-linux-gnu \
23 ; RUN:   -O3 -Xclang -fdebug-pass-manager \
24 ; RUN:   -c -fthinlto-index=%t.o.thinlto.bc \
25 ; RUN:   -o %t.native.o -x ir %t.o 2>&1 | FileCheck -check-prefixes=CHECK-O %s --dump-input=fail
27 ; CHECK-O: Running pass: WholeProgramDevirtPass
29 target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"
30 target triple = "x86_64-grtev4-linux-gnu"
32 define i32 @main() {
33   br label %b
35   br label %b
36   ret i32 0