[clang] e5b0276 - [ThinLTO] Reduce pipeline clang test to avoid churn from LLVM changes

Teresa Johnson via cfe-commits cfe-commits at lists.llvm.org
Tue Apr 25 13:33:20 PDT 2023


Author: Teresa Johnson
Date: 2023-04-25T13:33:09-07:00
New Revision: e5b0276dc882f7c5b2a349e2f02abf16b1d41322

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

LOG: [ThinLTO] Reduce pipeline clang test to avoid churn from LLVM changes

This test was added in D72538, along with multiple LLVM pipeline tests,
to ensure that distributed ThinLTO backends invoked via clang set up the
expected ThinLTO optimization pipeline. However, this introduces churn
to clang tests from LLVM pipeline changes (see recent comment in that
patch).

Since the full pipeline setup is tested by LLVM, I have changed this
test to simply look for a single pass that is only invoked during LTO
backends, to make sure that clang is provoking the an LTO backend
pipeline setup.

Added: 
    

Modified: 
    clang/test/CodeGen/thinlto-distributed-newpm.ll

Removed: 
    


################################################################################
diff  --git a/clang/test/CodeGen/thinlto-distributed-newpm.ll b/clang/test/CodeGen/thinlto-distributed-newpm.ll
index c85ce0f6a27d..9967586fea9b 100644
--- a/clang/test/CodeGen/thinlto-distributed-newpm.ll
+++ b/clang/test/CodeGen/thinlto-distributed-newpm.ll
@@ -1,7 +1,12 @@
 ; FIXME: This test should use CHECK-NEXT to keep up-to-date.
 ; REQUIRES: x86-registered-target
 
-; Validate ThinLTO post link pipeline at O2 and O3
+;; Validate that we set up the ThinLTO post link pipeline at O2 and O3
+;; for a ThinLTO distributed backend invoked via clang.
+;; Since LLVM tests already more thoroughly test this pipeline, and to
+;; avoid making this clang test too sensitive to LLVM pipeline changes,
+;; here we simply confirm that an LTO backend-specific pass is getting
+;; invoked (WPD).
 
 ; RUN: opt -thinlto-bc -o %t.o %s
 
@@ -17,94 +22,9 @@
 ; RUN: %clang -target x86_64-grtev4-linux-gnu \
 ; RUN:   -O3 -Xclang -fdebug-pass-manager \
 ; RUN:   -c -fthinlto-index=%t.o.thinlto.bc \
-; RUN:   -o %t.native.o -x ir %t.o 2>&1 | FileCheck -check-prefixes=CHECK-O,CHECK-O3 %s --dump-input=fail
+; RUN:   -o %t.native.o -x ir %t.o 2>&1 | FileCheck -check-prefixes=CHECK-O %s --dump-input=fail
 
 ; CHECK-O: Running pass: WholeProgramDevirtPass
