42 lines · c
1// REQUIRES: lld-link2 3/// Simple test that DTLTO works with a single input bitcode file and that4/// --save-temps can be applied to the remote compilation.5 6// RUN: rm -rf %t && mkdir %t && cd %t7 8// RUN: %clang --target=x86_64-pc-windows-msvc -c -flto=thin %s -o dtlto.obj9 10// RUN: lld-link /subsystem:console /entry:_start dtlto.obj \11// RUN: -thinlto-distributor:%python \12// RUN: -thinlto-distributor-arg:%llvm_src_root/utils/dtlto/local.py \13// RUN: -thinlto-remote-compiler:%clang \14// RUN: -thinlto-remote-compiler-arg:--save-temps15 16/// Check that the required output files have been created.17// RUN: ls | sort | FileCheck %s18 19/// No files are expected before.20// CHECK-NOT: {{.}}21 22/// Linked ELF.23// CHECK: {{^}}dtlto.exe{{$}}24 25/// Produced by the bitcode compilation.26// CHECK-NEXT: {{^}}dtlto.obj{{$}}27 28/// --save-temps output for the backend compilation.29// CHECK-NEXT: {{^}}dtlto.s{{$}}30// CHECK-NEXT: {{^}}dtlto.s.0.preopt.bc{{$}}31// CHECK-NEXT: {{^}}dtlto.s.1.promote.bc{{$}}32// CHECK-NEXT: {{^}}dtlto.s.2.internalize.bc{{$}}33// CHECK-NEXT: {{^}}dtlto.s.3.import.bc{{$}}34// CHECK-NEXT: {{^}}dtlto.s.4.opt.bc{{$}}35// CHECK-NEXT: {{^}}dtlto.s.5.precodegen.bc{{$}}36// CHECK-NEXT: {{^}}dtlto.s.resolution.txt{{$}}37 38/// No files are expected after.39// CHECK-NOT: {{.}}40 41int _start() { return 0; }42