The `SPIRVStripConvergenceIntrinsic` pass was written as a spirv pass as it is the currently the only target that emits convergence tokens during codegen. There is nothing target specific to the pass, and, we plan to emit convergence tokens when targeting DirectX (and all targets in general), so move the pass to a common place. The previous pass used temporary `Undef`s, as part of moving the pass we can simply reverse the traverse order to remove the use of `Undef` as it is deprecated. Enables the pass for targeting DirectX and is a pre-req for: https://github.com/llvm/llvm-project/pull/188792. Assisted by: Github Copilot
112 lines
2.3 KiB
CMake
112 lines
2.3 KiB
CMake
add_llvm_component_library(LLVMTransformUtils
|
|
AddDiscriminators.cpp
|
|
AMDGPUEmitPrintf.cpp
|
|
ASanStackFrameLayout.cpp
|
|
AssumeBundleBuilder.cpp
|
|
BasicBlockUtils.cpp
|
|
BreakCriticalEdges.cpp
|
|
BuildLibCalls.cpp
|
|
BypassSlowDivision.cpp
|
|
CallPromotionUtils.cpp
|
|
CallGraphUpdater.cpp
|
|
CanonicalizeAliases.cpp
|
|
CanonicalizeFreezeInLoops.cpp
|
|
CloneFunction.cpp
|
|
CloneModule.cpp
|
|
CodeExtractor.cpp
|
|
CodeLayout.cpp
|
|
CodeMoverUtils.cpp
|
|
ControlFlowUtils.cpp
|
|
CtorUtils.cpp
|
|
CountVisits.cpp
|
|
Debugify.cpp
|
|
DebugSSAUpdater.cpp
|
|
DeclareRuntimeLibcalls.cpp
|
|
DemoteRegToStack.cpp
|
|
DXILUpgrade.cpp
|
|
EntryExitInstrumenter.cpp
|
|
EscapeEnumerator.cpp
|
|
Evaluator.cpp
|
|
FixIrreducible.cpp
|
|
FlattenCFG.cpp
|
|
FunctionComparator.cpp
|
|
FunctionImportUtils.cpp
|
|
GlobalStatus.cpp
|
|
GuardUtils.cpp
|
|
HelloWorld.cpp
|
|
InlineFunction.cpp
|
|
InjectTLIMappings.cpp
|
|
InstructionNamer.cpp
|
|
Instrumentation.cpp
|
|
IntegerDivision.cpp
|
|
IRNormalizer.cpp
|
|
LCSSA.cpp
|
|
LibCallsShrinkWrap.cpp
|
|
Local.cpp
|
|
LoopConstrainer.cpp
|
|
LoopPeel.cpp
|
|
LoopRotationUtils.cpp
|
|
LoopSimplify.cpp
|
|
LoopUnroll.cpp
|
|
LoopUnrollAndJam.cpp
|
|
LoopUnrollRuntime.cpp
|
|
LoopUtils.cpp
|
|
LoopVersioning.cpp
|
|
LowerAtomic.cpp
|
|
LowerGlobalDtors.cpp
|
|
LowerIFunc.cpp
|
|
LowerInvoke.cpp
|
|
LowerMemIntrinsics.cpp
|
|
LowerSwitch.cpp
|
|
LowerVectorIntrinsics.cpp
|
|
MatrixUtils.cpp
|
|
MemoryOpRemark.cpp
|
|
MemoryTaggingSupport.cpp
|
|
Mem2Reg.cpp
|
|
MetaRenamer.cpp
|
|
MisExpect.cpp
|
|
ModuleUtils.cpp
|
|
MoveAutoInit.cpp
|
|
NameAnonGlobals.cpp
|
|
PredicateInfo.cpp
|
|
ProfileVerify.cpp
|
|
PromoteMemoryToRegister.cpp
|
|
RelLookupTableConverter.cpp
|
|
ScalarEvolutionExpander.cpp
|
|
SCCPSolver.cpp
|
|
StripConvergenceIntrinsics.cpp
|
|
StripGCRelocates.cpp
|
|
SSAUpdater.cpp
|
|
SSAUpdaterBulk.cpp
|
|
SampleProfileInference.cpp
|
|
SampleProfileLoaderBaseUtil.cpp
|
|
SanitizerStats.cpp
|
|
SimplifyCFG.cpp
|
|
SimplifyIndVar.cpp
|
|
SimplifyLibCalls.cpp
|
|
SizeOpts.cpp
|
|
SplitModule.cpp
|
|
SplitModuleByCategory.cpp
|
|
StripNonLineTableDebugInfo.cpp
|
|
SymbolRewriter.cpp
|
|
UnifyFunctionExitNodes.cpp
|
|
UnifyLoopExits.cpp
|
|
Utils.cpp
|
|
ValueMapper.cpp
|
|
VNCoercion.cpp
|
|
|
|
ADDITIONAL_HEADER_DIRS
|
|
${LLVM_MAIN_INCLUDE_DIR}/llvm/Transforms
|
|
${LLVM_MAIN_INCLUDE_DIR}/llvm/Transforms/Utils
|
|
|
|
DEPENDS
|
|
intrinsics_gen
|
|
|
|
LINK_COMPONENTS
|
|
Analysis
|
|
Core
|
|
ProfileData
|
|
Support
|
|
TargetParser
|
|
)
|