diff --git a/llvm/test/CodeGen/AMDGPU/opt-pipeline-newpm.ll b/llvm/test/CodeGen/AMDGPU/opt-pipeline-newpm.ll new file mode 100644 --- /dev/null +++ b/llvm/test/CodeGen/AMDGPU/opt-pipeline-newpm.ll @@ -0,0 +1,531 @@ +; RUN: opt -passes='default' -mtriple=amdgcn--amdhsa -disable-output -disable-verify -debug-pass-manager %s 2>&1 | FileCheck -check-prefix=GCN-O0 %s +; RUN: opt -passes='default' -mtriple=amdgcn--amdhsa -disable-output -disable-verify -debug-pass-manager %s 2>&1 | FileCheck -check-prefix=GCN-O1 %s +; RUN: opt -passes='default' -mtriple=amdgcn--amdhsa -disable-output -disable-verify -debug-pass-manager %s 2>&1 | FileCheck -check-prefix=GCN-O2 %s +; RUN: opt -passes='default' -mtriple=amdgcn--amdhsa -disable-output -disable-verify -debug-pass-manager %s 2>&1 | FileCheck -check-prefix=GCN-O3 %s + +; GCN-O0: Running analysis: InnerAnalysisManagerProxy on [module] +; GCN-O0-NEXT: Running pass: AMDGPUUseNativeCallsPass on empty (1 instruction) +; GCN-O0-NEXT: Running pass: AMDGPUPrintfRuntimeBindingPass on [module] +; GCN-O0-NEXT: Running pass: AlwaysInlinerPass on [module] +; GCN-O0-NEXT: Running analysis: ProfileSummaryAnalysis on [module] +; GCN-O0-NEXT: Running pass: CoroConditionalWrapper on [module] +; GCN-O0-NEXT: Running pass: AnnotationRemarksPass on empty (1 instruction) +; GCN-O0-NEXT: Running analysis: TargetLibraryAnalysis on empty + +; GCN-O1: Running pass: Annotation2MetadataPass on [module] +; GCN-O1-NEXT: Running pass: ForceFunctionAttrsPass on [module] +; GCN-O1-NEXT: Running analysis: InnerAnalysisManagerProxy on [module] +; GCN-O1-NEXT: Running pass: AMDGPUUseNativeCallsPass on empty (1 instruction) +; GCN-O1-NEXT: Running pass: AMDGPUSimplifyLibCallsPass on empty (1 instruction) +; GCN-O1-NEXT: Running analysis: AAManager on empty +; GCN-O1-NEXT: Running analysis: TargetLibraryAnalysis on empty +; GCN-O1-NEXT: Running analysis: BasicAA on empty +; GCN-O1-NEXT: Running analysis: AssumptionAnalysis on empty +; GCN-O1-NEXT: Running analysis: TargetIRAnalysis on empty +; GCN-O1-NEXT: Running analysis: DominatorTreeAnalysis on empty +; GCN-O1-NEXT: Running analysis: ScopedNoAliasAA on empty +; GCN-O1-NEXT: Running analysis: TypeBasedAA on empty +; GCN-O1-NEXT: Running analysis: OuterAnalysisManagerProxy on empty +; GCN-O1-NEXT: Running analysis: AMDGPUAA on empty +; GCN-O1-NEXT: Running pass: InferFunctionAttrsPass on [module] +; GCN-O1-NEXT: Running pass: CoroEarlyPass on [module] +; GCN-O1-NEXT: Running pass: LowerExpectIntrinsicPass on empty (1 instruction) +; GCN-O1-NEXT: Running pass: SimplifyCFGPass on empty (1 instruction) +; GCN-O1-NEXT: Running pass: SROAPass on empty (1 instruction) +; GCN-O1-NEXT: Running pass: EarlyCSEPass on empty (1 instruction) +; GCN-O1-NEXT: Invalidating analysis: DominatorTreeAnalysis on empty +; GCN-O1-NEXT: Invalidating analysis: BasicAA on empty +; GCN-O1-NEXT: Invalidating analysis: AAManager on empty +; GCN-O1-NEXT: Running pass: OpenMPOptPass on [module] +; GCN-O1-NEXT: Running pass: AMDGPUPrintfRuntimeBindingPass on [module] +; GCN-O1-NEXT: Running pass: AMDGPUUnifyMetadataPass on [module] +; GCN-O1-NEXT: Running pass: IPSCCPPass on [module] +; GCN-O1-NEXT: Running analysis: DominatorTreeAnalysis on empty +; GCN-O1-NEXT: Running pass: CalledValuePropagationPass on [module] +; GCN-O1-NEXT: Running pass: GlobalOptPass on [module] +; GCN-O1-NEXT: Running pass: PromotePass on empty (1 instruction) +; GCN-O1-NEXT: Running pass: InstCombinePass on empty (1 instruction) +; GCN-O1-NEXT: Running analysis: OptimizationRemarkEmitterAnalysis on empty +; GCN-O1-NEXT: Running analysis: AAManager on empty +; GCN-O1-NEXT: Running analysis: BasicAA on empty +; GCN-O1-NEXT: Running pass: SimplifyCFGPass on empty (1 instruction) +; GCN-O1-NEXT: Invalidating analysis: DominatorTreeAnalysis on empty +; GCN-O1-NEXT: Invalidating analysis: BasicAA on empty +; GCN-O1-NEXT: Invalidating analysis: AAManager on empty +; GCN-O1-NEXT: Running pass: ModuleInlinerWrapperPass on [module] +; GCN-O1-NEXT: Running analysis: InlineAdvisorAnalysis on [module] +; GCN-O1-NEXT: Running pass: RequireAnalysisPass> on [module] +; GCN-O1-NEXT: Running analysis: GlobalsAA on [module] +; GCN-O1-NEXT: Running analysis: CallGraphAnalysis on [module] +; GCN-O1-NEXT: Running pass: InvalidateAnalysisPass on empty (1 instruction) +; GCN-O1-NEXT: Running pass: RequireAnalysisPass> on [module] +; GCN-O1-NEXT: Running analysis: ProfileSummaryAnalysis on [module] +; GCN-O1-NEXT: Running analysis: InnerAnalysisManagerProxy on [module] +; GCN-O1-NEXT: Running analysis: LazyCallGraphAnalysis on [module] +; GCN-O1-NEXT: Running analysis: FunctionAnalysisManagerCGSCCProxy on (empty) +; GCN-O1-NEXT: Running analysis: OuterAnalysisManagerProxy on (empty) +; GCN-O1-NEXT: Running pass: DevirtSCCRepeatedPass on (empty) (1 node) +; GCN-O1-NEXT: Running pass: InlinerPass on (empty) (1 node) +; GCN-O1-NEXT: Running pass: InlinerPass on (empty) (1 node) +; GCN-O1-NEXT: Running pass: PostOrderFunctionAttrsPass on (empty) (1 node) +; GCN-O1-NEXT: Running pass: InferAddressSpacesPass on empty (1 instruction) +; GCN-O1-NEXT: Running pass: AMDGPULowerKernelAttributesPass on empty (1 instruction) +; GCN-O1-NEXT: Running pass: AMDGPUPromoteAllocaToVectorPass on empty (1 instruction) +; GCN-O1-NEXT: Running pass: SROAPass on empty (1 instruction) +; GCN-O1-NEXT: Running analysis: DominatorTreeAnalysis on empty +; GCN-O1-NEXT: Running pass: EarlyCSEPass on empty (1 instruction) +; GCN-O1-NEXT: Running analysis: MemorySSAAnalysis on empty +; GCN-O1-NEXT: Running analysis: AAManager on empty +; GCN-O1-NEXT: Running analysis: BasicAA on empty +; GCN-O1-NEXT: Running pass: SimplifyCFGPass on empty (1 instruction) +; GCN-O1-NEXT: Running pass: InstCombinePass on empty (1 instruction) +; GCN-O1-NEXT: Running pass: LibCallsShrinkWrapPass on empty (1 instruction) +; GCN-O1-NEXT: Running pass: SimplifyCFGPass on empty (1 instruction) +; GCN-O1-NEXT: Running pass: ReassociatePass on empty (1 instruction) +; GCN-O1-NEXT: Running pass: LoopSimplifyPass on empty (1 instruction) +; GCN-O1-NEXT: Running analysis: LoopAnalysis on empty +; GCN-O1-NEXT: Running pass: LCSSAPass on empty (1 instruction) +; GCN-O1-NEXT: Running pass: SimplifyCFGPass on empty (1 instruction) +; GCN-O1-NEXT: Running pass: InstCombinePass on empty (1 instruction) +; GCN-O1-NEXT: Running pass: LoopSimplifyPass on empty (1 instruction) +; GCN-O1-NEXT: Running pass: LCSSAPass on empty (1 instruction) +; GCN-O1-NEXT: Running pass: SROAPass on empty (1 instruction) +; GCN-O1-NEXT: Running pass: MemCpyOptPass on empty (1 instruction) +; GCN-O1-NEXT: Running pass: SCCPPass on empty (1 instruction) +; GCN-O1-NEXT: Running pass: BDCEPass on empty (1 instruction) +; GCN-O1-NEXT: Running analysis: DemandedBitsAnalysis on empty +; GCN-O1-NEXT: Running pass: InstCombinePass on empty (1 instruction) +; GCN-O1-NEXT: Running pass: CoroElidePass on empty (1 instruction) +; GCN-O1-NEXT: Running pass: ADCEPass on empty (1 instruction) +; GCN-O1-NEXT: Running analysis: PostDominatorTreeAnalysis on empty +; GCN-O1-NEXT: Running pass: SimplifyCFGPass on empty (1 instruction) +; GCN-O1-NEXT: Running pass: InstCombinePass on empty (1 instruction) +; GCN-O1-NEXT: Invalidating analysis: DominatorTreeAnalysis on empty +; GCN-O1-NEXT: Invalidating analysis: BasicAA on empty +; GCN-O1-NEXT: Invalidating analysis: AAManager on empty +; GCN-O1-NEXT: Invalidating analysis: MemorySSAAnalysis on empty +; GCN-O1-NEXT: Invalidating analysis: LoopAnalysis on empty +; GCN-O1-NEXT: Invalidating analysis: DemandedBitsAnalysis on empty +; GCN-O1-NEXT: Invalidating analysis: PostDominatorTreeAnalysis on empty +; GCN-O1-NEXT: Running pass: PostOrderFunctionAttrsPass on (empty) (1 node) +; GCN-O1-NEXT: Running analysis: AAManager on empty +; GCN-O1-NEXT: Running analysis: BasicAA on empty +; GCN-O1-NEXT: Running analysis: DominatorTreeAnalysis on empty +; GCN-O1-NEXT: Running pass: RequireAnalysisPass> on empty (1 instruction) +; GCN-O1-NEXT: Running analysis: ShouldNotRunFunctionPassesAnalysis on empty +; GCN-O1-NEXT: Running pass: CoroSplitPass on (empty) (1 node) +; GCN-O1-NEXT: Invalidating analysis: CallGraphAnalysis on [module] +; GCN-O1-NEXT: Running pass: InvalidateAnalysisPass on empty (1 instruction) +; GCN-O1-NEXT: Invalidating analysis: ShouldNotRunFunctionPassesAnalysis on empty +; GCN-O1-NEXT: Invalidating analysis: InlineAdvisorAnalysis on [module] +; GCN-O1-NEXT: Running pass: DeadArgumentEliminationPass on [module] +; GCN-O1-NEXT: Running pass: CoroCleanupPass on [module] +; GCN-O1-NEXT: Running pass: GlobalOptPass on [module] +; GCN-O1-NEXT: Running pass: GlobalDCEPass on [module] +; GCN-O1-NEXT: Running pass: EliminateAvailableExternallyPass on [module] +; GCN-O1-NEXT: Running pass: ReversePostOrderFunctionAttrsPass on [module] +; GCN-O1-NEXT: Running pass: RecomputeGlobalsAAPass on [module] +; GCN-O1-NEXT: Running analysis: CallGraphAnalysis on [module] +; GCN-O1-NEXT: Running pass: Float2IntPass on empty (1 instruction) +; GCN-O1-NEXT: Running pass: LowerConstantIntrinsicsPass on empty (1 instruction) +; GCN-O1-NEXT: Running pass: LoopSimplifyPass on empty (1 instruction) +; GCN-O1-NEXT: Running analysis: LoopAnalysis on empty +; GCN-O1-NEXT: Running pass: LCSSAPass on empty (1 instruction) +; GCN-O1-NEXT: Running pass: LoopDistributePass on empty (1 instruction) +; GCN-O1-NEXT: Running analysis: ScalarEvolutionAnalysis on empty +; GCN-O1-NEXT: Running analysis: LoopAccessAnalysis on empty +; GCN-O1-NEXT: Running pass: InjectTLIMappings on empty (1 instruction) +; GCN-O1-NEXT: Running pass: LoopVectorizePass on empty (1 instruction) +; GCN-O1-NEXT: Running pass: LoopLoadEliminationPass on empty (1 instruction) +; GCN-O1-NEXT: Running pass: InstCombinePass on empty (1 instruction) +; GCN-O1-NEXT: Running pass: SimplifyCFGPass on empty (1 instruction) +; GCN-O1-NEXT: Running pass: VectorCombinePass on empty (1 instruction) +; GCN-O1-NEXT: Running pass: InstCombinePass on empty (1 instruction) +; GCN-O1-NEXT: Running pass: LoopUnrollPass on empty (1 instruction) +; GCN-O1-NEXT: Running pass: WarnMissedTransformationsPass on empty (1 instruction) +; GCN-O1-NEXT: Running pass: SROAPass on empty (1 instruction) +; GCN-O1-NEXT: Running pass: InstCombinePass on empty (1 instruction) +; GCN-O1-NEXT: Running pass: LoopSimplifyPass on empty (1 instruction) +; GCN-O1-NEXT: Running pass: LCSSAPass on empty (1 instruction) +; GCN-O1-NEXT: Running pass: AlignmentFromAssumptionsPass on empty (1 instruction) +; GCN-O1-NEXT: Running pass: LoopSinkPass on empty (1 instruction) +; GCN-O1-NEXT: Running pass: InstSimplifyPass on empty (1 instruction) +; GCN-O1-NEXT: Running pass: DivRemPairsPass on empty (1 instruction) +; GCN-O1-NEXT: Running pass: TailCallElimPass on empty (1 instruction) +; GCN-O1-NEXT: Running pass: SimplifyCFGPass on empty (1 instruction) +; GCN-O1-NEXT: Invalidating analysis: DominatorTreeAnalysis on empty +; GCN-O1-NEXT: Invalidating analysis: BasicAA on empty +; GCN-O1-NEXT: Invalidating analysis: AAManager on empty +; GCN-O1-NEXT: Invalidating analysis: LoopAnalysis on empty +; GCN-O1-NEXT: Invalidating analysis: ScalarEvolutionAnalysis on empty +; GCN-O1-NEXT: Invalidating analysis: LoopAccessAnalysis on empty +; GCN-O1-NEXT: Running pass: GlobalDCEPass on [module] +; GCN-O1-NEXT: Running pass: ConstantMergePass on [module] +; GCN-O1-NEXT: Running pass: CGProfilePass on [module] +; GCN-O1-NEXT: Running pass: RelLookupTableConverterPass on [module] +; GCN-O1-NEXT: Running pass: AnnotationRemarksPass on empty (1 instruction) + +; GCN-O2: Running pass: Annotation2MetadataPass on [module] +; GCN-O2-NEXT:Running pass: ForceFunctionAttrsPass on [module] +; GCN-O2-NEXT:Running analysis: InnerAnalysisManagerProxy on [module] +; GCN-O2-NEXT:Running pass: AMDGPUUseNativeCallsPass on empty (1 instruction) +; GCN-O2-NEXT:Running pass: AMDGPUSimplifyLibCallsPass on empty (1 instruction) +; GCN-O2-NEXT:Running analysis: AAManager on empty +; GCN-O2-NEXT:Running analysis: TargetLibraryAnalysis on empty +; GCN-O2-NEXT:Running analysis: BasicAA on empty +; GCN-O2-NEXT:Running analysis: AssumptionAnalysis on empty +; GCN-O2-NEXT:Running analysis: TargetIRAnalysis on empty +; GCN-O2-NEXT:Running analysis: DominatorTreeAnalysis on empty +; GCN-O2-NEXT:Running analysis: ScopedNoAliasAA on empty +; GCN-O2-NEXT:Running analysis: TypeBasedAA on empty +; GCN-O2-NEXT:Running analysis: OuterAnalysisManagerProxy on empty +; GCN-O2-NEXT:Running analysis: AMDGPUAA on empty +; GCN-O2-NEXT:Running pass: InferFunctionAttrsPass on [module] +; GCN-O2-NEXT:Running pass: CoroEarlyPass on [module] +; GCN-O2-NEXT:Running pass: LowerExpectIntrinsicPass on empty (1 instruction) +; GCN-O2-NEXT:Running pass: SimplifyCFGPass on empty (1 instruction) +; GCN-O2-NEXT:Running pass: SROAPass on empty (1 instruction) +; GCN-O2-NEXT:Running pass: EarlyCSEPass on empty (1 instruction) +; GCN-O2-NEXT:Invalidating analysis: DominatorTreeAnalysis on empty +; GCN-O2-NEXT:Invalidating analysis: BasicAA on empty +; GCN-O2-NEXT:Invalidating analysis: AAManager on empty +; GCN-O2-NEXT:Running pass: OpenMPOptPass on [module] +; GCN-O2-NEXT:Running pass: AMDGPUPrintfRuntimeBindingPass on [module] +; GCN-O2-NEXT:Running pass: AMDGPUUnifyMetadataPass on [module] +; GCN-O2-NEXT:Running pass: IPSCCPPass on [module] +; GCN-O2-NEXT:Running analysis: DominatorTreeAnalysis on empty +; GCN-O2-NEXT:Running pass: CalledValuePropagationPass on [module] +; GCN-O2-NEXT:Running pass: GlobalOptPass on [module] +; GCN-O2-NEXT:Running pass: PromotePass on empty (1 instruction) +; GCN-O2-NEXT:Running pass: InstCombinePass on empty (1 instruction) +; GCN-O2-NEXT:Running analysis: OptimizationRemarkEmitterAnalysis on empty +; GCN-O2-NEXT:Running analysis: AAManager on empty +; GCN-O2-NEXT:Running analysis: BasicAA on empty +; GCN-O2-NEXT:Running pass: SimplifyCFGPass on empty (1 instruction) +; GCN-O2-NEXT:Invalidating analysis: DominatorTreeAnalysis on empty +; GCN-O2-NEXT:Invalidating analysis: BasicAA on empty +; GCN-O2-NEXT:Invalidating analysis: AAManager on empty +; GCN-O2-NEXT:Running pass: ModuleInlinerWrapperPass on [module] +; GCN-O2-NEXT:Running analysis: InlineAdvisorAnalysis on [module] +; GCN-O2-NEXT:Running pass: RequireAnalysisPass> on [module] +; GCN-O2-NEXT:Running analysis: GlobalsAA on [module] +; GCN-O2-NEXT:Running analysis: CallGraphAnalysis on [module] +; GCN-O2-NEXT:Running pass: InvalidateAnalysisPass on empty (1 instruction) +; GCN-O2-NEXT:Running pass: RequireAnalysisPass> on [module] +; GCN-O2-NEXT:Running analysis: ProfileSummaryAnalysis on [module] +; GCN-O2-NEXT:Running analysis: InnerAnalysisManagerProxy on [module] +; GCN-O2-NEXT:Running analysis: LazyCallGraphAnalysis on [module] +; GCN-O2-NEXT:Running analysis: FunctionAnalysisManagerCGSCCProxy on (empty) +; GCN-O2-NEXT:Running analysis: OuterAnalysisManagerProxy on (empty) +; GCN-O2-NEXT:Running pass: DevirtSCCRepeatedPass on (empty) (1 node) +; GCN-O2-NEXT:Running pass: InlinerPass on (empty) (1 node) +; GCN-O2-NEXT:Running pass: InlinerPass on (empty) (1 node) +; GCN-O2-NEXT:Running pass: PostOrderFunctionAttrsPass on (empty) (1 node) +; GCN-O2-NEXT:Running pass: OpenMPOptCGSCCPass on (empty) (1 node) +; GCN-O2-NEXT:Running pass: AMDGPUPromoteKernelArgumentsPass on empty (1 instruction) +; GCN-O2-NEXT:Running analysis: MemorySSAAnalysis on empty +; GCN-O2-NEXT:Running analysis: DominatorTreeAnalysis on empty +; GCN-O2-NEXT:Running analysis: AAManager on empty +; GCN-O2-NEXT:Running analysis: BasicAA on empty +; GCN-O2-NEXT:Running pass: InferAddressSpacesPass on empty (1 instruction) +; GCN-O2-NEXT:Running pass: AMDGPULowerKernelAttributesPass on empty (1 instruction) +; GCN-O2-NEXT:Running pass: AMDGPUPromoteAllocaToVectorPass on empty (1 instruction) +; GCN-O2-NEXT:Running pass: SROAPass on empty (1 instruction) +; GCN-O2-NEXT:Running pass: EarlyCSEPass on empty (1 instruction) +; GCN-O2-NEXT:Running pass: SpeculativeExecutionPass on empty (1 instruction) +; GCN-O2-NEXT:Running pass: JumpThreadingPass on empty (1 instruction) +; GCN-O2-NEXT:Running pass: CorrelatedValuePropagationPass on empty (1 instruction) +; GCN-O2-NEXT:Running analysis: LazyValueAnalysis on empty +; GCN-O2-NEXT:Invalidating analysis: LazyValueAnalysis on empty +; GCN-O2-NEXT:Running pass: SimplifyCFGPass on empty (1 instruction) +; GCN-O2-NEXT:Running pass: InstCombinePass on empty (1 instruction) +; GCN-O2-NEXT:Running pass: AggressiveInstCombinePass on empty (1 instruction) +; GCN-O2-NEXT:Running pass: ConstraintEliminationPass on empty (1 instruction) +; GCN-O2-NEXT:Running pass: LibCallsShrinkWrapPass on empty (1 instruction) +; GCN-O2-NEXT:Running pass: TailCallElimPass on empty (1 instruction) +; GCN-O2-NEXT:Running pass: SimplifyCFGPass on empty (1 instruction) +; GCN-O2-NEXT:Running pass: ReassociatePass on empty (1 instruction) +; GCN-O2-NEXT:Running pass: LoopSimplifyPass on empty (1 instruction) +; GCN-O2-NEXT:Running analysis: LoopAnalysis on empty +; GCN-O2-NEXT:Running pass: LCSSAPass on empty (1 instruction) +; GCN-O2-NEXT:Running pass: SimplifyCFGPass on empty (1 instruction) +; GCN-O2-NEXT:Running pass: InstCombinePass on empty (1 instruction) +; GCN-O2-NEXT:Running pass: LoopSimplifyPass on empty (1 instruction) +; GCN-O2-NEXT:Running pass: LCSSAPass on empty (1 instruction) +; GCN-O2-NEXT:Running pass: SROAPass on empty (1 instruction) +; GCN-O2-NEXT:Running pass: VectorCombinePass on empty (1 instruction) +; GCN-O2-NEXT:Running pass: MergedLoadStoreMotionPass on empty (1 instruction) +; GCN-O2-NEXT:Running pass: GVNPass on empty (1 instruction) +; GCN-O2-NEXT:Running analysis: MemoryDependenceAnalysis on empty +; GCN-O2-NEXT:Running pass: SCCPPass on empty (1 instruction) +; GCN-O2-NEXT:Running pass: BDCEPass on empty (1 instruction) +; GCN-O2-NEXT:Running analysis: DemandedBitsAnalysis on empty +; GCN-O2-NEXT:Running pass: InstCombinePass on empty (1 instruction) +; GCN-O2-NEXT:Running pass: JumpThreadingPass on empty (1 instruction) +; GCN-O2-NEXT:Running pass: CorrelatedValuePropagationPass on empty (1 instruction) +; GCN-O2-NEXT:Running analysis: LazyValueAnalysis on empty +; GCN-O2-NEXT:Invalidating analysis: LazyValueAnalysis on empty +; GCN-O2-NEXT:Running pass: ADCEPass on empty (1 instruction) +; GCN-O2-NEXT:Running analysis: PostDominatorTreeAnalysis on empty +; GCN-O2-NEXT:Running pass: MemCpyOptPass on empty (1 instruction) +; GCN-O2-NEXT:Running pass: DSEPass on empty (1 instruction) +; GCN-O2-NEXT:Running pass: MoveAutoInitPass on empty (1 instruction) +; GCN-O2-NEXT:Running pass: LoopSimplifyPass on empty (1 instruction) +; GCN-O2-NEXT:Running pass: LCSSAPass on empty (1 instruction) +; GCN-O2-NEXT:Running pass: CoroElidePass on empty (1 instruction) +; GCN-O2-NEXT:Running pass: SimplifyCFGPass on empty (1 instruction) +; GCN-O2-NEXT:Running pass: InstCombinePass on empty (1 instruction) +; GCN-O2-NEXT:Invalidating analysis: DominatorTreeAnalysis on empty +; GCN-O2-NEXT:Invalidating analysis: BasicAA on empty +; GCN-O2-NEXT:Invalidating analysis: AAManager on empty +; GCN-O2-NEXT:Invalidating analysis: MemorySSAAnalysis on empty +; GCN-O2-NEXT:Invalidating analysis: LoopAnalysis on empty +; GCN-O2-NEXT:Invalidating analysis: MemoryDependenceAnalysis on empty +; GCN-O2-NEXT:Invalidating analysis: DemandedBitsAnalysis on empty +; GCN-O2-NEXT:Invalidating analysis: PostDominatorTreeAnalysis on empty +; GCN-O2-NEXT:Running pass: PostOrderFunctionAttrsPass on (empty) (1 node) +; GCN-O2-NEXT:Running analysis: AAManager on empty +; GCN-O2-NEXT:Running analysis: BasicAA on empty +; GCN-O2-NEXT:Running analysis: DominatorTreeAnalysis on empty +; GCN-O2-NEXT:Running pass: RequireAnalysisPass> on empty (1 instruction) +; GCN-O2-NEXT:Running analysis: ShouldNotRunFunctionPassesAnalysis on empty +; GCN-O2-NEXT:Running pass: CoroSplitPass on (empty) (1 node) +; GCN-O2-NEXT:Invalidating analysis: CallGraphAnalysis on [module] +; GCN-O2-NEXT:Running pass: InvalidateAnalysisPass on empty (1 instruction) +; GCN-O2-NEXT:Invalidating analysis: ShouldNotRunFunctionPassesAnalysis on empty +; GCN-O2-NEXT:Invalidating analysis: InlineAdvisorAnalysis on [module] +; GCN-O2-NEXT:Running pass: DeadArgumentEliminationPass on [module] +; GCN-O2-NEXT:Running pass: CoroCleanupPass on [module] +; GCN-O2-NEXT:Running pass: GlobalOptPass on [module] +; GCN-O2-NEXT:Running pass: GlobalDCEPass on [module] +; GCN-O2-NEXT:Running pass: EliminateAvailableExternallyPass on [module] +; GCN-O2-NEXT:Running pass: ReversePostOrderFunctionAttrsPass on [module] +; GCN-O2-NEXT:Running pass: RecomputeGlobalsAAPass on [module] +; GCN-O2-NEXT:Running analysis: CallGraphAnalysis on [module] +; GCN-O2-NEXT:Running pass: Float2IntPass on empty (1 instruction) +; GCN-O2-NEXT:Running pass: LowerConstantIntrinsicsPass on empty (1 instruction) +; GCN-O2-NEXT:Running pass: LoopSimplifyPass on empty (1 instruction) +; GCN-O2-NEXT:Running analysis: LoopAnalysis on empty +; GCN-O2-NEXT:Running pass: LCSSAPass on empty (1 instruction) +; GCN-O2-NEXT:Running pass: LoopDistributePass on empty (1 instruction) +; GCN-O2-NEXT:Running analysis: ScalarEvolutionAnalysis on empty +; GCN-O2-NEXT:Running analysis: LoopAccessAnalysis on empty +; GCN-O2-NEXT:Running pass: InjectTLIMappings on empty (1 instruction) +; GCN-O2-NEXT:Running pass: LoopVectorizePass on empty (1 instruction) +; GCN-O2-NEXT:Running pass: LoopLoadEliminationPass on empty (1 instruction) +; GCN-O2-NEXT:Running pass: InstCombinePass on empty (1 instruction) +; GCN-O2-NEXT:Running pass: SimplifyCFGPass on empty (1 instruction) +; GCN-O2-NEXT:Running pass: SLPVectorizerPass on empty (1 instruction) +; GCN-O2-NEXT:Running analysis: DemandedBitsAnalysis on empty +; GCN-O2-NEXT:Running pass: VectorCombinePass on empty (1 instruction) +; GCN-O2-NEXT:Running pass: InstCombinePass on empty (1 instruction) +; GCN-O2-NEXT:Running pass: LoopUnrollPass on empty (1 instruction) +; GCN-O2-NEXT:Running pass: WarnMissedTransformationsPass on empty (1 instruction) +; GCN-O2-NEXT:Running pass: SROAPass on empty (1 instruction) +; GCN-O2-NEXT:Running pass: InstCombinePass on empty (1 instruction) +; GCN-O2-NEXT:Running pass: LoopSimplifyPass on empty (1 instruction) +; GCN-O2-NEXT:Running pass: LCSSAPass on empty (1 instruction) +; GCN-O2-NEXT:Running pass: AlignmentFromAssumptionsPass on empty (1 instruction) +; GCN-O2-NEXT:Running pass: LoopSinkPass on empty (1 instruction) +; GCN-O2-NEXT:Running pass: InstSimplifyPass on empty (1 instruction) +; GCN-O2-NEXT:Running pass: DivRemPairsPass on empty (1 instruction) +; GCN-O2-NEXT:Running pass: TailCallElimPass on empty (1 instruction) +; GCN-O2-NEXT:Running pass: SimplifyCFGPass on empty (1 instruction) +; GCN-O2-NEXT:Invalidating analysis: DominatorTreeAnalysis on empty +; GCN-O2-NEXT:Invalidating analysis: BasicAA on empty +; GCN-O2-NEXT:Invalidating analysis: AAManager on empty +; GCN-O2-NEXT:Invalidating analysis: LoopAnalysis on empty +; GCN-O2-NEXT:Invalidating analysis: ScalarEvolutionAnalysis on empty +; GCN-O2-NEXT:Invalidating analysis: LoopAccessAnalysis on empty +; GCN-O2-NEXT:Invalidating analysis: DemandedBitsAnalysis on empty +; GCN-O2-NEXT:Running pass: GlobalDCEPass on [module] +; GCN-O2-NEXT:Running pass: ConstantMergePass on [module] +; GCN-O2-NEXT:Running pass: CGProfilePass on [module] +; GCN-O2-NEXT:Running pass: RelLookupTableConverterPass on [module] +; GCN-O2-NEXT:Running pass: AnnotationRemarksPass on empty (1 instruction) + +; GCN-O3: Running pass: Annotation2MetadataPass on [module] +; GCN-O3-NEXT: Running pass: ForceFunctionAttrsPass on [module] +; GCN-O3-NEXT: Running analysis: InnerAnalysisManagerProxy on [module] +; GCN-O3-NEXT: Running pass: AMDGPUUseNativeCallsPass on empty (1 instruction) +; GCN-O3-NEXT: Running pass: AMDGPUSimplifyLibCallsPass on empty (1 instruction) +; GCN-O3-NEXT: Running analysis: AAManager on empty +; GCN-O3-NEXT: Running analysis: TargetLibraryAnalysis on empty +; GCN-O3-NEXT: Running analysis: BasicAA on empty +; GCN-O3-NEXT: Running analysis: AssumptionAnalysis on empty +; GCN-O3-NEXT: Running analysis: TargetIRAnalysis on empty +; GCN-O3-NEXT: Running analysis: DominatorTreeAnalysis on empty +; GCN-O3-NEXT: Running analysis: ScopedNoAliasAA on empty +; GCN-O3-NEXT: Running analysis: TypeBasedAA on empty +; GCN-O3-NEXT: Running analysis: OuterAnalysisManagerProxy on empty +; GCN-O3-NEXT: Running analysis: AMDGPUAA on empty +; GCN-O3-NEXT: Running pass: InferFunctionAttrsPass on [module] +; GCN-O3-NEXT: Running pass: CoroEarlyPass on [module] +; GCN-O3-NEXT: Running pass: LowerExpectIntrinsicPass on empty (1 instruction) +; GCN-O3-NEXT: Running pass: SimplifyCFGPass on empty (1 instruction) +; GCN-O3-NEXT: Running pass: SROAPass on empty (1 instruction) +; GCN-O3-NEXT: Running pass: EarlyCSEPass on empty (1 instruction) +; GCN-O3-NEXT: Running pass: CallSiteSplittingPass on empty (1 instruction) +; GCN-O3-NEXT: Invalidating analysis: DominatorTreeAnalysis on empty +; GCN-O3-NEXT: Invalidating analysis: BasicAA on empty +; GCN-O3-NEXT: Invalidating analysis: AAManager on empty +; GCN-O3-NEXT: Running pass: OpenMPOptPass on [module] +; GCN-O3-NEXT: Running pass: AMDGPUPrintfRuntimeBindingPass on [module] +; GCN-O3-NEXT: Running pass: AMDGPUUnifyMetadataPass on [module] +; GCN-O3-NEXT: Running pass: IPSCCPPass on [module] +; GCN-O3-NEXT: Running analysis: DominatorTreeAnalysis on empty +; GCN-O3-NEXT: Running pass: CalledValuePropagationPass on [module] +; GCN-O3-NEXT: Running pass: GlobalOptPass on [module] +; GCN-O3-NEXT: Running pass: PromotePass on empty (1 instruction) +; GCN-O3-NEXT: Running pass: InstCombinePass on empty (1 instruction) +; GCN-O3-NEXT: Running analysis: OptimizationRemarkEmitterAnalysis on empty +; GCN-O3-NEXT: Running analysis: AAManager on empty +; GCN-O3-NEXT: Running analysis: BasicAA on empty +; GCN-O3-NEXT: Running pass: SimplifyCFGPass on empty (1 instruction) +; GCN-O3-NEXT: Invalidating analysis: DominatorTreeAnalysis on empty +; GCN-O3-NEXT: Invalidating analysis: BasicAA on empty +; GCN-O3-NEXT: Invalidating analysis: AAManager on empty +; GCN-O3-NEXT: Running pass: ModuleInlinerWrapperPass on [module] +; GCN-O3-NEXT: Running analysis: InlineAdvisorAnalysis on [module] +; GCN-O3-NEXT: Running pass: RequireAnalysisPass> on [module] +; GCN-O3-NEXT: Running analysis: GlobalsAA on [module] +; GCN-O3-NEXT: Running analysis: CallGraphAnalysis on [module] +; GCN-O3-NEXT: Running pass: InvalidateAnalysisPass on empty (1 instruction) +; GCN-O3-NEXT: Running pass: RequireAnalysisPass> on [module] +; GCN-O3-NEXT: Running analysis: ProfileSummaryAnalysis on [module] +; GCN-O3-NEXT: Running analysis: InnerAnalysisManagerProxy on [module] +; GCN-O3-NEXT: Running analysis: LazyCallGraphAnalysis on [module] +; GCN-O3-NEXT: Running analysis: FunctionAnalysisManagerCGSCCProxy on (empty) +; GCN-O3-NEXT: Running analysis: OuterAnalysisManagerProxy on (empty) +; GCN-O3-NEXT: Running pass: DevirtSCCRepeatedPass on (empty) (1 node) +; GCN-O3-NEXT: Running pass: InlinerPass on (empty) (1 node) +; GCN-O3-NEXT: Running pass: InlinerPass on (empty) (1 node) +; GCN-O3-NEXT: Running pass: PostOrderFunctionAttrsPass on (empty) (1 node) +; GCN-O3-NEXT: Running pass: ArgumentPromotionPass on (empty) (1 node) +; GCN-O3-NEXT: Running pass: OpenMPOptCGSCCPass on (empty) (1 node) +; GCN-O3-NEXT: Running pass: AMDGPUPromoteKernelArgumentsPass on empty (1 instruction) +; GCN-O3-NEXT: Running analysis: MemorySSAAnalysis on empty +; GCN-O3-NEXT: Running analysis: DominatorTreeAnalysis on empty +; GCN-O3-NEXT: Running analysis: AAManager on empty +; GCN-O3-NEXT: Running analysis: BasicAA on empty +; GCN-O3-NEXT: Running pass: InferAddressSpacesPass on empty (1 instruction) +; GCN-O3-NEXT: Running pass: AMDGPULowerKernelAttributesPass on empty (1 instruction) +; GCN-O3-NEXT: Running pass: AMDGPUPromoteAllocaToVectorPass on empty (1 instruction) +; GCN-O3-NEXT: Running pass: SROAPass on empty (1 instruction) +; GCN-O3-NEXT: Running pass: EarlyCSEPass on empty (1 instruction) +; GCN-O3-NEXT: Running pass: SpeculativeExecutionPass on empty (1 instruction) +; GCN-O3-NEXT: Running pass: JumpThreadingPass on empty (1 instruction) +; GCN-O3-NEXT: Running pass: CorrelatedValuePropagationPass on empty (1 instruction) +; GCN-O3-NEXT: Running analysis: LazyValueAnalysis on empty +; GCN-O3-NEXT: Invalidating analysis: LazyValueAnalysis on empty +; GCN-O3-NEXT: Running pass: SimplifyCFGPass on empty (1 instruction) +; GCN-O3-NEXT: Running pass: InstCombinePass on empty (1 instruction) +; GCN-O3-NEXT: Running pass: AggressiveInstCombinePass on empty (1 instruction) +; GCN-O3-NEXT: Running pass: ConstraintEliminationPass on empty (1 instruction) +; GCN-O3-NEXT: Running pass: LibCallsShrinkWrapPass on empty (1 instruction) +; GCN-O3-NEXT: Running pass: TailCallElimPass on empty (1 instruction) +; GCN-O3-NEXT: Running pass: SimplifyCFGPass on empty (1 instruction) +; GCN-O3-NEXT: Running pass: ReassociatePass on empty (1 instruction) +; GCN-O3-NEXT: Running pass: LoopSimplifyPass on empty (1 instruction) +; GCN-O3-NEXT: Running analysis: LoopAnalysis on empty +; GCN-O3-NEXT: Running pass: LCSSAPass on empty (1 instruction) +; GCN-O3-NEXT: Running pass: SimplifyCFGPass on empty (1 instruction) +; GCN-O3-NEXT: Running pass: InstCombinePass on empty (1 instruction) +; GCN-O3-NEXT: Running pass: LoopSimplifyPass on empty (1 instruction) +; GCN-O3-NEXT: Running pass: LCSSAPass on empty (1 instruction) +; GCN-O3-NEXT: Running pass: SROAPass on empty (1 instruction) +; GCN-O3-NEXT: Running pass: VectorCombinePass on empty (1 instruction) +; GCN-O3-NEXT: Running pass: MergedLoadStoreMotionPass on empty (1 instruction) +; GCN-O3-NEXT: Running pass: GVNPass on empty (1 instruction) +; GCN-O3-NEXT: Running analysis: MemoryDependenceAnalysis on empty +; GCN-O3-NEXT: Running pass: SCCPPass on empty (1 instruction) +; GCN-O3-NEXT: Running pass: BDCEPass on empty (1 instruction) +; GCN-O3-NEXT: Running analysis: DemandedBitsAnalysis on empty +; GCN-O3-NEXT: Running pass: InstCombinePass on empty (1 instruction) +; GCN-O3-NEXT: Running pass: JumpThreadingPass on empty (1 instruction) +; GCN-O3-NEXT: Running pass: CorrelatedValuePropagationPass on empty (1 instruction) +; GCN-O3-NEXT: Running analysis: LazyValueAnalysis on empty +; GCN-O3-NEXT: Invalidating analysis: LazyValueAnalysis on empty +; GCN-O3-NEXT: Running pass: ADCEPass on empty (1 instruction) +; GCN-O3-NEXT: Running analysis: PostDominatorTreeAnalysis on empty +; GCN-O3-NEXT: Running pass: MemCpyOptPass on empty (1 instruction) +; GCN-O3-NEXT: Running pass: DSEPass on empty (1 instruction) +; GCN-O3-NEXT: Running pass: MoveAutoInitPass on empty (1 instruction) +; GCN-O3-NEXT: Running pass: LoopSimplifyPass on empty (1 instruction) +; GCN-O3-NEXT: Running pass: LCSSAPass on empty (1 instruction) +; GCN-O3-NEXT: Running pass: CoroElidePass on empty (1 instruction) +; GCN-O3-NEXT: Running pass: SimplifyCFGPass on empty (1 instruction) +; GCN-O3-NEXT: Running pass: InstCombinePass on empty (1 instruction) +; GCN-O3-NEXT: Invalidating analysis: DominatorTreeAnalysis on empty +; GCN-O3-NEXT: Invalidating analysis: BasicAA on empty +; GCN-O3-NEXT: Invalidating analysis: AAManager on empty +; GCN-O3-NEXT: Invalidating analysis: MemorySSAAnalysis on empty +; GCN-O3-NEXT: Invalidating analysis: LoopAnalysis on empty +; GCN-O3-NEXT: Invalidating analysis: MemoryDependenceAnalysis on empty +; GCN-O3-NEXT: Invalidating analysis: DemandedBitsAnalysis on empty +; GCN-O3-NEXT: Invalidating analysis: PostDominatorTreeAnalysis on empty +; GCN-O3-NEXT: Running pass: PostOrderFunctionAttrsPass on (empty) (1 node) +; GCN-O3-NEXT: Running analysis: AAManager on empty +; GCN-O3-NEXT: Running analysis: BasicAA on empty +; GCN-O3-NEXT: Running analysis: DominatorTreeAnalysis on empty +; GCN-O3-NEXT: Running pass: RequireAnalysisPass> on empty (1 instruction) +; GCN-O3-NEXT: Running analysis: ShouldNotRunFunctionPassesAnalysis on empty +; GCN-O3-NEXT: Running pass: CoroSplitPass on (empty) (1 node) +; GCN-O3-NEXT: Invalidating analysis: CallGraphAnalysis on [module] +; GCN-O3-NEXT: Running pass: InvalidateAnalysisPass on empty (1 instruction) +; GCN-O3-NEXT: Invalidating analysis: ShouldNotRunFunctionPassesAnalysis on empty +; GCN-O3-NEXT: Invalidating analysis: InlineAdvisorAnalysis on [module] +; GCN-O3-NEXT: Running pass: DeadArgumentEliminationPass on [module] +; GCN-O3-NEXT: Running pass: CoroCleanupPass on [module] +; GCN-O3-NEXT: Running pass: GlobalOptPass on [module] +; GCN-O3-NEXT: Running pass: GlobalDCEPass on [module] +; GCN-O3-NEXT: Running pass: EliminateAvailableExternallyPass on [module] +; GCN-O3-NEXT: Running pass: ReversePostOrderFunctionAttrsPass on [module] +; GCN-O3-NEXT: Running pass: RecomputeGlobalsAAPass on [module] +; GCN-O3-NEXT: Running analysis: CallGraphAnalysis on [module] +; GCN-O3-NEXT: Running pass: Float2IntPass on empty (1 instruction) +; GCN-O3-NEXT: Running pass: LowerConstantIntrinsicsPass on empty (1 instruction) +; GCN-O3-NEXT: Running pass: ControlHeightReductionPass on empty (1 instruction) +; GCN-O3-NEXT: Running pass: LoopSimplifyPass on empty (1 instruction) +; GCN-O3-NEXT: Running analysis: LoopAnalysis on empty +; GCN-O3-NEXT: Running pass: LCSSAPass on empty (1 instruction) +; GCN-O3-NEXT: Running pass: LoopDistributePass on empty (1 instruction) +; GCN-O3-NEXT: Running analysis: ScalarEvolutionAnalysis on empty +; GCN-O3-NEXT: Running analysis: LoopAccessAnalysis on empty +; GCN-O3-NEXT: Running pass: InjectTLIMappings on empty (1 instruction) +; GCN-O3-NEXT: Running pass: LoopVectorizePass on empty (1 instruction) +; GCN-O3-NEXT: Running pass: LoopLoadEliminationPass on empty (1 instruction) +; GCN-O3-NEXT: Running pass: InstCombinePass on empty (1 instruction) +; GCN-O3-NEXT: Running pass: SimplifyCFGPass on empty (1 instruction) +; GCN-O3-NEXT: Running pass: SLPVectorizerPass on empty (1 instruction) +; GCN-O3-NEXT: Running analysis: DemandedBitsAnalysis on empty +; GCN-O3-NEXT: Running pass: VectorCombinePass on empty (1 instruction) +; GCN-O3-NEXT: Running pass: InstCombinePass on empty (1 instruction) +; GCN-O3-NEXT: Running pass: LoopUnrollPass on empty (1 instruction) +; GCN-O3-NEXT: Running pass: WarnMissedTransformationsPass on empty (1 instruction) +; GCN-O3-NEXT: Running pass: SROAPass on empty (1 instruction) +; GCN-O3-NEXT: Running pass: InstCombinePass on empty (1 instruction) +; GCN-O3-NEXT: Running pass: LoopSimplifyPass on empty (1 instruction) +; GCN-O3-NEXT: Running pass: LCSSAPass on empty (1 instruction) +; GCN-O3-NEXT: Running pass: AlignmentFromAssumptionsPass on empty (1 instruction) +; GCN-O3-NEXT: Running pass: LoopSinkPass on empty (1 instruction) +; GCN-O3-NEXT: Running pass: InstSimplifyPass on empty (1 instruction) +; GCN-O3-NEXT: Running pass: DivRemPairsPass on empty (1 instruction) +; GCN-O3-NEXT: Running pass: TailCallElimPass on empty (1 instruction) +; GCN-O3-NEXT: Running pass: SimplifyCFGPass on empty (1 instruction) +; GCN-O3-NEXT: Invalidating analysis: DominatorTreeAnalysis on empty +; GCN-O3-NEXT: Invalidating analysis: BasicAA on empty +; GCN-O3-NEXT: Invalidating analysis: AAManager on empty +; GCN-O3-NEXT: Invalidating analysis: LoopAnalysis on empty +; GCN-O3-NEXT: Invalidating analysis: ScalarEvolutionAnalysis on empty +; GCN-O3-NEXT: Invalidating analysis: LoopAccessAnalysis on empty +; GCN-O3-NEXT: Invalidating analysis: DemandedBitsAnalysis on empty +; GCN-O3-NEXT: Running pass: GlobalDCEPass on [module] +; GCN-O3-NEXT: Running pass: ConstantMergePass on [module] +; GCN-O3-NEXT: Running pass: CGProfilePass on [module] +; GCN-O3-NEXT: Running pass: RelLookupTableConverterPass on [module] +; GCN-O3-NEXT: Running pass: AnnotationRemarksPass on empty (1 instruction) + +define void @empty() { + ret void +}