[clang] a991ccd - [LTO][CodeGen] Test LTO pipeline choices more thoroughly (#65485)

via cfe-commits cfe-commits at lists.llvm.org
Thu Sep 7 06:49:32 PDT 2023


Author: Paul T Robinson
Date: 2023-09-07T09:49:27-04:00
New Revision: a991ccd8efec2888c9a46e68bf1d68820d66764a

URL: https://github.com/llvm/llvm-project/commit/a991ccd8efec2888c9a46e68bf1d68820d66764a
DIFF: https://github.com/llvm/llvm-project/commit/a991ccd8efec2888c9a46e68bf1d68820d66764a.diff

LOG: [LTO][CodeGen] Test LTO pipeline choices more thoroughly (#65485)

The test was looking only for the bitcode writer pass; it should check
the full pipeline to make sure the choice is as intended.

Added: 
    

Modified: 
    clang/test/CodeGen/unified-lto-pipeline.c

Removed: 
    


################################################################################
diff  --git a/clang/test/CodeGen/unified-lto-pipeline.c b/clang/test/CodeGen/unified-lto-pipeline.c
index 88bdfa6a634a46..e13cd57eed67d2 100644
--- a/clang/test/CodeGen/unified-lto-pipeline.c
+++ b/clang/test/CodeGen/unified-lto-pipeline.c
@@ -1,12 +1,18 @@
-// RUN: %clang --target=x86_64-unknown-unknown-linux -Xclang -fdebug-pass-manager -flto=thin -funified-lto -O2 -c %s -o %t.0 2>&1 | FileCheck --check-prefix=THIN %s
-// RUN: mv %t.0 %t.1
-// RUN: %clang --target=x86_64-unknown-unknown-linux -Xclang -fdebug-pass-manager -flto=full -funified-lto -O2 -c %s -o %t.0 2>&1 | FileCheck --check-prefix=THIN %s
-// RUN: %clang --target=x86_64-unknown-unknown-linux -Xclang -fdebug-pass-manager -flto=thin -O2 -c %s -o %t.2 2>&1 | FileCheck --check-prefix=THIN %s
-// RUN: mv %t.2 %t.3
-// RUN: %clang --target=x86_64-unknown-unknown-linux -Xclang -fdebug-pass-manager -flto=full -O2 -c %s -o %t.2 2>&1 | FileCheck --check-prefix=FULL %s
-// RUN: cmp %t.0 %t.1
+// RUN: %clang --target=x86_64-unknown-unknown-linux -Xclang -fdebug-pass-manager -flto=thin -funified-lto -O2 -c %s -o %t.0 2>%t.0.txt
+// RUN: %clang --target=x86_64-unknown-unknown-linux -Xclang -fdebug-pass-manager -flto=full -funified-lto -O2 -c %s -o %t.1 2>%t.1.txt
+// RUN: %clang --target=x86_64-unknown-unknown-linux -Xclang -fdebug-pass-manager -flto=thin -O2 -c %s -o %t.2 2>%t.2.txt
+// RUN: %clang --target=x86_64-unknown-unknown-linux -Xclang -fdebug-pass-manager -flto=full -O2 -c %s -o %t.3 2>%t.3.txt
+// RUN: FileCheck --input-file %t.0.txt %s --check-prefix=THIN
+// RUN: FileCheck --input-file %t.3.txt %s --check-prefix=FULL
 // THIN: ThinLTOBitcodeWriterPass
 // FULL-NOT: ThinLTOBitcodeWriterPass
+/// Check that thin/full unified bitcode matches.
+// RUN: cmp %t.0 %t.1
+/// Check that pass pipelines for thin, thin-unified, full-unified all match.
+// RUN: 
diff  %t.0.txt %t.1.txt
+// RUN: 
diff  %t.0.txt %t.2.txt
+/// Pass pipeline for full is 
diff erent.
+// RUN: not 
diff  %t.0.txt %t.3.txt
 
 int foo() {
   return 2 + 2;


        


More information about the cfe-commits mailing list