-; CHECK-O: Running pass: LowerTypeTestsPass
-; CHECK-O: Running pass: PGOIndirectCallPromotion
-; CHECK-O: Running pass: InferFunctionAttrsPass
-; CHECK-O: Running pass: LowerExpectIntrinsicPass on main
-; CHECK-O: Running pass: SimplifyCFGPass on main
-; CHECK-O: Running pass: SROAPass on main
-; CHECK-O: Running pass: EarlyCSEPass on main
-; CHECK-O3: Running pass: CallSiteSplittingPass on main
-; CHECK-O: Running pass: LowerTypeTestsPass
-; CHECK-O: Running pass: IPSCCPPass
-; CHECK-O: Running pass: CalledValuePropagationPass
-; CHECK-O: Running pass: GlobalOptPass
-; CHECK-O: Running pass: PromotePass
-; CHECK-O: Running pass: InstCombinePass on main
-; CHECK-O: Running pass: SimplifyCFGPass on main
-; CHECK-O: Running pass: InlinerPass on (main)
-; CHECK-O: Running pass: PostOrderFunctionAttrsPass on (main)
-; CHECK-O3: Running pass: ArgumentPromotionPass on (main)
-; CHECK-O: Running pass: SROAPass on main
-; CHECK-O: Running pass: EarlyCSEPass on main
-; CHECK-O: Running pass: SpeculativeExecutionPass on main
-; CHECK-O: Running pass: JumpThreadingPass on main
-; CHECK-O: Running pass: CorrelatedValuePropagationPass on main
-; CHECK-O: Running pass: SimplifyCFGPass on main
-; CHECK-O: Running pass: InstCombinePass on main
-; CHECK-O3: Running pass: AggressiveInstCombinePass on main
-; CHECK-O: Running pass: LibCallsShrinkWrapPass on main
-; CHECK-O: Running pass: TailCallElimPass on main
-; CHECK-O: Running pass: SimplifyCFGPass on main
-; CHECK-O: Running pass: ReassociatePass on main
-; CHECK-O: Running pass: LoopSimplifyPass on main
-; CHECK-O: Running pass: LCSSAPass on main
-; CHECK-O: Running pass: SimplifyCFGPass on main
-; CHECK-O: Running pass: InstCombinePass on main
-; CHECK-O: Running pass: LoopSimplifyPass on main
-; CHECK-O: Running pass: LCSSAPass on main
-; CHECK-O: Running pass: SROAPass on main
-; CHECK-O: Running pass: MergedLoadStoreMotionPass on main
-; CHECK-O: Running pass: GVNPass on main
-; CHECK-O: Running pass: SCCPPass on main
-; CHECK-O: Running pass: BDCEPass on main
-; CHECK-O: Running pass: InstCombinePass on main
-; CHECK-O: Running pass: JumpThreadingPass on main
-; CHECK-O: Running pass: CorrelatedValuePropagationPass on main
-; CHECK-O: Running pass: ADCEPass on main
-; CHECK-O: Running pass: MemCpyOptPass on main
-; CHECK-O: Running pass: DSEPass on main
-; CHECK-O: Running pass: LoopSimplifyPass on main
-; CHECK-O: Running pass: LCSSAPass on main
-; CHECK-O: Running pass: SimplifyCFGPass on main
-; CHECK-O: Running pass: InstCombinePass on main
-; CHECK-O: Running pass: DeadArgumentEliminationPass
-; CHECK-O: Running pass: GlobalOptPass
-; CHECK-O: Running pass: GlobalDCEPass
-; CHECK-O: Running pass: EliminateAvailableExternallyPass
-; CHECK-O: Running pass: ReversePostOrderFunctionAttrsPass
-; CHECK-O: Running pass: RecomputeGlobalsAAPass
-; CHECK-O: Running pass: Float2IntPass on main
-; CHECK-O: Running pass: LowerConstantIntrinsicsPass on main
-; CHECK-O: Running pass: LoopSimplifyPass on main
-; CHECK-O: Running pass: LCSSAPass on main
-; CHECK-O: Running pass: LoopRotatePass on b
-; CHECK-O: Running pass: LoopDistributePass on main
-; CHECK-O: Running pass: InjectTLIMappings on main
-; CHECK-O: Running pass: LoopVectorizePass on main
-; CHECK-O: Running pass: LoopLoadEliminationPass on main
-; CHECK-O: Running pass: InstCombinePass on main
-; CHECK-O: Running pass: SimplifyCFGPass on main
-; CHECK-O: Running pass: SLPVectorizerPass on main
-; CHECK-O: Running pass: VectorCombinePass on main
-; CHECK-O: Running pass: InstCombinePass on main
-; CHECK-O: Running pass: LoopUnrollPass on main
-; CHECK-O: Running pass: WarnMissedTransformationsPass on main
-; CHECK-O: Running pass: InstCombinePass on main
-; CHECK-O: Running pass: LoopSimplifyPass on main
-; CHECK-O: Running pass: LCSSAPass on main
-; CHECK-O: Running pass: LICMPass on b
-; CHECK-O: Running pass: AlignmentFromAssumptionsPass on main
-; CHECK-O: Running pass: LoopSinkPass on main
-; CHECK-O: Running pass: InstSimplifyPass on main
-; CHECK-O: Running pass: DivRemPairsPass on main
-; CHECK-O: Running pass: SimplifyCFGPass on main
-; CHECK-O: Running pass: GlobalDCEPass
-; CHECK-O: Running pass: ConstantMergePass
-; CHECK-O: Running pass: CGProfilePass
 
 target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"
 target triple = "x86_64-grtev4-linux-gnu"


        


More information about the cfe-commits mailing list